lvm讲解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvm讲解相关的知识,希望对你有一定的参考价值。

首先来看一张图,
技术分享图片
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 命令,还有好多用法,这边就不多说了,毕竟用的很少,了解一下即可。

以上是关于lvm讲解的主要内容,如果未能解决你的问题,请参考以下文章

lvm讲解/磁盘故障小案例

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

lvm讲解

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

LVM简单讲解

LVM讲解