逻辑卷(LVM)是在硬盘分区和文件系统之间添加的一个逻辑层,为文件系统屏蔽下层硬盘分区部局,并提供一个抽象的盘卷,在盘卷上建立文件系统。可以利用LVM在硬盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越物理硬盘。当服务器添加新的硬盘后,管理员不必将原有的文件移动到新的硬盘上,而是通过LVM直接扩展文件系统来跨越物理硬盘
在Debian系统中使用lvs
命令,如果找不到,说明未安装LVM系统,使用sudo apt-get install lvm2
命令进行安装,CentOS一般默认安装LVM
创建分区
使用fdisk -l
命令查看现有硬盘信息
发现有一个vdb硬盘未创建分区,为其创建3个分区,大小分别是10G、13G、27G,使用fdisk /dev/vdb
命令
再次使用fdisk -l
命令查看硬盘及分区信息,发现vdb硬盘下已有3个分区
创建物理卷
CentOS7以上系统,在创建卷组时会自动创建物理卷,可以省略此步骤
1 | pvcreate /dev/vdb1 /dev/vdb2 /dev/vdb3 |
创建卷组
将3个分区中的1和2分区纳入到卷组中,卷组中共23G空间
1 | vgcreate vg1 /dev/vdb1 /dev/vdb2 |
创建卷组时并不是只能指定分区,可以直接使用硬盘,如:vgcreate vg1 /dev/vdb
,并且CentOS7以上的系统可以在创建卷组时自动创建物理卷,可以跳过创建物理卷的过程。例如
创建逻辑卷
1 | lvcreate -L 10G -n lv1 vg1 |
逻辑卷大小10G,逻辑卷名是lv1,从vg1卷组中创建
如果要把卷组中所有的容量加入到逻辑卷中,使用如下命令:
1 | lvcreate -l 100%FREE -n lv1 vg1 |
为逻辑卷创建文件系统
1 | mkfs.xfs /dev/vg1/lv1 |
如果提示命令不存在,那么请安装xfs文件系统
1 | sudo apt-get install xfsprogs |
挂载逻辑卷
1 | mount /dev/vg1/lv1 /mnt/test |
开机自动挂载
/etc/fstab
用于存放文件系统信息,当系统启动时,系统会自动读取文件内容将指定的文件系统挂载到指定的目录
1 | /dev/vg1/lv1 /mnt/test xfs defaults 0 0 |
第一个字段:要挂载的设备路径
第二个字段:挂载点目录
第三个字段:设备文件系统类型
第四、五、六个字段,不知道什么意思,直接填写即可…
填写完成后测试内容是否正确:
将逻辑卷卸载
1
umount /mnt/test
依照配置文件
/etc/fstab
的数据将所有未挂载的磁盘都挂载上来1
mount -a
查看是否重新挂载
1
df -Th
扩展逻辑卷
逻辑卷的空间来源于卷组,当卷组有足够的空间时,才可以扩展逻辑卷。卷组中一共有23G空间,lv1占用了10G,可以扩展
1 | lvextend -L +5G /dev/vg1/lv1 |
同样,如果将卷组中剩余的所有空间都扩展到逻辑卷中,使用如下命令:
1 | lvextend -l +100%FREE /dev/vg1/lv1 |
使用lvs
查看,发现逻辑卷已有15G空间
此时我们查看文件系统大小,仍然是10G
这种情况需要扩展文件系统
1 | xfs_growfs /mnt/test |
扩展卷组
卷组的空间来源于物理分区或者物理硬盘,当卷组没有足够空间提供给逻辑卷时,须扩容卷组。我们之前把vdb1和vdb2两个分区加入到卷组,现在我们把vdb3扩展到卷组中
1 | vgextend vg1 /dev/vdb3 |
删除逻辑卷
逻辑卷的删除不允许联机操作,需要先卸载,再执行删除
删除顺序:先删除逻辑卷,再删除卷组,最后删除物理卷
卸载
1 | umount /mnt/test |
删除逻辑卷
1 | lvremove /dev/vg1/lv1 |
删除卷组
1 | vgremove vg1 |