Centos7的磁盘管理包括添加磁盘、查看磁盘信息、磁盘分区、格式化、挂载和卸载,逻辑卷管理等。
对分区后的磁盘格式化比较简单,执行mkfs命令即可;而挂载可以使用的分区执行mount命令很方便地完成。本文仅讨论新添加磁盘的分区操作。
一、添加磁盘
可在虚拟机中添加一定大小的磁盘。详细操作可参考文章《Linux centos系统中添加磁盘》。
二、查看磁盘
1.ll /dev/sd*
查看所有磁盘
不带数字的为磁盘,带数字的为磁盘的分区
2.fdisk -l
查看所有磁盘的分区情况
3.parted -l
查看所有磁盘的分区情况
4.lsblk
查看块设备
5.cat /proc/partitions
查看块设备的分区及块信息
6.stat /dev/sd*
查看磁盘及分区详细信息
7.partprobe –s
手动将分区信息同步到内核,而且一般推荐连续两次执行该命令,效果会更好
三、磁盘分区
添加的新磁盘,不能直接使用。一是磁盘大容量时需要分割为多个分区方便调节与使用,二是需要格式化,创建文件系统。
本文重点讨论磁盘分区。其主要分区步骤:(1)先找出当前有哪些磁盘lsblk或blkid(也就是确定是sda还是vda等等)(2)再找出分区表类型parted /dev/xxx print(是MBR还是GPT)(3)如果是MBR则采用fdisk /dev/xxx 进行磁盘分区,如果是GPT则采用gdisk /dev/xxx 进行磁盘分区(4)分区后用partprobe更新kernel分区表(5)磁盘进行格式化mkfs
PS:新添加的磁盘是没有分区表类型的,可以通过parted命令设置。一般小于2T设置为MBR,大于2T必须是GPT。
1.查看哪些磁盘未分区
前面的查看命令都可以试一下。推荐使用partprobe –s,既可以查看未分区磁盘,还可以看到分区表类型
2.fdisk
为了讨论分区过程,我们先对/dev/sdb分为4个主分区。随后再演示一下删除分区,设置/dev/sdb分为3个主分区,1个扩展分区(其中再分2个逻辑分区)
a. fdisk /dev/sdb
命令执行后,显示欢迎界面及提示,后续的操作都是单字母命令(录入单个字母)
输入m,看到如下帮助信息
Command | action |
a | toggle a bootable flag |
b | edit bsd disklabel |
c | toggle the dos compatibility flag |
d | delete a partition 注:这是删除一个分区的操作 |
l | list known partition types 注:l是列出分区类型,供我们设置相应分区的类型 |
m | print this menu 注:m 是打印显示这个菜单 |
n | add a new partition 注:添加一个分区 |
o | create a new empty DOS partition table |
p | print the partition table 注:p列出分区表 |
q | quit without saving changes 注:不保存退出 |
s | create a new empty Sun disklabel |
t | change a partition's system id 注:t 改变分区类型 |
u | change display/entry units |
v | verify the partition table |
w | write table to disk and exit 注:把分区表写入硬盘并退出 |
x | extra functionality (experts only) 注:扩展应用,专家功能 |
具体每个参数的含义,请仔细阅读。常用的就是:n d l m p q t w
b.p
打印分区表(因还没有分区,只有一个表头)
c.n
新建一个分区
查看英语提示,可以让我们选择分区类型:p(主分区) e(扩展分区),默认p主分区
采用默认设置,第1个主分区,默认起始扇区,结束扇区为指定分区大小为5G,就录入+5G,回车完成第一个主分区创建。
再次打印,可看到分区信息:
其中,分区id默认是83,指linux。如查看id列表,可录入l;
如设置id为8e,指linux lvm,可以录入t,再录入8e
再次查看
d.重复n命令
执行一次n命令,可以创建一个分区。
在设置结束扇区时,要有+(主要是方便操作,直接写扇区数值也是可以的,但不易计算)。
我们可以分别设置第2个主分区500M,第3个主分区200M,第4个主分区为最后剩余的扇区。
PS:当进行第4次n命令时,系统默认是e(扩展分区)要注意选择或修改。后续的操作一律默认回车。
e.扩展训练
我们可以录入w保存后退出。也可以修改而改变分区。
我们录入d,删除第4个主分区:
再次执行n命令,创建一个扩展分区:
再次打印信息,可以看到扩展分区:
再执行n命令,将创建一个逻辑分区(2G)
第4个分区的起始扇区与第5个分区的起始扇区相差不大,说明扩展分区仅占很少的扇区,只是存储逻辑分区的信息。
再次执行n命令,可把剩余空间创建为第6分区。
3.gdisk
通过前面的分区,执行partprobe –s命令可以看到相关信息:
对于小于2T的磁盘,也可以用gdisk进行分区。我们仅作部分截图,不再详细讨论。
此命令的帮助信息是执行?
我们只创建一个分区:
与fdisk不同的是:在创建过程中,提示设置GUID,相对方便。
4.parted
利用parted命令可以查看分区信息,也可以进行GPT分区。
对于此命令,我们也不作详细讨论。有兴趣的可查看相关手册。
因为Linux系统无法对没有格式化的磁盘进行读写操作,所以接下来还需要格式化创建好的分区。输入命令mkfs.xfs /dev/sdb1将其格式化为xfs文件系统格式,如果需要换成其他格式可以在敲完mkfs后再使用两次tab键来显示其他文件系统格式。
小结
给硬盘分区的过程主要步骤:
- 添加一块硬盘
- 给硬盘分区
- 重新读取分区表的信息(partprobe),给硬盘分完区之后使用
- 给分区进行格式化
- 给分区进行挂载
经过这几个步骤,我们的硬盘分区才可以正常使用。