天天看点

linux--LVM基本的应用

一、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&gt;拉伸

lvextend -L 400M /dev/vg0/lv0

resize2fs /dev/vg0/lv0

图示:拉伸201043

2&gt;缩减

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&gt;删除

*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

继续阅读