LVM管理

LVM擴容、縮減和刪除

常用命令:

lvextend:LV擴容

vgextend:VG擴容

lvreduce:LV縮減

vgreduce:VG縮減

lvremove:LV刪除

vgremove:VG刪除

pvmove:PV數據移動到所屬邏輯卷的其它物理卷

pvremove:PV刪除

vgchange:VG狀態改變

一、LVM擴容

1、LV擴容之前,先查看LV和所屬VG可用容量(VFree)

[root@localhost ~]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LV1  VG1  -wi-ao---- 4.00g        

[root@localhost ~]# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb1  VG1  lvm2 a--  2.00g    0
  /dev/sdb2  VG1  lvm2 a--  2.00g 8.00m
  /dev/sdb3       lvm2 ---  2.01g 2.01g

[root@localhost ~]# vgs
  VG       #PV     #LV     #SN     Attr       VSize     VFree
  VG1        2       1           0     wz--n-      4.01g         8.00m

LV1大小爲4G,VG1的VFree大小8M。要給LV增加2G容量,VG1可用剩餘僅爲8M,因爲此需要給VG1擴容,將一個新的分區sdb3添加到卷組中:

[root@localhost ~]# vgextend VG1 /dev/sdb3
  Volume group "VG1" successfully extended
[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  VG1    3   1   0 wz--n- 6.01g 2.01g

2、現在VG1的VFree爲2.01G,可以直接給LV1擴容:

[root@localhost ~]# lvextend -L +2G /dev/mapper/VG1-LV1
  Size of logical volume VG1/LV1 changed from 4.00 GiB (1024 extents) to 6.00 GiB (1536 extents).
  Logical volume LV1 successfully resized

[root@localhost ~]# lvs

  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LV1  VG1  -wi-ao---- 6.00g

注:也可以使用 lvextend -L 6G /dev/mapper/VG1-LV1直接擴容到6G

3、對文件系統進行擴容

LV1容量已擴容到6G,現在查下LV1的掛載點/LV1容量:

[root@localhost ~]# df -h /LV1
Filesystem                       Size      Used     Avail     Use%     Mounted on
/dev/mapper/VG1-LV1     3.9G     8.0M      3.7G   1%           /LV1

/LV1容量爲3.9G,而剛剛已將LV1擴容到6G,這是爲什麼呢?

因爲剛纔僅僅擴容了邏輯卷LV1的容量,而沒有文件系統擴容,因此需要對文件系統擴容:

[root@localhost ~]# resize2fs /dev/mapper/VG1-LV1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VG1-LV1 is mounted on /LV1; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/VG1-LV1 to 1572864 (4k) blocks.
The filesystem on /dev/mapper/VG1-LV1 is now 1572864 blocks long.

[root@localhost ~]# df -h
/dev/mapper/VG1-LV1  5.8G  8.0M  5.5G   1% /LV1

到此/LV1已經擴容成功!


二、LV縮減,先卸載掛載點,再對文件系統進行縮減,最後縮減邏輯卷LV

1、先卸載掛載點:

[root@localhost ~]# umount /LV1/
[root@localhost ~]# mount -l
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /usr type ext4 (rw)
/dev/sr0 on /mnt type iso9660 (ro) [CentOS_6.6_Final]
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)


2、縮減文件系統:

[root@localhost ~]# resize2fs /dev/mapper/VG1-LV1  4G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VG1-LV1 to 1048576 (4k) blocks.
The filesystem on /dev/mapper/VG1-LV1 is now 1048576 blocks long.
注:將文件系統/dev/mapper/VG1-LV1縮減到4G


3、縮減邏輯卷LV:

[root@localhost ~]# lvreduce -L -2G /dev/mapper/VG1-LV1
  WARNING: Reducing active logical volume to 4.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LV1? [y/n]: y
  Size of logical volume VG1/LV1 changed from 6.00 GiB (1536 extents) to 4.00 GiB (1024 extents).
  Logical volume LV1 successfully resized


4、掛載、查看lv和掛載點大小 :

[root@localhost ~]# mount /dev/mapper/VG1-LV1 /LV1/
[root@localhost ~]# df -h
/dev/mapper/VG1-LV1  3.9G  8.0M  3.7G   1% /LV1
[root@localhost ~]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LV1  VG1  -wi-ao---- 4.00g                                                 


三、LVM刪除(LVM刪除之前,請對重要數據備份到其它分區或LVM分區上)

刪除LV,VG順序:卸載掛載的邏輯卷,刪除相應的邏輯卷,再刪除卷組,最後刪除物理卷PV。


1、卸載掛載的邏輯卷

[root@localhost ~]# umount /LV1/


2、刪除相應的邏輯卷LV

刪除相應的邏輯卷前,需要先使用命令vgchange將活動的邏輯組停止:

[root@localhost ~]# vgchange -an VG1
  0 logical volume(s) in volume group "VG1" now active

注:-a是available的縮寫,y表示yes,n表示no


查看邏輯卷LV路徑:

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VG1/LV1


刪除邏輯卷LV:

[root@localhost ~]# lvremove /dev/VG1/LV1
  Logical volume "LV1" successfully removed

3、刪除邏輯卷組VG

[root@localhost ~]# vgremove VG1
  Volume group "VG1" successfully removed

查看卷組VG1是否刪除成功:

[root@localhost ~]# vgdisplay
  No volume groups found


4、刪除物理卷PV

查看PV信息

[root@localhost ~]# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb1       lvm2 ---  2.01g 2.01g
  /dev/sdb2       lvm2 ---  2.01g 2.01g
  /dev/sdb3       lvm2 ---  2.01g 2.01g

刪除PV:

[root@localhost ~]# pvremove /dev/sdb{1,2,3}
  Labels on physical volume "/dev/sdb1" successfully wiped
  Labels on physical volume "/dev/sdb2" successfully wiped
  Labels on physical volume "/dev/sdb3" successfully wiped

驗證PV刪除成功與否:

[root@localhost ~]# pvs

如果只想將某個分區從物理卷中刪除,首先使用使用pvmove將該物理館上的數據移到別的物理卷,再使用vgreduce命令刪除該物理卷。這樣這個物理卷就像普通分區一樣使用了。

[root@localhost ~]# pvmove /dev/sdb1
  /dev/sdb1: Moved: 0.6%
  /dev/sdb1: Moved: 39.6%
  /dev/sdb1: Moved: 78.6%
  /dev/sdb1: Moved: 100.0%

[root@localhost ~]# vgreduce VG1 /dev/sdb1
  Removed "/dev/sdb1" from volume group "VG1"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章