1.lvm
lvm:logical volime manager动态管理卷
可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态的对分区进行扩大和缩小
pv ##物理卷 被我们lvm这个命令处理过的物理分区
vg ##物理组卷 被组装到一起的物理卷
lvm ##逻辑卷 直接使用的设备,可以增大缩减并保持原有的数据不变
pe ##物理扩展 lvm设备的最小存储单元,lvm是pe的整数倍
1.lvm的建立
- 分区的标签为 t 8e
watch -n 1 ’pvs;vgs;lvs;df -h‘ ##监控
pvcreate /dev/vdc1 ##将一个橘子榨成汁
vgcreate vg0 /dev/vdc1 ##将橘子汁装到vg0这个大瓶子里
lvcreate -L 20M -n lv0 vg0 ##将vg0大瓶子里的橘子汁分到lv0小瓶子里
mkfs.xfs /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
df -H
2.lvs的热拉伸
1.当我们vg中的剩余容量充足的时候,lvs支持热拉伸
lvextend -L 50M /dev/vg0/lv0 #拉伸设备
df -h 莫得变化
xfs_growfs /dev/vg0/lv0 #拉伸文件系统
df -h 有变化
2.当我们vg中的容量不足的时候
- 再次建立分区并修改标签为8e
pvcreate /dev/vdc2
vgextend vg0 /dev/vdc #拉伸物理卷组
lvextend -L 500M vg0
xfs_growfs /dev/vg0/lv0
3.缩减 针对ext*(xfs文件系统不支持缩小)
a.不支持热缩减,热:在设备运行中
umount /mnt
mkfs.ext4 /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0
b.先缩小文件系统,再缩小设备
esfsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 100M
lvreduce -L 100M /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
df -h
c.缩减vg
vgreduce vg0 /dev/vdc2
vgextend vg0 /dev/vdc2
2.数据迁移(移除含有数据的设备)
pvmove /dev/vdb1 /dev/vdb2(将vdb1中的数据移动到vdb2中)
vgreduce vg0 /dev/vdb1
pvremove /dev/vdb1
1.lvm快照
保护原有数据,提出了快照的概念
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mounr /dev/vg0/lv0-backup /mnt
如果截取数据大于40M,会破坏设备
dd if=/dev/zero of=/mnt/file bs=1M count=60
再次挂在会报错
mount /dev/vg0/lv0-backup /mnt
全部删除还原硬盘
lvremove /dev/vg0/lv0-backup #先删除快照,再删除设备本身
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdc2
fdisk /dev/vdc #删除分区