首先来看一张图, Physical Volume 是物理卷的意思,Volume Group 是卷组的意思,Logical Volume 是逻辑卷的意思。 具体就是,先创建物理分区,物理分区再整合成卷组,卷组再划分成逻辑卷,然后再格式化,最后再挂载使用。 操作步骤如下:

1、准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别为 1G t 改变分区类型为 8e 以上,3个分区创建完毕。 使用命令 fdisk -l ,查看,见下图, 可以看到磁盘 /dev/sdb 的三个分区,全部为 LVM 类型。

2、准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay 列出当前的物理卷 pvs 也可查看 pvremove /dev/sdb3 删除物理卷 以下图片中的命令,不小心在 mnt 目录下完成,对于安装工具是不影响的, 上图显示,未找到命令,所以需要安装一下 LVM。 这边有个小技巧,未找到命令的时候,需要安装。如果我们忘记安装包的名字,可以根据命令来搜索,输入命令 yum provides "//pvcreate" ,回车,见下图, 可以看到安装包的名字是 lvm2 ,接着安装,见下图, 接下来创建物理卷,见下图, 这边会有一个小问题,显示没有找到分区 /dev/sdb1 ,查看磁盘的时候,都是有这三个分区的。这时候运行一下命令 partprobe ,回车,就会显示出分区了。接着往下做,以下图片操作恢复在 root 目录下, 以上,3个物理卷创建完毕。使用命令 pvdisplay 来查看一下, 可以查看到系统里面所有的物理卷。还有一个更直观的命令 pvs ,见下图,

3、创建卷组 vgcreate vg1 /dev/sdb1 /dev/sdb2 创建卷组 vg1 vgdisplay 列出当前的卷组 vgs 也可查看 vgremove vg1 删除卷组 先用两个物理卷来创建一个卷组 vg1 ,见下图,

4、创建逻辑卷 lvcreate -L 100M -n lv1 vg1 ,其中,-L 指定大小为100M,-n 指定名称为 lv1,从 vg1 中划分出来。见下图, 逻辑卷创建完毕,格式化成 ext 格式。

5、挂载使用 挂载完成后,使用命令 df -h 查看,会发现文件系统名称跟我们挂载的名称不太一样,两个文件都用命令 ls -l 查看之后,发现两个文件都是软链接文件,指向了同一个文件。 接下来的创建一个目录和一个文件,并且在文件上写入内容,见下图,

6、扩容逻辑卷 ext 文件系统格式操作: lvresize -L 200M /dev/vg1/lv1 重新设置卷大小 e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext执行) resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext执行) 直接执行命令 lvresize -L 200M /dev/vg1/lv1 ,不太合规范,正确的操作应该是先执行命令 umount /mnt/ ,再执行命令 lvresize -L 200M /dev/vg1/lv1 。接下来检查磁盘错误,输入命令 e2fsck -f /dev/vg1/lv1 ,结果没有问题。接着更新逻辑卷信息,输入命令 resize2fs /dev/vg1/lv1 ,如果不执行这一步操作,就没有办法在挂载的时候,识别新的大小。然后重新 mount ,再使用命令 df -h 查看,就可以看到文件系统 /dev/mapper/vg1-lv1 的容量变成 190M 了。接下来查看一下文件,见下图, 图中显示文件内容都还在,并不会因为扩容逻辑卷而丢失。

xfs 文件系统格式操作: 先卸载 /mnt/ ,再重新格式化文件系统为 xfs ,再挂载上去,查看 /mnt/ ,没有内容,创建 233.txt 文件,写入内容“aaaaa”。使用命令 lvs ,查看容量为 100M。 接着输入扩容命令 lvresize -L 300M /dev/vg1/lv1,这边与 ext 不一样的地方是,它不需要卸载。 见下图, 用 lvs 命令可以看到容量变成300M。接着用命令 df -h ,查看,发现文件并没有扩容到300M,此时还需要输入命令 xfs_growfs /dev/vg1/lv1 ,再次查看就能看到文件容量变成297M了,xfs文件系统需要执行这个命令才可以实现扩容。

7、缩减逻辑卷 ext 文件系统格式操作: 先 umount /mnt/ e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext) resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext) lvresize -L 100M /dev/vg1/lv1 重新设置卷大小 经过上面一系列步骤,逻辑卷成功缩减容量为 100M 。接着挂载一下,查看文件内容, 可以看出并不会因为缩容,导致文件丢失。如果文件本身超过100M的话,再做缩容处理,文件肯定会有问题的,所有前提是文件的容量不超过100M 。

8、扩展卷组 逻辑卷最大只能扩容到卷组大小,当逻辑卷容量使用饱和之后,就可以考虑扩容卷组。见下图, 使用命令 vgs 来查看卷组的容量是 2G,然后查看一下文件系统。就会发现实际上还有一个分区还没有使用,前面已经将 sdb1 和 sdb2 组合成一个卷组,而 sdb3 还空闲着。使用命令 vgextend vg1 /dev/sdb3 ,就可以将 sdb3 加入到卷组 vg1 中,再使用命令 vgdisplay ,可以看到卷组容量变成 3G了。接下来扩容卷组就可以了。

关于 lvm 命令,还有好多用法,这边就不多说了,毕竟用的很少,了解一下即可。