lvm
Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制
直接使用的设备,可以增大缩减并保持原有数据不变
pv
(physical volume)—物理卷被lv命令处理过的物理分区
vg
(Volume Group)—物理卷组被组装到一起的物理卷
lv
(Logical Volume)—逻辑卷类似于非lvm系统中的磁盘分区,逻辑卷建立在卷组vg之上,在逻辑卷lv之上可以建立文件系统
pe
(physical extent)—物理扩展
lvm
设备的最小存储单元,lvm
是pe
的整数倍
lvm
建立
watch -n 1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /gamedate"
fdisk /dev/sdb1
创建分区,分区标签选择8e
pvcreate /dev/sdb1
建立pv
vgcreate vg0 /dev/sdb1
建立vg
lvcreate -L 300M -n lv0 vg0
建立lv 大小为 300M
mkfs.xfs /dev/vg0/lv0
安装系统文件
mount /dev/vg0/lv0 /gamedate
挂载
df -h /gamedate
lvm
拉伸
lvm
支持热拉伸当
vg
中的剩余容量充足情况
lvextend -L 500M /dev/vg0/lv0
拉伸设备
xfs_growfs /dev/vg0/lv0
拉伸文件系统
vg
中的容量不足
创建新/dev/sdb2
分区,修改标签8e
pvcreate /dev/sdb2
建立新pv
vgextend vg0 /dev/sdb2
拉伸物理卷组
lvextend -L 1500M /dev/vg0/lg0
拉伸设备
xfs_growfs /dev/vg0/lv0
拉伸文件系统
ext
文件系统的设备的拉伸和缩减
umount /gamedate
卸载
mkfs.ext4 /dev/vg0/lv0
安装 ext4 文件系统
mount /dev/vg0/lv0 /gamedate
挂载
df -h /gamedate
拉伸
lvextend -L 2000M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
缩减
不支持热缩减
umount /dev/vg0/lv0
卸载
e2fsck -f /dev/vg0/lv0
扫描
resize2fs /dev/vg0/lv0 1000M
改变文件系统到1000M
lvreduce -L 1000M /dev/vg0/lv0
缩小逻辑卷
mount /dev/vg0/lv0 /gamedate
挂载
df -h /gamedate
vg
缩减与拉伸
vgreduce vg0 /dev/sdb2
缩小vg
vgextend vg0 /dev/sdb2
拉伸vg
数据迁移(移除含有数据的设备)
pvmove /dev/sdb1 /dev/sdb2
/dev/sdb1 数据 迁移到 /dev/sdb2 里
vgreduce vg0 /dev/sdb1
pvremove /dev/sdb1
移除 pv 里 /dev/sdb1
lvm
快照
touch /gamedate/f{1..9}
/gamedate
里创建f1---f9
测试文件
ls /gamedate
umount /gamedate
lvcreate -L 60M -n lv0-backup -s /dev/vg0/lv0
创建备份
mount /dev/vg0/lv0-backup /gamedate
挂载
df -h /gamedate
删除备份文件里的测试f1---f9
文件
umont /gamedate
卸载
lvremove /dev/vg0/lv0backup
从lv
里移除备份文件
lvremove -f /dev/vg0/lv0backup
提示备份文件正在使用,加-f
的参数强制移除
lvcreate -L 60M -n lv0backup -s /dev/vg0/lv0
再次创建备份
mount /dev/vg0/lv0backup /gamedate/
ls /gamedate/
挂载可以看原设备数据
全部删除还原
lvremove /dev/vg0/lv0backup
移除快照
lvremove /dev/vg0/lv0
移除设备
vgremove vg0
移除vg0
pvremove /dev/sdb1
移除sdb1
pvremove /dev/sdb2
移除sdb2
fdisk /dev/sdb
d
删除分区