本文档描述 Linux 操作系统下多种场景下的磁盘操作情况。
fdisk和parted都是 Linux 系统中用于磁盘分区的工具。
两者的区别是:
LVM(Logical Volume Manager)逻辑卷管理器,是一种高级磁盘管理工具,可以帮忙用户对存储卷进行灵活的管理。使用LVM可以方便的扩展、缩小、移动逻辑卷,从而更好地利用存储资源。LVM通过将物理卷(Physical Volume)、卷组(Volume Group)、逻辑卷(Logical Volume)进行组合,形成一个灵活的存储管理系统。
fdisk -l
lsblk
blkid
例如:新增磁盘为/dev/sdb
# 查看磁盘fdisk -l# 分区fdisk /dev/sdb## (1) n 创建新分区## (2) p 选择主分区## (3) 填写分区号,回车选择默认## (4) 填写起始和结束扇区(不选择,表示剩余所有扇区,即所有剩余容量)## (5) p 查看现有分区## (6) w 写入磁盘# 格式化/sbin/mkfs.xfs -f -i size=2048 "/dev/sdb1"# 挂载mkdir -p /dataecho '/dev/sdb1 /data xfs defaults 0 0' >> /etc/fstabmount -a
注意:在未执行w写入磁盘之前,都可进行更改。
此操作与新增磁盘的操作一样,区别在于是使用新分区进行
# 查看磁盘fdisk -l# 分区fdisk /dev/sdb## (1) n 创建新分区## (2) p 选择主分区## (3) 填写分区号,回车选择默认## (4) 填写起始和结束扇区(不选择,表示剩余所有扇区,即所有剩余容量)## (5) p 查看现有分区## (6) w 写入磁盘# 格式化/sbin/mkfs.xfs -f -i size=2048 "/dev/sdb2"# 挂载mkdir -p /data2echo '/dev/sdb2 /data2 xfs defaults 0 0' >> /etc/fstabmount -a
上述示例中,/dev/sdb2(即/data2)只分配了 1G 空间,本例中需要对/dev/sdb2进行扩容。
注意:1. 本方法需要修改分区表,存在一定危险性,在操作前记得进行数据备份。
2. 本方法只适用于最后一个分区,特别是因为MBR分区表达到4个,无法继续创建分区的情况。
# 查看扩容目录数据ls -alh /data2/
# 取消挂载目录umount /data2# 查看磁盘,记住需要删除分区的起始和结束扇区fdisk -l# 分区fdisk /dev/sdb## (1) p 查看现有分区## (2) d 删除最后一个分区号## (3) p 查看现有分区## 此时只是逻辑删除,未执行w写入磁盘,数据仍然存在,误操作的话CTRL+C退出即可## (4) n 创建新分区## (5) p 选择主分区## (6) 填写分区号,回车选择默认## (7) 填写起始扇区## 重要:确认默认扇区号是否与删除前的一致。## 重要:一致的话,按回车## 重要:不一致的话,需要填写为删除前记录的起始扇区号## (8) 填写结束扇区(不选择,表示剩余所有扇区,即所有剩余容量)## (9) p 查看现有分区## (10) w 写入磁盘# 不重启重载分区partprobe# 挂载磁盘mount -a
此时发现磁盘仍然显示为原有大小,需要进行磁盘重载
LVM通过分区进行卷管理,所以分区创建部分,可参考标准磁盘管理部分内容。
例如:新分区为/dev/sdc1
# 创建物理卷pvcreate /dev/sdc1# 查看物理卷pvspvdisplay# 创建卷组vgcreate myvg /dev/sdc1# 查看卷组vgsvgdisplay# 创建逻辑卷lvcreate -n data -l +100%FREE myvg# 查看逻辑卷lvslvdisplay# 格式化/sbin/mkfs.xfs -f -i size=2048 "/dev/myvg/data"# 挂载mkdir -p /data3echo '/dev/mapper/myvg-data /data3 xfs defaults 0 0' >> /etc/fstabmount -a
例如:新分区为/dev/sdd1
# 创建物理卷pvcreate /dev/sdd1# 创建卷组vgextend myvg /dev/sdd1# 扩容逻辑卷lvextend -l +100%FREE /dev/myvg/data
此时发现磁盘仍然显示为原有大小,需要进行磁盘重载