1.lvm基本概念
- pv 物理卷:被lv命令处理过的物理分区
- vg 物理卷组:被组织到一起的物理卷
- pe 物理块:lvm设备的最小存储单元;lvm是pe的整数倍
- lv 逻辑卷设备:可以增大缩减并保持原有数据不变的直接使用的设备
- lvm=logical volume manager 逻辑卷管理
- lvm的作用:是建立在磁盘和分区的逻辑层,可提高磁盘分区管理的灵活性,在不停服的情况下调整更新,管理磁盘分区,非常方便实用。
2.lv逻辑卷的建立
(1)建立LVM标签逻辑分区
fdisk /dev/vdb
.
在扩展分区中,将需要建立的逻辑分区vdbx的标签改变为8e,建立LVM标签分区
(2)pvcreate /dev/vdbx
创建物理卷
(3)vgcreate vg0 /dev/vdbx
创建物理卷组vg0
(4)lvcreate -L 200M -n lv0 vg0
创建大小为200M的lv设备lv0
*注:
- -L 指定大小 ; -n 指定设备名称
- 当设备lv0建立好之后,会自动添加一个虚拟设备vg0-lv0 在虚拟设备目录下/dev/mapper/
(5)mkfs.xfs /dev/mapper/vg0-lv0
设备格式化
(6)mount /dev/mapper/vg0-lv0 /data
挂载设备进行使用
3.lvm设备的拉伸与缩减
(1)xfs文件系统
xfs文件系统不支持缩小 只支持拉伸
- 当vg中的剩余容量足够时 设备直接拉伸
1)lvextend -L 80M vg0
lv设备的拉伸
2)xfs_grow /dev/vg0/lv0
文件系统的拉伸
注:因为之前格式化时给lv设备安装的是xfs文件系统,情况匹配,故不需要卸载设备进行拉伸;如果文件系统不匹配,需要卸载设备重新格式化在进行 拉伸(例下文ext4文件系统)
- 当vg中剩余容量不足时 添加新硬盘分区
1)fdisk /dev/vdb
建立新的标签为8e的分区
partprobe
设备重新加载
2)pvcreate /dev/vdb2
添加新pv设备
3)vgextend vg0 /dev/vdb2
将新加的设备添加到vg0设备中
4)lvextend -L 1500M /dev/vg0/lv0
lv设备拉伸到1800M
5)xfs_grow /dev/vg0/lv0
文件系统的拉伸
(2)ext4文件系统
ext4文件系统支持拉伸也支持缩小
*注:如果之前为xfs系统需要先卸载再以ext4文件系统挂载后 再修改
-
设备的拉伸
1)umount dev/vg0/lv0
卸载设备 重新格式化
mkfs.ext4 /dev/vg0/lv0
给设备安装ext4文件系统
mount /dev/vg0/lv0 /data
重新挂载
2)拉伸:pv容量充足时直接拉伸
lvextend -L 1500M /dev/vg0/lv0
拉伸 lv设备
resize2fs /dev/vg0/lv0
文件系统的拉伸
pv容量不足时,添加新的硬件分区
fdisk /dev/vdb
建立新的标签为8e的分区
partprobe
设备重新加载
pvcreate /dev/vdb2
添加新pv设备
vgextend vg0 /dev/vdb2
将新加的设备添加到vg设备中
lvextend -L 1500M /dev/vg0/lv0
lv设备拉伸到1800M
resize2fs /dev/vg0/lv0
文件系统的拉伸 -
设备的缩减
1)umount /dev/vg0/lv0
首先卸载lvm逻辑卷的挂载
如果不卸载 后面步骤将无法进行
2)ex2fsck -f /dev/vg0/lv0
扫描文件中的数据大小,否则直接缩减会造成数据损坏
3)resize2fs /dev/vg0/lv0 800M
缩减文件系统为800M
4)lvreduce -L 800M /dev/vg0/lv0
缩减lvm设备为800M
5)mount /dev/vg0/lv0 /data
重新挂载 继续使用
4.多余设备的移除
-
移除空闲pv设备
vgreduce vg0 /dev/vdb5
直接移除设备 -
移除含有数据的pv设备
1)pvmove /dev/vdb /dev/vdb
将要移除的设备数据移动到另一块设备上
2)vgreduce vg0 /dev/vdb
将vg0中添加的vdb设备移除
3)pvremove /dev/vdb
移除设备
5.lvm的快照
- 快照的建立
lvcreate -L 40M -n lv0backup -s /dev/vg0/lv0
建立快照lv0backup
参数 | 含义 |
---|---|
-L | 快照的大小 |
-n | 指定快照名称 |
-s | 快照设备 |
mount /dev/vg0/lv0backup /mnt
挂载快照进行使用
- 快照的删除
当我们把快照破快的时候 模拟问题:rm -fr /mnt/ *
此时可以将快照删除 重新建立
1)umount /mnt 卸载快照
2) lvremove /dev/vg0/lv0backup 删除快照
3)lvcreate -L 40M -n lv0backup -s /dev/vg0/lv0
重新建立快照
6.lvm的删除
1)lvremove /dev/vg0/lv0
先删除lvm设备
2)vgremove vg0
删除vg0设备
3)pvremove /dev/vdb
删除pv设备