partprobe 不重啓系統的狀況下,讓系統內核重讀硬盤分區
或者
partprobe /dev/sdX 不重啓系統的狀況下,讓系統內核重讀sdx該硬盤分區linux
Linux系統下增長LV(邏輯卷)容量app
Linux系統下,咱們能夠在安裝系統時使用LVM來管理咱們的文件系統,可是當咱們的LV滿了如何增長其容量呢?ide
方法/步驟ui
1. 查看文件系統現有lv_test容量,總計4.9G,已使用3%spa
命令 :df -h3d
2. 查看現有磁盤狀況,咱們發現磁盤sdb共有1305個柱面,每一個柱面大小是8225280 bytes orm
(大約8M)。有一個磁盤分區sdb1,只使用了650柱面,還剩655柱面沒有使用。xml
命令 :fdisk -lblog
3. 在磁盤sdb上建立新分區rem
命令:fdisk /dev/sdb
輸入 p 打印現有分區狀況(尚未分區)
輸入 n 新建分區
輸入 p 爲創建主分區(此時的p是在n後的,不是打印)
輸入 2 爲創建第二個主分區
分區起始位置能夠直接回車,默認是651
分區最後位置能夠直接回車,默認爲 1305 或者直接輸入須要設置的容量大小例如+4G
輸入 p 打印分區狀況,發現已創建一個分區 /dev/sdb2,可是 此分區爲 Linux 格式
4. 因爲分區 /dev/sdb2 爲 Linux 格式,咱們須要改變系統標識符爲Linux LVM格式:
輸入 t 改變分區的屬性
輸入 2 表示改變第二個分區的屬性
輸入 8e 改變分區1爲 Linux LVM格式
輸入 p 打印分區狀況,發現創建的分區 /dev/sdb1 爲 Linux LVM 格式
輸入 w 保存分區
5. 使kernel從新讀取分區表
命令:partprobe
可是出現了一些關於sdb的警告,重啓系統
命令:reboot
6. 再次使用 fdisk -l 查看系統內磁盤狀況發現 /dev/sdb上已有一個 Linux LVM 格式的 /dev/sdb2分區
7. 建立PV:
建立PV:pvcreate /dev/sdb2
查看系統PV:pvscan或者pvs
這樣咱們就建立了一個 5.02G的PV
增長 VG容量:
增長VG:vgextend vg_test /dev/sdb2 vg_test爲現有的vg名,/dev/sdb2表示須要加入到
vg的設備。
查看VG詳細信息:vgdisplay
增長LV容量:
增長LV:lvresize -l +1284 /dev/vg_test/lv_test(1284是VG中Free PE的個數)爲lv_test增長
1284大小,或者直接+2G帶上單位。
查看LV:lvdisplay
這樣咱們就將 lv_test 的容量增長至9.99G
增長文件系統的容量:
命令:resize2fs /dev/vg_test/lv_test
文件系統lv_test已經由 4.9G 增長至 9.9G
實例文件系統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
查看系統中的 PV 狀況
命令:pvdisplay
vg_test 下有兩個 PV,分別爲 /dev/sdb1 和 /dev/sdb2。咱們要作的是移除其中的 /dev/sdb2,
記住這個PV有 1284 個PE
查看系統中PV狀況,另外一種方式
命令:pvscan
發現 /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 減少文件系統容量.
查看如今文件系統的容量
mount /dev/vg_test/lv_test /test 先掛載
此時,經過 df -h 查詢文件系統已經由原來的9.9G降至爲4.9G
接下來,減小LV的容量。
經過最開始的查詢,咱們知道 /dev/sdb2有1284個 PE
由於lv_test的使用量爲 138M,小於現有容量4.98G,所以出現的警告可按 y
命令:
lvresize -l -1284/dev/vg_test/lv_test
此時,經過 lvdisplay 查詢 lv_test 容量下降至 4.98G
查看系統中如今的 PV 狀況
命令:pvdisplay
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了
刪除PV
命令:
pvremove /dev/sdb2
經過 pvscan 和 pvdisplay 查詢,系統中再也不有/dev/sdb2 這個PV
最後,完整的將現有的LV擴充到整個文件系統。
命令:resize2fs/dev/vg_test/lv_test
此步驟主要是考慮在減小文件系統的時候,可能將/dev/sdb1中的部分空間移除。
如今經過擴充,將完整的利用 /dev/sdb1經過 df 查詢,也發現擴充先後文件系統
增長了部分容量。
注意事項
· 必定要確保 /dev/sdb2中全部的 PE都是Free PE,即沒有被使用的
· 必定要卸載卷後減小文件系統的容量
· 在減小文件系統前要進行磁盤檢查
· 建議通常不作減小lv容量操做。