Linux 添加硬盘设备
fdisk命令用于管理磁盘分区,格式为:“fdisk [磁盘名称]”。
管理Linux系统中的硬盘设备最常用的方法就当属是用fdisk命令了,这条命令提供了添加、删除、转换分区等等功能于一身的“一站式分区服务”,不过这条命令的参数是交互式的,而不是像咱们以前直接写到命令后面的参数一样,因此在管理硬盘设备的时候特别方便,可以根据需求动态的调整。
| 参数 | 作用 |
| m | 查看全部可用的参数 |
| n | 添加新的分区 |
| d | 删除某个分区信息 |
| l | 列出所有可用的分区类型 |
| t | 改变某个分区的类型 |
| p | 查看分区表信息 |
| w | 保存并退出 |
| q | 不保存直接退出 |
一、添加磁盘分区
查看当前磁盘及分区情况:
[root@rhel7 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 8.5G 3.1G 5.5G 36% /
devtmpfs 986M 0 986M 0% /dev
tmpfs 1001M 84K 1001M 1% /dev/shm
tmpfs 1001M 8.7M 992M 1% /run
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
/dev/sda1 497M 140M 358M 29% /boot
tmpfs 201M 16K 201M 1% /run/user/42
tmpfs 201M 0 201M 0% /run/user/0
[root@rhel7 ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0006c4ff Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 20971519 9972736 8e Linux LVM Disk /dev/mapper/rhel-root: 9093 MB, 9093251072 bytes, 17760256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/rhel-swap: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes [root@rhel7 ~]#
从上面可以看出,第二块磁盘/dev/sdb共5368MB,并未使用。现在我们使用 fdisk 命令来将/dev/sdb划分出500MB,挂载到/lxjtest目录;然后再划分出200MB当作swap分区使用。
第1步:首先使用fdisk命令尝试管理/dev/sdb硬盘设备,看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,这其中包括了硬盘的容量大小,扇区个数等等信息:
[root@rhel7 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Device does not contain a recognized partition table ---磁盘未包括任何可用的分区
Building a new DOS disklabel with disk identifier 0x148e18c9. Command (m for help): p Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x148e18c9 Device Boot Start End Blocks Id System
第2步:输入参数n来尝试新建分区信息,系统会要求选择继续输入参数p来创建主分区,或者输入参数e来创建扩展分区,因此输入参数p来创建一个主分区:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
第3步:确认创建一个主分区后,系统要求您先输入分区的编号,既然已经知道主分区的编号范围是1-4,因此默认输入1就可以了,接下来系统会提示定义下起始的扇区,这一项默认不需要改动,系统会自动计算出最靠前空闲的扇区位置,咱们敲击一下回车就可以,最后系统会要求定义分区的结束扇区位置,这其实就是想要去定义下整个分区的大小是多少,但其实不用去算扇区的个数,只需要输入+500M即可创建出一个容量为500MB的硬盘分区。
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +500M
Partition 1 of type Linux and of size 500 MiB is set
第4步:再次使用参数p来查看下硬盘设备中的分区信息,果然就能看到一个名称为/dev/sdb1,起始扇区为2048,结束扇区是1026047的分区啦,这时候千万不要直接关闭窗口,而应该敲击参数w后回车,这样分区信息才是真正的写入成功啦。
Command (m for help): p Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x148e18c9 Device Boot Start End Blocks Id System
/dev/sdb1 2048 1026047 512000 83 Linux Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.
[root@rhel7 ~]#
第5步:当做完上面所说的所有步骤后,Linux系统会自动把这个硬盘分区抽象成/dev/sdb1这个设备文件,可以用file命令来看到这个文件的属性。有些时候系统并没有自动的把分区信息同步给Linux内核,也可以输入partprobe命令来手动的同步信息到内核,而且一般推荐敲击两次会效果更佳,但一旦遇到连这个命令都不能解决的时候,那么就重启计算机吧。
[root@rhel7 ~]# file /dev/sdb1
/dev/sdb1: block special
使用mkfs格式化/dev/sdb1分区。
[root@rhel7 ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@rhel7 ~]#
接下来就可以挂载使用了。
[root@rhel7 ~]# mkdir /lxjtest
[root@rhel7 ~]# mount /dev/sdb1 /lxjtest/
[root@rhel7 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 8.5G 3.1G 5.5G 36% /
devtmpfs 986M 0 986M 0% /dev
tmpfs 1001M 84K 1001M 1% /dev/shm
tmpfs 1001M 8.7M 992M 1% /run
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
/dev/sda1 497M 140M 358M 29% /boot
tmpfs 201M 16K 201M 1% /run/user/42
tmpfs 201M 0 201M 0% /run/user/0
/dev/sdb1 497M 26M 472M 6% /lxjtest
使用mount命令挂载的设备文件会在下一次重启的时候失效,因此如果您还想让这个设备文件的挂载永久的有效下去,需要把挂载的信息项目写入到配置文件才可以:
[root@rhel7 ~]# vi /etc/fstab #
# /etc/fstab
# Created by anaconda on Wed Jul 5 03:56:47 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=4f396f9a-467e-4472-a654-836f2dc7d6ca /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb1 /lxjtest xfs defaults 0 0
二、添加交换分区
SWAP交换分区是一种类似于Windows系统虚拟内存的功能,通过把一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况。但由于SWAP毕竟是用硬盘资源虚拟的,速度上比真实物理内存要慢很多,所以一般只有当真实物理内存耗尽时才会调用SWAP交换分区,把内存中暂时不常用的数据临时存放到硬盘中,腾出内存空间让更活跃的程序服务来使用。
第1步:SWAP交换分区的创建过程非常类似于上一个小节所讲到的分区设备挂载使用的方法,首先第一步就是再进行对/dev/sdb存储设备分区操作,取出一个大小为200MB的主存储分区然后保存退出即可:
[root@rhel7 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (1026048-10485759, default 1026048):
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-10485759, default 10485759): +200M
Partition 2 of type Linux and of size 200 MiB is set Command (m for help): p Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x148e18c9 Device Boot Start End Blocks Id System
/dev/sdb1 2048 1026047 512000 83 Linux
/dev/sdb2 1026048 1435647 204800 83 Linux Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@rhel7 ~]# partprobe 执行该命令将分区信息同步到内核
第2步:把新建的存储分区使用SWAP交换分区专用的格式化mkswap命令进行格式化操作:
[root@rhel7 ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 204796 KiB
no label, UUID=4746286f-4680-4a05-878d-118fff5904ac
第3步:接下来使用swapon命令把准备好的SWAP交换分区设备正式的挂载到系统中,并可以使用free -m 命令来看到交换分区大小的变化(由1023M提升至了1223M):
[root@rhel7 ~]# free -m
total used free shared buff/cache available
Mem: 2000 259 1398 8 342 1578
Swap: 1023 0 1023
[root@rhel7 ~]# swapon /dev/sdb2
[root@rhel7 ~]# free -m
total used free shared buff/cache available
Mem: 2000 259 1398 8 342 1578
Swap: 1223 0 1223
第4步:为了能够让新的SWAP交换分区设备在重启后依然生效,需要按照下面的格式写入到配置文件中。
[root@rhel7 ~]# vi /etc/fstab #
# /etc/fstab
# Created by anaconda on Wed Jul 5 03:56:47 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=4f396f9a-467e-4472-a654-836f2dc7d6ca /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb1 /lxjtest xfs defaults 0 0
/dev/sdb2 swap swap defaults 0 0
Linux 添加硬盘设备的更多相关文章
- Linux添加硬盘创建新的逻辑卷方式
有同仁看了上文<Linux添加硬盘扩充已有分区存储空间方式>一文后,提出疑问,现在很多云服务器本来没有逻辑卷,添加数据盘后需要自行添加,如何处理? 此文将以某云服务器为例,详细进行解说. ...
- Linux 添加硬盘
一.简介 本文介绍为Linux 添加硬盘的基本方法,同时适用于为虚拟机添加硬盘的情况. 二.添加小于2T的硬盘 1)分区 fdisk /dev/hda 2)建立文件系统 3)设置开机自动挂载磁盘 ...
- Linux 添加硬盘并分区
Linux 添加硬盘并分区 *********************** 1.fdisk /dev/sdb 2.m //帮助 3.p // p 列出分区表 4.q //不保存退出: 5. ...
- Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)
当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...
- Linux添加硬盘和挂载
1.使用fdisk -l 查看硬盘的详细信息 分析: 2.分区初始化 fdisk /dev/sdb 分析:各个参数的解析 1. 输入 m 显示所有命令列示. 2. ...
- linux添加硬盘分区挂载教程
基本步骤:分区--格式化--挂载--写入文件 1.首先用fdisk -l命令查看添加的硬盘名称,可以看到sdb为新增的硬盘 [root@oracle ~]# fdisk -l Disk /dev/sd ...
- vmware下给linux添加硬盘
http://blog.csdn.net/robbie1314520/archive/2010/08/10/5802724.aspx 创建虚拟硬盘 1.关闭VM中正在运行的虚拟系统: 2.EDIT V ...
- vmware虚拟机linux添加硬盘后先分区再格式化操作方法
先在虚拟机里填加硬盘,如图. 进入linux后台,df-l ,没有显示sdc盘,更切换的是,在fdisk中,却有sdc 看fdisk -l,确实有sdc. 说明sdc还没有分区,也没有格式化,也没有挂 ...
- linux 添加硬盘找不到使用/sys/class/scsi_host/host/scan
添加磁盘到dg--首先通知存储管理员划分相应的盘到指定的机器,说明共享--扫描磁盘(两个节点执行)[root@testrac1 ~]# echo "- - -" > /sys ...
随机推荐
- Selenium2+python自动化55-unittest之装饰器(@classmethod)
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
- Myeclipse反编译插件(jad)的安装和使用
在开发过程中我们肯定会遇到这样的问题,当我们调试程序的时候,走到一个地方发现引用了一个第三方的东西,点进去一看,会出现一下的画面,没有源代码!!!! 这让人很头疼,今天给大家介绍一个Myeclipse ...
- [runtime] MAObjCRuntime
MAObjCRuntime 源码地址:(引入头文件MARTNSObject.h即可,非arc环境下) http://pan.baidu.com/s/1eQ6776U https://github.co ...
- Android之ListView和GridVIew加载图片
清除缓存:ImageLoader 对象 . clearCache(); 使用: ImageLoader loader = new ImageLoader(ApplicationContext cont ...
- Strings of Power
B. Strings of Power Volodya likes listening to heavy metal and (occasionally) reading. No wonder Vol ...
- 3D几何图形的生成算法
在之前的博客上,发布了一个我写的3D几何图形生成的DEMO: http://www.cnblogs.com/WhyEngine/p/3415040.html DEMO下载地址: http://file ...
- libjson 编译和使用 - 1. 编译
以下转自:http://blog.csdn.net/laogong5i0/article/details/8212511 最近想用box2dEdit来编辑一下比较复杂的图形然后倒入到自己有游戏里,但b ...
- 最小均方算法(LMS Algorithm)理论及DSP实现
LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器. 本文主要对LMS(Least Mean Sq ...
- C#线程同步与死锁Monitor
在上一讲介绍了使用lock来实现C#线程同步.实际上,这个lock是C#的一个障眼法,在C#编译器编译lock语句时,将其编译成了调用Monitor类.先看看下面的C#源代码: public stat ...
- Mongo读书笔记1 -- GridFS
一个Mongo文档最大4M. GridFS不依赖于MongoDB, 其他符合规范的驱动都可以访问它. GridFS包含两部分:一部分存储文件名和其他metadata; 另一部分存储实际的文件,通常 ...