LVM 邏輯卷管理器-縮小LV容量
將/dev/sdb2分區抽離出來,縮小LV容量
(1)首先查看/dev/sdb2的容量大小
[root@centos6 ~]# df -h /mnt/lvm/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_1-lv_1 20G 170M 19G 1% /mnt/lvm [root@centos6 ~]# pvdisplay --- Physical volume --- PV Name /dev/sdb2 VG Name vg_1 PV Size 5.01 GiB / not usable 10.13 MiB Allocatable yes (but full) PE Size 16.00 MiB Total PE 320 Free PE 0 Allocated PE 320 PV UUID Mh3pG8-PHQG-Yexz-PYw0-Jtel-oBWb-lSBdG3 ...以下省略... #從這里可以看出/dev/sdb2容量是5G,有320個PE [root@centos6 ~]# pvscan PV /dev/sdb2 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb3 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb1 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb5 VG vg_1 lvm2 [5.00 GiB / 0 free] Total: 4 [20.00 GiB] / in use: 4 [20.00 GiB] / in no VG: 0 [0 ]
(2)直接降低文件系統的容量
[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg_1/lv_1 is mounted on /mnt/lvm; on-line resizing required On-line shrinking from 5242880 to 3840000 not supported. [root@centos6 ~]# df -h /mnt/lvm/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_1-lv_1 20G 170M 19G 1% /mnt/lvm #查找文件系統變沒有縮小,是因為增大LVM容量可以在線直接進行,縮小文件系統則無法支持,所以要先卸載/mnt/lvm,然后再縮小。 [root@centos6 ~]# umount /mnt/lvm/ [root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M resize2fs 1.41.12 (17-May-2010) Please run 'e2fsck -f /dev/vg_1/lv_1' first. #系統讓我們執行“e2fsck -f /dev/vg_1/lv_1”命令進行磁盤檢查 [root@centos6 ~]# e2fsck -f /dev/vg_1/lv_1 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vg_1/lv_1: 12/1310720 files (0.0% non-contiguous), 125586/5242880 blocks [root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M #再執行一次resize2fs resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/vg_1/lv_1 to 3840000 (4k) blocks. The filesystem on /dev/vg_1/lv_1 is now 3840000 blocks long. [root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm [root@centos6 ~]# df /mnt/lvm/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_1-lv_1 15117312 169460 14183840 2% /mnt/lvm [root@centos6 ~]# df -h /mnt/lvm/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_1-lv_1 15G 166M 14G 2% /mnt/lvm #查看文件系統容量已經變成15G
(3)降低LV的容量,抽離/dev/sdb2,它有320個PE
[root@centos6 ~]# lvresize -l -320 /dev/vg_1/lv_1 WARNING: Reducing active and open logical volume to 15.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lv_1? [y/n]: y Reducing logical volume lv_1 to 15.00 GiB Logical volume lv_1 successfully resized [root@centos6 ~]# lvdisplay --- Logical volume --- LV Path /dev/vg_1/lv_1 LV Name lv_1 VG Name vg_1 LV UUID n2bChT-rimu-eRDs-5onU-mgUF-ukuh-NqO7me LV Write Access read/write LV Creation host, time centos6.5, 2016-09-09 19:04:37 +0800 LV Status available # open 1 LV Size 15.00 GiB Current LE 960 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 #這樣LV就成功縮小了,接下來就是將/dev/sdb2移出vg_1這個VG之外。
(4)先確認/dev/sdb2是否將PE都移除了;
[root@centos6 ~]# pvdisplay --- Physical volume --- PV Name /dev/sdb2 VG Name vg_1 PV Size 5.01 GiB / not usable 10.13 MiB Allocatable yes (but full) PE Size 16.00 MiB Total PE 320 Free PE 0 Allocated PE 320 PV UUID Mh3pG8-PHQG-Yexz-PYw0-Jtel-oBWb-lSBdG3 ...中間省略... --- Physical volume --- PV Name /dev/sdb5 VG Name vg_1 PV Size 5.01 GiB / not usable 10.10 MiB Allocatable yes PE Size 16.00 MiB Total PE 320 Free PE 320 Allocated PE 0 PV UUID dAooQM-wYka-uR1v-Hccl-7HH1-ljTB-Yhjaif #沒有被使用的PE竟然在/dev/sdb5,此時得要搬移PE; [root@centos6 ~]# pvmove /dev/sdb2 /dev/sdb5 /dev/sdb2: Moved: 0.0% /dev/sdb2: Moved: 13.8% /dev/sdb2: Moved: 27.8% /dev/sdb2: Moved: 41.6% /dev/sdb2: Moved: 55.6% /dev/sdb2: Moved: 66.9% /dev/sdb2: Moved: 81.2% /dev/sdb2: Moved: 94.7% /dev/sdb2: Moved: 100.0% #pvmove 來源PV 目標PV,將/dev/sdb2內的PE通通移至/dev/sdb5; [root@centos6 ~]# vgreduce vg_1 /dev/sdb2 #將/dev/sdb2移出vg_1中; Removed "/dev/sdb2" from volume group "vg_1" [root@centos6 ~]# pvscan PV /dev/sdb3 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb1 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb5 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb2 lvm2 [5.01 GiB] Total: 4 [20.01 GiB] / in use: 3 [15.00 GiB] / in no VG: 1 [5.01 GiB] [root@centos6 ~]# pvremove /dev/sdb2 #刪除/dev/sdb2 PV Labels on physical volume "/dev/sdb2" successfully wiped [root@centos6 ~]# pvscan PV /dev/sdb3 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb1 VG vg_1 lvm2 [5.00 GiB / 0 free] PV /dev/sdb5 VG vg_1 lvm2 [5.00 GiB / 0 free] Total: 3 [15.00 GiB] / in use: 3 [15.00 GiB] / in no VG: 0 [0 ] #這樣文件系統以及實際的LV與VG通通變小了,而且/dev/sdb2已經可以拿出來進行其他用途了;
5、LVM快照區的建立
由于快照區與原本的 LV 共享很多PE區塊,因此快照區與被快照的LV必項要在同一個VG上。但是我們剛剛將/dev/sdb2移除vg_1了,目前vg_1剩下的容量為0!因此,在里面我們得要再加入/dev/sdb2 到vg_1后,才能繼續建立快照區。
(1)查看vg_1還剩下多少容量
[root@centos6 ~]# vgdisplay --- Volume group --- VG Name vg_1 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 31 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size 15.00 GiB PE Size 16.00 MiB Total PE 960 Alloc PE / Size 960 / 15.00 GiB Free PE / Size 0 / 0 #沒有多余的PE可用 VG UUID NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS
(2)將/dev/sdb2加入到vg_1中;
[root@centos6 ~]# pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created [root@centos6 ~]# vgextend vg_1 /dev/sdb2 Volume group "vg_1" successfully extended [root@centos6 ~]# vgdisplay --- Volume group --- VG Name vg_1 System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 32 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 4 Act PV 4 VG Size 20.00 GiB PE Size 16.00 MiB Total PE 1280 Alloc PE / Size 960 / 15.00 GiB Free PE / Size 320 / 5.00 GiB #多出了320個PE可用 VG UUID NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS
(4)利用lvcreate建立系統快照區,取名snaps,且給予100PE
[root@centos6 ~]# lvcreate -l 100 -s -n snaps /dev/vg_1/lv_1 Logical volume "snaps" created # -s:選項代表是snapshot快照功能意思; # -n:選項后面接快照的名稱; # /dev/vg_1/lv_1 則是被快照的LV完整的名稱; # -l:選項則是接使用多少個PE來作為這個快照區使用; [root@centos6 ~]# lvdisplay --- Logical volume --- LV Path /dev/vg_1/lv_1 LV Name lv_1 VG Name vg_1 LV UUID n2bChT-rimu-eRDs-5onU-mgUF-ukuh-NqO7me LV Write Access read/write LV Creation host, time centos6.5, 2016-09-09 19:04:37 +0800 LV snapshot status source of snaps [active] LV Status available # open 1 LV Size 15.00 GiB Current LE 960 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Path /dev/vg_1/snaps LV Name snaps VG Name vg_1 LV UUID aCR4bc-n5ib-3iPW-la18-bQZL-EdJS-8f7lZD LV Write Access read/write LV Creation host, time centos6.5, 2016-09-10 02:33:19 +0800 LV snapshot status active destination for lv_1 LV Status available # open 0 LV Size 15.00 GiB #被快照的原LV磁盤容量 Current LE 960 COW-table size 1.56 GiB #快照區的實際容量 COW-table LE 100 #快照區占用的PE數量 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 #這樣/dev/vg_1/snaps快照區就被建立起來了!而且它的VG容量竟然與/dev/vg_1/lv_1容量相同,也就是說,如果掛載這個裝置,看到的數量會跟原本/dev/vg_1/lv_1相同; [root@centos6 ~]# mkdir /mnt/snapshot [root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/ [root@centos6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 16G 1.5G 14G 11% / tmpfs 112M 0 112M 0% /dev/shm /dev/sda1 194M 29M 155M 16% /boot /dev/mapper/vg_1-lv_1 15G 166M 14G 2% /mnt/lvm /dev/mapper/vg_1-snaps 15G 166M 14G 2% /mnt/snapshot
原創文章,作者:zhuckee,如若轉載,請注明出處:http://www.www58058.com/47592