*******************5.LVM*********************
用于建立可扩展磁盘
## 1.LVM建立 ##
监控命令:
watch -n 1 ‘echo "*** pvinfo ***";pvs;echo "*** vginfo ***";vgs;echo"*** lvinfo ***";lvs‘
pvs //查看物理卷信息
vgs //查看物理卷组信息
lvs //查看逻辑卷信息
建立:
fdisk /dev/vdb //划分物理分区并把分区id修改为8e
pvcreate /dev/vdb1 //创建物理卷
vgcreate hello /dev/vdb1 //创建物理卷组
lvcreate -L 100M -n lv0 hello //创建逻辑卷
测试:
##扩展磁盘## --支持正在使用的磁盘扩展
lvextend -L 200M /dev/hello/lv0 //扩展逻辑卷大小至200M
xfs_growfs /dev/hello/lv0 //扩展文件系统
pvcreate /dev/vdb2 //创建物理卷
vgextend hello /dev/vdb2 //扩展物理卷
看似分区大小可无限扩展,但事实受到文件系统的限制,分区大小不能无限扩展,例如xfs文件系统支持最大分区大小为18EB
##缩减磁盘##
注:xfs不支持文件系统缩减,导致磁盘不能缩减,所以这个实验我们使用ext文件系统
缩减文件系统 --缩减之前必须卸载设备
umount /mnt/ //卸载设备
e2fsck -f /dev/hello/lv0 //检测设备
resize2fs /dev/hello/lv0 200M //缩减文件系统至200M
缩减逻辑卷大小 --缩减逻辑卷大小之前必须缩减文件系统大小
lvreduce -L 200M /dev/hello/lv0
缩减物理卷
移除vdb1
pvmove /dev/vdb1 /dev/vdb2 //移动vdb1数据至vdb2
vgreduce hello /dev/vdb1 //从物理卷组中删除
pvremove /dev/vdb1 //删除物理卷
操作中可能会出现的问题
1>缩减后的文件系统大小大于逻辑卷大小,会导致设备不可用
解决办法先扩展逻辑卷大小,在执行缩减文件系统,缩减逻辑卷大小
2>没有从物理卷中移出设备,直接在fdisk中删除设备
物理卷中会出现不可知的分区,用vgreduce --removemissing 物理卷组 删除不可知的设备
## 3.LVM快照 ## --保证数据的安全
在磁盘中写入数据
mount /dev/hello/lv0 /mnt
touch /mnt/file{1..10}
ls /mnt
创建快照
umount /mnt
lvcreate -L 10M -n lv0-backup -s /dev/hello/lv0
lvs
删除数据
mount /dev/hello/lv0-backup /mnt
ls /mnt
rm -fr /mnt/*
重新创建快照
umount /mnt
lvremove /dev/hello/lv0-backup
lvcreate -L 10M -n lv0-backup -s /dev/hello/lv0
数据恢复
mount /dev/hello/lv0-backup /mnt
ls /mnt
## 4.LVM 删除## --按顺序删除
lvremove //删除快照和逻辑卷
vgremove //删除物理卷组
pvremove //删除物理卷
## 5.命令和脚本创建分区 ##
原文地址:http://12129857.blog.51cto.com/12119857/1871208