Linux逻辑卷的拉伸和缩小

相对于普通磁盘优势是逻辑卷可以在线动态的拉伸(不用先unmount操作),只要vg中有足够的空间即可

1:首先查看vg是否有足够的空间

[root@gechong mapper]# vgdisplay

2:逻辑卷的在线拉伸

[root@gechong mapper]# lvextend -L +2G /dev/vg_gechong/lv_swap

3:查看逻辑卷的大小

[root@gechong ~]# df -h

大小并没有改变,原因:逻辑卷的尺寸扩展之后,并没有更新文件系统,操作系统并没有识别拉伸后的尺寸,所以必须更新文件系统才行

4:更新文件系统

[root@gechong ~]# resize2fs /dev/vg_gechong/lv_swap

5:重新查看文件系统的大小

[root@gechong ~]# df -h

6: 如果卷组不够用呢?该如何解决?

重新添加PV,即添加磁盘即可

[root@gechong ~]# vgs

7:拉伸一个卷组

1:创建PV

[root@gechong ~]# pvcreate /dev/sdd

2:把PV添加到VG中
[root@gechong ~]# vgextend vg_gechong /dev/sdd

3:重新查看vg的大小
[root@gechong ~]# vgs

 

缩小逻辑卷

逻辑卷的缩小不能在线执行

1:卸载已经挂载的逻辑卷

[root@gechong ~]# umount /dev/vg_gechong/lv_swap

2:检查文件系统

e2fsck -f /dev/vg_gechong/lv_swap

 

3:缩小文件系统

[root@gechong ~]# resize2fs /dev/vg_gechong/lv_swap 1G

 把文件系统空间缩小为1G

4:缩小逻辑卷

[root@gechong ~]# lvreduce -L 1G /dev/vg_gechong/lv_swap

5:查看缩小后的逻辑卷

[root@gechong ~]# lvdisplay

6:挂载逻辑卷

[root@gechong ~]# mount /dev/vg_gechong/lv_swap /mnt

缩小卷组

[root@gechong ~]# vgreduce vg_gechong /dev/sdd

查看

[root@gechong ~]# vgdisplay
[root@gechong ~]# pvremove /dev/sdd

删除物理卷

 ----------------------------------------------------

pvscan :搜寻目前系统里面仸何具有 PV 的磁盘

[root@www ~]# pvscan

PV /dev/hda6  lvm2 [1.40 GB]

PV /dev/hda7 lvm2 [1.40 GB]

PV /dev/hda8 lvm2 [1.40 GB]

Total: 4 [5.61 GB] / in use: 0 [0 ] / in no VG: 4 [5.61 GB]

最后一行显示的是:整体 PV 的量 / 已经被使用到 VG 的 PV 量 / 剩余的 PV 量

pvdisplay :显示出目前系统上面的 PV 状

 vgcreate :就是主要建立 VG 
 vgscan :  搜寻系统上面是否有 VG 存在?
 vgdisplay :显示目前系统上面的 VG 状态;
 vgextend :在 VG 内增加额外的 PV ; 如:vgextend oyxtvg /dev/hda8
 vgreduce :在 VG 内移除 PV;
 vgchange :设定 VG 是否启动(active);
 vgremove :删除一个 VG

---------------------------------------

放大LV容量

1. 用 fdisk 建立新的具有 8e system ID 的 partition
2. 利用 pvcreate 建立 PV
3. 利用 vgextend 将 PV 加入我们的 oyxtvg
4. 利用 lvresize 将新加入的 PV 内的 PE 加入 oyxtlv 中
5. 透过 resize2fs 将文件系统的容量确实增加!

# 容量好像不能够写小数点位数,因此 6.9G 是错误的,建议使用 6900M

---------------------------------------

快照snapshot(主要是用作实时在线备份)

原理:通过lvm快照给lvm真身拍个照片,当lvm真身发送改变时,lvm快照把lvm真身改变之前的内容存放在快照上,这样在lvm快照有效的这段时间内,我们看到的lvm快照上的内容始终是lvm真身在创建lvm快照时内容,通过备份lvm快照即可达到在线备份lvm真身的目的。需要注意的是,当lvm快照比lvm真身小时,若lvm真身发生的改变大于lvm快照,则lvm快照将变得无法读取而失效; 若lvm快照大于等于lvm真身,则不会发生前面的情况。

利用 lvcreate 建立系统忚照区,我们取名为 oyxtss,并给予 60 个 PE

[root@www ~]# lvcreate -l 60 -s -n oyxtss /dev/oyxtvg/oyxtlv

Logical volume "oyxtss" created

上述的命令中最重要的是那个 -s 的选顷!代表是 snapshot 快照功能之意!

-n 后面是快照区的名称, /dev/.... 则是要被快照的 LV 完整名称。

-l 后面则是使用多少个 PE 来为这个快照区使用,或者在后面直接指定快照的空间大小比如 -l 60M

#mkdir /snap                       //创建一个目录作为快照卷的挂载点
#tar -jcf  /tmp/snap.tar.gz  /snap/* //备份快照卷的内容到/tmp下
这个时候无论你在逻辑卷上做什么变化都不用担心数据丢失了,从备份的快照文件里面可以恢复之前的文件,这就是快照卷的强大之处了……

#lvdisplay

.......
LV Size 6.97 GB <==被快照的原 LV 磁盘容量
Current LE 446 COW-table size 960.00 MB <==快照区的实际容量
COW-table LE 60 <==快照区占用的 PE 数量
........
 
注意两点:
  1、快照其实也是一个逻辑卷,snapshot这种方法仅对LVM有效,对于非LVM文件系统无效
  2、快照只能对逻辑卷LVM进行备份,并且只能对同一个卷组的逻辑卷进行备份。另外又由于由于快照区与原本的 LV 共享很多PE 区块,因此快照区与被快照的 LV 必项要在同一个 VG 上头
 
 
 
 
 
参考资料:http://www.linuxidc.com/Linux/2012-09/69568.htm
 
 
 
 
 
原文地址:https://www.cnblogs.com/wjoyxt/p/3790942.html