LVM邏輯卷容量的增減


partprobe  不重啓系統的狀況下,讓系統內核重讀硬盤分區
或者
partprobe /dev/sdX   不重啓系統的狀況下,讓系統內核重讀sdx該硬盤分區
linux


Linux系統下增長LV(邏輯卷)容量app

Linux系統下,咱們能夠在安裝系統時使用LVM來管理咱們的文件系統,可是當咱們的LV滿了如何增長其容量呢?ide

方法/步驟ui

1.    查看文件系統現有lv_test容量,總計4.9G,已使用3%spa

命令 :df -h3d

wKiom1nmulmSwdO1AADjZQf4Lqk859.jpg

2.    查看現有磁盤狀況,咱們發現磁盤sdb共有1305個柱面,每一個柱面大小是8225280 bytes orm

(大約8M)。有一個磁盤分區sdb1,只使用了650柱面,還剩655柱面沒有使用。xml

命令 :fdisk -lblog

wKioL1nmt73Qfh1oAAJ3auYajP8723.jpg

3.    在磁盤sdb上建立新分區rem

命令:fdisk /dev/sdb

輸入 p 打印現有分區狀況(尚未分區)

輸入 n 新建分區

輸入 p 爲創建主分區(此時的p是在n後的,不是打印)

輸入 2 爲創建第二個主分區

分區起始位置能夠直接回車,默認是651

分區最後位置能夠直接回車,默認爲 1305 或者直接輸入須要設置的容量大小例如+4G

輸入 p 打印分區狀況,發現已創建一個分區 /dev/sdb2,可是 此分區爲 Linux 格式

wKioL1nmuBnTu239AAQLntA0mn4436.jpg

4.    因爲分區 /dev/sdb2 爲 Linux 格式,咱們須要改變系統標識符爲Linux LVM格式:

輸入 t 改變分區的屬性

輸入 2 表示改變第二個分區的屬性

輸入 8e 改變分區1爲 Linux LVM格式

輸入 p 打印分區狀況,發現創建的分區 /dev/sdb1 爲 Linux LVM 格式

輸入 w 保存分區

wKiom1nmuwWSL0yiAAPpcSVYYtY063.jpg

5.    使kernel從新讀取分區表

命令:partprobe

可是出現了一些關於sdb的警告,重啓系統

命令:reboot

wKioL1nmuI7D2JrGAAGpBHsQNuo094.jpg

6.    再次使用 fdisk -l 查看系統內磁盤狀況發現 /dev/sdb上已有一個 Linux LVM 格式的 /dev/sdb2分區

wKioL1nmuKiCZaJsAAKLWSTzbww203.jpg

7.    建立PV:

建立PV:pvcreate /dev/sdb2

查看系統PV:pvscan或者pvs

這樣咱們就建立了一個 5.02G的PV

wKioL1nmuPngDHiWAAEfWUGhK-c662.jpg

增長 VG容量:

增長VG:vgextend vg_test /dev/sdb2   vg_test爲現有的vg名,/dev/sdb2表示須要加入到

vg的設備。

查看VG詳細信息:vgdisplay 

wKiom1nmvN7QaYQUAAGKflzAhtk622.jpg

增長LV容量:

增長LV:lvresize -l +1284  /dev/vg_test/lv_test(1284是VG中Free PE的個數)爲lv_test增長

1284大小,或者直接+2G帶上單位。

查看LV:lvdisplay

這樣咱們就將 lv_test 的容量增長至9.99G

wKioL1nmuuGj-SOtAAHJuoTKUgI412.jpg

增長文件系統的容量:

命令:resize2fs /dev/vg_test/lv_test 

文件系統lv_test已經由 4.9G 增長至 9.9G

wKiom1nmvnDyASCcAAOf9cf9vrQ303.jpg

實例文件系統lv_test擴容20G的步驟以下:

一、新建lvm硬盤分區此處省略,若是不會劃分lvm分區請參考http://woyaoxuelinux.blog.51cto.com/5663865/1870134  前期LVM講解

假設已經創建好了一個爲20G的分區/dev/sda2

二、增長vg邏輯卷組的容量

[root@k ~]# vgextend myvg /dev/sda2


[root@k ~]# lvextend  -L +20G /dev/myvg/mydata   


[root@k ~]# resize2fs /dev/myvg/mydata 


[root@fox mydata]# cd 

[root@fox ~]# vgextend myvg /dev/sda2 

Volume group "myvg" successfully extended

[root@fox ~]# vgs

VG   #PV #LV #SN Attr   VSize  VFree 

myvg  2   1   0 wz--n- 40.02g 20.02g

[root@fox ~]# lvs

LV   VG   Attr   LSize  Origin Snap% Move Log Copy%  Convert

mydata  myvg   -wi-ao 20.00g

[root@fox ~]# lvextend  -L +20G/dev/myvg/mydata 

  Extending logical volume mydata to 40.00 GiB

  Logical volume mydata successfully resized

[root@fox ~]# lvs

LV   VG   Attr   LSize  Origin Snap% Move Log Copy%  Convert

mydata myvg   -wi-ao 40.00g 

[root@fox ~]# resize2fs/dev/myvg/mydata 

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/myvg/mydata is mounted on /mydata; on-lineresizing required

old desc_blocks = 2, new_desc_blocks = 3

Performing an on-line resize of /dev/myvg/mydata to 10485760(4k) blocks.

The filesystem on /dev/myvg/mydata is now 10485760 blocks long.

[root@fox ~]# ls /mydata/

1.txt  lost+found

[root@fox ~]# cat /mydata/1.txt 

dkjfakljfadfjaldfjajdfjald

[root@fox ~]# lvs

LV   VG  Attr   LSize  Origin Snap% Move Log Copy%  Convert

mydata  myvg   -wi-ao 40.00g 

[root@fox ~]# cd /mydata/

[root@fox mydata]# df -lah

Filesystem     Size  Used Avail Use% Mounted on

/dev/mapper/myvg-mydata  40G  176M   38G  1% /mydata



Linux系統下,咱們能夠在安裝系統時使用LVM來管理咱們的文件系統,

可是當咱們的LV容量太大瞭如何減小其容量呢?

目標:將 lv_test 中的 /dev/sdb2 移除

查看文件系統現有 lv_test 容量,總計9.9G,已使用2%

命令 df -h

wKioL1nmxNPiq_BeAAD27BtNqNw856.jpg

查看系統中的 PV 狀況

命令:pvdisplay

wKiom1nmyDfz4ILVAAGcD7xDR3M178.jpg

vg_test 下有兩個 PV,分別爲  /dev/sdb1 和 /dev/sdb2。咱們要作的是移除其中的 /dev/sdb2,

記住這個PV有 1284 個PE

查看系統中PV狀況,另外一種方式

命令:pvscan

wKioL1nmxtiQryIgAADa-2whKtE890.jpg

發現 /dev/sdb1 屬於 vg_test,大小爲4.98GB

發現 /dev/sdb2 屬於 vg_test,大小爲5.02GB

因爲/dev/sdb1 大小爲4.98G,並且容量不能寫小數,故減小文件系統至 5000M。

另外,減少文件系統容量不能在線進行,故先卸載卷

命令:

umount /test 卸載卷

e2fsck -f /dev/vg_test/lv_test 磁盤檢查

resize2fs /dev/vg_test/lv_test 5000M 減少文件系統容量.

wKioL1nmxvPg0jayAAHlZEb07AQ854.jpg

查看如今文件系統的容量

mount /dev/vg_test/lv_test /test 先掛載

此時,經過 df -h 查詢文件系統已經由原來的9.9G降至爲4.9G

wKiom1nmykbyKSMFAAESk2jzaoE374.jpg

接下來,減小LV的容量。

經過最開始的查詢,咱們知道 /dev/sdb2有1284個 PE

由於lv_test的使用量爲 138M,小於現有容量4.98G,所以出現的警告可按 y

命令:

lvresize -l -1284/dev/vg_test/lv_test 

此時,經過 lvdisplay 查詢 lv_test 容量下降至 4.98G

wKioL1nm403yPkMiAAI1r5NUJmM468.jpg

查看系統中如今的 PV 狀況

命令:pvdisplay

wKioL1nm42TRbnh4AAGfEizWy3Q886.jpg

vg_test 下的 /dev/sdb2有 1284 個 PE,而且都是 Free PE,說明lv_test不在使用 /dev/sdb2

若是不全是 Free PE,須要使用 pvmove 將 佔用的 PE 移至/dev/sdb1

將/dev/sdb2 從 vg_test 中移除

命令:

vgreduce vg_test /dev/sdb2

經過 pvscan 查詢,/dev/sdb2已經不在屬於任何VG了

wKiom1nm5kaTLgTCAAEmgYzdUWA546.jpg

刪除PV

命令:

pvremove /dev/sdb2

經過 pvscan 和 pvdisplay 查詢,系統中再也不有/dev/sdb2 這個PV

wKiom1nm5m_DQgSqAAKE7w-QNM4872.jpg

最後,完整的將現有的LV擴充到整個文件系統。

命令:resize2fs/dev/vg_test/lv_test 

此步驟主要是考慮在減小文件系統的時候,可能將/dev/sdb1中的部分空間移除。

如今經過擴充,將完整的利用 /dev/sdb1經過 df 查詢,也發現擴充先後文件系統

增長了部分容量。

wKioL1nm4_DBNOEGAALGf54B-wU646.jpg

注意事項

·        必定要確保 /dev/sdb2中全部的 PE都是Free PE,即沒有被使用的

·        必定要卸載卷後減小文件系統的容量

·        在減小文件系統前要進行磁盤檢查

·       建議通常不作減小lv容量操做。

相關文章
相關標籤/搜索