LVM操作
传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
LVM使用分层结构,如下图所示。
图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。
首先查看disk
fdisk -l
创建LVM
1、将物理磁盘设备初始化为物理卷(PV)
例:初始化磁盘
sdb
和sdc
pvcreate /dev/sdb /dev/sdc
2、创建卷组(VG),并将PV加入卷组中
例:创建名为linuxcast的VG,并加入sdb和sdc这两个PV
vgcreate linuxcast /dev/sdb /dev/sdc
3、基于卷组(VG)创建逻辑卷(LV)
例:基于名为
linuxcast
的VG,创建名为mylv
的LV,大小为2Glvcreate -n mylv -L 2G linuxcast
4、为创建好的逻辑卷(LV)创建文件系统
mkfs.ext4 /dev/linuxcast/mylv
5、将格式化好的逻辑卷(LV)挂在(mount)使用
mount <LV_NAME> <FILE_DIRECOTRY>
mount /dev/linuxcast/mylv /mnt
查看LVM
查看物理卷(PV)信息
pvdisplay
:详细pvs
查看卷组(VG)信息
vgdisplay
:详细vgs
查看逻辑卷(LV)信息
lvdisplay
:详细lvs
删除LVM
删除LV:
删除linuxcastVG下的名为mylv的LV
lvremove /dev/linuxcast/mylv
删除VG
删除名为linuxcast的VG
vgremove linuxcast
删除物理卷(PV)
pvremove /dev/sdb
LVM的拉伸与缩小
LVM的拉伸操作可以在线执行(mount中),不需要卸载LVM
1,保证VG中有足够的空间
vgdisplay
2,扩充LVM
-L
:要增加的大小
lvextend -L +1G /dev/linuxcast/mylv
3,查看扩充后LV大小
lvdisplay
4,更新文件系统
resize2fs /dev/linuxcast/mylv
5,查看更新后文件系统
df -h
拉伸一个卷组(VG)
1,将要添加到VG的硬盘格式化为PV
把硬盘
sdd
格式化为PVpvcreate /dev/sdd
2,将新的PV添加到指定的卷组(VG)中
添加到linuxcast VG中
vgextend linuxcast /dev/sdd
3,查看扩充后VG大小
vgdisplay
缩小一个LV
必须离线执行(umount后)
1,卸载已经挂载的LV
umount /dev/linuxcast/mylv
2,检测磁盘错误
e2fsck /dev/linuxcast/mylv
3,缩小文件系统
resize2fs <LV的名称> <变更后size的大小>
- ``resize2fs /dev/linuxcast/mylv 1G`
4,缩小LV
lvreduce -L -1G /dev/linuxcast/mylv
5,查看缩小后的LV
lvdisplay
6,重新挂载
mount /dev/linuxcast/mylv /mnt
缩小卷组(VG)
1,将一个PV从指定的卷组中移除
vgreduce linuxcast /dev/sdd
2,查看缩小后的卷组(VG)大小
vgdisplay