之前一直对linux磁盘的相关命令不太熟练,所以今天下定决心对磁盘相关流程来一次实验和梳理,主要是完成两个动作:为Liunx添加新盘,为Linux已有磁盘扩容(参考了用户手册,这里就多写详细一些)。这里我用的是一台centos的操作系统。
为Linux添加新盘
添加新盘的大体流程与关键命令:
为虚拟机加盘; 为磁盘分区(fdisk); 将分区信息写入内核(partx); 为分区创建物理卷(pvcreate); 为物理卷创建卷组(vgcreate); 为卷组创建逻辑卷(lvcreate); 将逻辑卷格式化(mkfs); 新建文件夹用于挂载逻辑卷(mkdir); 将逻辑卷挂载到文件夹(mount); 配置开机挂载(写入fstab); 操作步骤:
编辑虚拟机为虚拟机新增一块120G的虚拟磁盘
进入虚拟机查看磁盘信息(lsblk),可以看到加的120G的磁盘
使用命令“fdisk /dev/vdb”进入磁盘分区动作,输入“p”查看无分区信息(无分区)。
输入“n”新建一个分区,“Select”输入“p”表示新建一个主分区,“Partition number”输入“1”表示分区编号为1,“First sector”敲回车使用默认值表示空闲的起始扇区,“Last sector”敲回车使用默认值表示磁盘最后一个扇区,输入“w”保存分区修改,大小为120G的分区创建完毕。
使用命令“partx -a /dev/vdb”将新的分区信息写入内核,使用lsblk查看磁盘可看到分区。
使用命令“pvcreate /dev/vdb1”创建物理卷vdb1,使用命令“vgcreate new /dev/vdb1”将vdb1创建为new的卷组,使用“lvcreate -l 100%FREE -n new_lv new”将卷组new的100%剩余空间创建为new_lv的逻辑卷。
创建完成,使用命令“lvs”查看已创建在“new”vg内名称为“new_lv”的lv。
使用命令“mkfs.ext4 /dev/mapper/new-new_lv”将逻辑卷格式化为ext4。
使用命令“mkdir /new”新增“new”文件夹。使用命令“mount /dev/mapper/new-new_lv /new”将新增的逻辑卷挂载到new文件夹下。使用命令“df-h”查看挂载成功。
使用命令“vi /etc/fstab ”编辑fstab文件,在最后一行写入“/dev/mapper/new-new_lv /new ext4 defaults 0 0”配置系统开机自动对目录进行挂载,保存并退出。
重启虚拟机,查看开机挂载是否成功
开机挂载成功,操作完成。
为Linux已有硬盘扩容
旧盘扩容的大体流程与关键命令:
为虚拟机磁盘加容量; 为磁盘新容量分区(fdisk); 将分区信息写入内核(partx); 为分区创建物理卷(pvcreate); 将物理卷加入到已有卷组(vgextent); 将卷组新加容量添加到逻辑卷(lvextent); 重新调整卷组大小(resize2fs);
操作步骤:
编辑刚才的虚拟机修改虚拟磁盘为140G
进入虚拟机使用命令“lsblk”,可以看到vdb实际上是有140G空间的,但只使用了120G空间。
使用命令“fdisk /dev/vdb”查看磁盘分区,可以看到有一个120G大小的vdb1分区。
输入“n”新建一个分区,“Select”输入“p”表示新建一个主分区,“Partition number”输入“2”表示分区编号为2,“First sector”敲回车使用默认值表示空闲的起始扇区,“Last sector”敲回车使用默认值表示磁盘最后一个扇区,输入“w”保存分区修改,大小为20G的分区创建完毕。
使用命令“partx -a /dev/vdb2”将新的分区信息写入内核。
使用命令“pvcreate /dev/vdb2”创建物理卷vdb1,使用命令“vgextend new /dev/vdb2”将vdb2添加到new的卷组,使用“lvextend -l +100%FREE /dev/mapper/new-new_lv”将卷组new的100%剩余空间添加到new_lv逻辑卷
使用命令“lvs”可以看到逻辑卷new_lv大小扩容为140G。
使用命令“resize2fs /dev/mapper/new-new_lv”调整卷组大小。
使用命令“df -h”查看new-new_lv卷大小为140G,扩容成功。
流程结束 |