一、LVM
1.定义
pv #物理卷,物理卷是 LVM 所使用的基础 “ 物理 ” 存储
pe #物理单元
vg #物理卷组,卷组是存储池 , 由一个或多个物理卷组成
lvm #逻辑卷,逻辑区块映射到物理区块 , 构成 LVM存储的前端
2. lvm的建立
划分物理分区 并修改分区标签为lvm
* pvcreate /dev/vdb1 #创建物理卷
图示:建立pv
*vgcreate vg0 /dev/vdb1 #创建物理卷组vg0
图示:建立vg
<a href="https://s2.51cto.com/oss/201711/08/9db1d6eee862a3a7888a790de80225dd.png-wh_500x0-wm_3-wmp_4-s_1118803486.png" target="_blank"></a>
*lvcreate -L 300M -n lv0 vg0 #创建逻辑卷,从 vg0 上可用物理区块创建名为 lv0 、容量为 50M 的新逻辑卷
图示:建立lv
<a href="https://s2.51cto.com/oss/201711/08/909e64161539f38d2a482a415aae5b4a.png-wh_500x0-wm_3-wmp_4-s_2000377341.png" target="_blank"></a>
*mkfs.xfs /dev/vg0/lv0 #格式化设备,将在新逻辑卷上创建 xfs 文件系统
图示:格式化设备为.xfs
<a href="https://s4.51cto.com/oss/201711/08/db60afade163ba25a3bb67c133d8b14a.png-wh_500x0-wm_3-wmp_4-s_4139980441.png" target="_blank"></a>
*mount /dev/vg0/lv0 /mnt #设备挂载投入使用
图示:挂载设备/dev/vg0/lv0
<a href="https://s3.51cto.com/oss/201711/08/d1592580565786a500df909b9bd901ea.png-wh_500x0-wm_3-wmp_4-s_1144501013.png" target="_blank"></a>
图示:lv0源指向文件查看
*监控命令
watch -n 1 'pvs;echo ======;vgs;echo ======;lvs;echo ======;df -h /mnt'
图示:监控内容显示
<a href="https://s1.51cto.com/oss/201711/08/1fe700afe1f38f17d69ce0a47befb026.png-wh_500x0-wm_3-wmp_4-s_1909994020.png" target="_blank"></a>
3.lvm拉伸
--当vg中剩余容量充足的时候
*lvextend -L 4ooM /dev/vg0/lv0
*xfs_growfs /dev/vg0/lv0
图示:拉伸到400M
<a href="https://s3.51cto.com/oss/201711/08/f4d316a2142e63ac70337a38079aa4e7.png-wh_500x0-wm_3-wmp_4-s_474520213.png" target="_blank"></a>
图示:同步Filesystem
<a href="https://s3.51cto.com/oss/201711/08/5b84476b8548b6f927087ac5a7214592.png-wh_500x0-wm_3-wmp_4-s_3418461640.png" target="_blank"></a>
--当vg中上与容量不足的时候
*新建分区
*pvcreate /dev/vdb2
图示:建立pv2
<a href="https://s3.51cto.com/oss/201711/08/c433ac4e1518bc251ff38e432c9eccdc.png-wh_500x0-wm_3-wmp_4-s_611194675.png" target="_blank"></a>
*vgextend vg0 /dev/vdb2
图示:建立lv2
<a href="https://s2.51cto.com/oss/201711/08/1728e34c27a7856d36af6c1fabb3af2f.png-wh_500x0-wm_3-wmp_4-s_3708792659.png" target="_blank"></a>
*lvextend -L 700M /dev/vg0/lv0
图示:格式化设备为_growfs
<a href="https://s3.51cto.com/oss/201711/08/ccfdb2f84d0a10018c3bb1d8b1c62d4a.png-wh_500x0-wm_3-wmp_4-s_3395329288.png" target="_blank"></a>
4.在est文件系统中
umount /mnt
mkfs.ext4 /dev/vg0/lv0
图示:格式化设备为.ext4
<a href="https://s3.51cto.com/oss/201711/08/2e9a7aa0a86a9eba460770e03feaf2a3.png-wh_500x0-wm_3-wmp_4-s_59018534.png" target="_blank"></a>
1>拉伸
lvextend -L 400M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
图示:拉伸201043
2>缩减
umount /mnt/
e2fsck -f /dev/vg0/lv0 ##扫描文件查看逻辑卷中被占用大小
图示:扫描文件
<a href="https://s3.51cto.com/oss/201711/08/5834fd51b3fe0b358917545ea768b810.png-wh_500x0-wm_3-wmp_4-s_2042342742.png" target="_blank"></a>
resize2fs /dev/vg0/lv0 200M ##将逻辑卷中文件压缩到200M
图示:缩减
<a href="https://s5.51cto.com/oss/201711/08/602ef14f7c0f547fb7d98ae5604fa53e.png-wh_500x0-wm_3-wmp_4-s_166299224.png" target="_blank"></a>
mount /dev/vg0/lv0 /mnt/
lvreduce -L 200M /dev/vg0/lv0 ## ##将逻辑卷压缩到200M
图示:逻辑卷的缩减
<a href="https://s1.51cto.com/oss/201711/08/3ad818e866d164f75d05779e33da0510.png-wh_500x0-wm_3-wmp_4-s_1341156194.png" target="_blank"></a>
3>删除
*pvmove /dev/vdb1 /dev/vdb2 ##当移除分区载数据,那么需要把数据迁移
移动到其他设备
图示:迁移数据
<a href="https://s5.51cto.com/oss/201711/08/9139038efcce26606694ab7c198e7343.png-wh_500x0-wm_3-wmp_4-s_3332173631.png" target="_blank"></a>
*vgreduce vg0 /dev/vdb1
图示:将vg0从卷组中移除
<a href="https://s2.51cto.com/oss/201711/08/c69e6ce0f3826ca091688fb230f7c067.png-wh_500x0-wm_3-wmp_4-s_209180272.png" target="_blank"></a>
*pvremove /dev/vdb1
图示:将物理卷vdb1移除
<a href="https://s4.51cto.com/oss/201711/08/cdd22245623062c69dc05a6c72513646.png-wh_500x0-wm_3-wmp_4-s_3464856990.png" target="_blank"></a>
*** ***
当lvm的分区被误删除
出现以下错误时
[root@localhost ~]#pvs
PVuXDdMx-tjpt-KeKB-O7rA-qYUn-718N-sVRX9i not recognised. Is the device missing?
PV uXDdMx-tjpt-KeKB-O7rA-qYUn-718N-sVRX9inot recognised. Is the device missing?
PVuXDdMx-tjpt-KeKB-O7rA-qYUn-718N-sVRX9i not recognised. Is the devicemissing?
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg0 lvm2 a-- 496.00m 296.00m
unknown device vg0 lvm2 a-m 196.00m 196.00m
[root@localhost ~]#vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 1 0 wz-pn- 693.00m 493.00m
解决方法
vqreduce vg0 --removemissing
二、设备快照
1.建立快照
为了便于观察快照作用,将/dev/vg0/lv0挂载,并在挂载目录中建立文件file
2.创建快照
lvcreate -s -n lv0backup -L 100M /dev/vg0/lv0
图示:创建快照
<a href="https://s3.51cto.com/oss/201711/08/5d4a69020cac3a0b86c5ff802c047cf9.png-wh_500x0-wm_3-wmp_4-s_1703979275.png" target="_blank"></a>
3.挂载
mkdir /westos
mount -o ro /dev/vg0/lv0backup /westos
验证快照逻辑卷的状态
lvs /dev/vg0/lv0backup
图示:逻辑卷的状态
<a href="https://s2.51cto.com/oss/201711/08/5af96f0366e336d8d0f43615f3c9eedb.png-wh_500x0-wm_3-wmp_4-s_1713615097.png" target="_blank"></a>
不再使用快照时 , 请解除挂载并删除它
lvremove /dev/vg0/lv0backup
图示:挂载快照,查看之前建立的file文件
<a href="https://s1.51cto.com/oss/201711/08/c0a61d70e6e1d812184ddedb303347ea.png-wh_500x0-wm_3-wmp_4-s_3554995485.png" target="_blank"></a>
图示:删除被“损坏”的文件,挂载快照后查看文件file文件
<a href="https://s1.51cto.com/oss/201711/08/11d754efca2f03701cc8a9946f5d4122.png-wh_500x0-wm_3-wmp_4-s_3056251720.png" target="_blank"></a>
###end###
本文转自 無緣 51CTO博客,原文链接:http://blog.51cto.com/13352594/1980109