LVM逻辑卷
- LVM逻辑卷的创建、删除、扩缩容
- LVM误操处理
- LVM属性操作
- LVM快照
- LVM条带卷、镜像卷
- LVM迁移
LVM
LVM:Logical Volume Manage逻辑卷管理
LVM架构
PP physical partion 物理设备:分区、硬盘、LUN、raid
PV physical volume 物理卷 物理硬盘逻辑处理后的卷
VG volume group 卷组 资源池
LV logical volume 逻辑卷 从资源池中按需分配的虚拟硬盘
创建逻辑卷
- 创建分区
- 创建pv, pvcreate
- 创建vg ,vgcreate
- 创建LV,lvcreate
pvs pvdisplay
删除逻辑卷
- 卸载逻辑卷
- 删除lv,lvremove
- 删除卷组,vgremove
- 删除物理卷,pvremove
逻辑卷的扩缩容
- 扩展卷组
- vgextend 卷组 物理卷
- 扩展逻辑卷
- lvextend
- 扩展文件系统
- xfs_growfs 挂载点/设备路径 扩展xfs文件系统,必须在挂载
- resize2fs 设备
逻辑卷缩小
xfs文件系统不可以缩容。
缩容:
- 卸载文件系统
- 文件系统检查 e2fsck -f 设备
- 缩小文件系统 resize2fs 设备 大小
- 缩小逻辑卷 lvreduce -L 大小 设备
逻辑卷误操作处理
lvchange -a n /dev/vg0/lv01 禁用
lvchange -a y /dev/vg0/lv01 激活
- 查看vg
vgcfgrestore -l vg0
- 恢复
vgcfgrestore -f /etc/lvm/archive/vg0_*******.vg vg0
dmsetup命令
逻辑卷的属性操作
- 修改PV属性
pvchange -x n device pv不可分配
pvchange -x y device pv可分配
- 修改VG属性
vgchange -ay vg0 激活卷组
vgchange -an vg0 禁用卷组
- 修改LV属性
lvchange -ay lvname 激活逻辑卷
lvchange -an lvname 禁用逻辑卷
lvchange -pr lvname 设置只读
lvchange -prw lvname 设置读写
- 查看逻辑卷
pvdiaplay /pvs -o
vgdisplay / vgs
lvdisplay / lvs
- 扫描
pvscan
vgscan
lvscan
逻辑卷快照
- 创建逻辑卷快照
# lvcreate -L 64M -s -n datasnap /dev/vg0/lv01
- 挂载快照
# mkdir -p /mnt/datasnap
# mount /dev/vg0/datasnap /mnt/datasnap(xfs文件系统,需要加-o nouuid挂载)
- 卸载快照并移除快照
# umount /mnt/datasnap
# lvremove /dev/vg0/datasnap
- 快照恢复
# lvconvert --merge /dev/vg0/datasnap
逻辑卷的条带卷和镜像卷
- 创建条带卷
# lvcreate -i2 -I 64K -L 1G -n lv02 vg01 /dev/sdb /dev/sdc
# lvcreate -i2 -I64 -L 2G -n lv3 vg0
-i 指定跨PV的个数为2
-I 指定条带单元的大小,对应于I/O中数据单元块的大小;数值必须为2的幂,单位KB
-n 指定卷的名称
-L 指定卷的大小
查看条带卷的信息
# lvs -a -o vg_name,name,devices,size
测试
# iostat -d /dev/sdb /dev/sdc 1
-
创建镜像卷
# lvcreate -m1 -n lv04 -L 1G vg0
取消镜像
# lvconvert -m0 /dev/vg0/lv04 /dev/sdc
重新建立镜像
# lvconvert -m1 /dev/vg0/lv04 /dev/sdc
查看镜像卷的信息
# lvs -o +seg_pe_ranges --segments
测试
# iostat -d /dev/sdb /dev/sdc 1
逻辑卷迁移
迁移到其他主机
- 卸载逻辑卷
- 禁用卷组
- 导出卷组到磁盘
- 关机并移除磁盘
- 将磁盘插入新的主机
- 扫描pv
- 导入卷组
- 激活卷组
数据迁移
数据迁移
pvmove /dev/vdb1 /dev/vdb3
将/dev/vdb1上已分配的pe迁移到/dev/vdb3上
lvs -a -o vg_name,name,devices,size 查看lv
lvs -o +seg_pe_ranges --segments 查看lv所在的pv,以及pe的范围