(轉)管理LVM2邏輯分割槽

denniswwh發表於2009-12-10

作者:knight

使用LVM以後,維護分割槽(也就是LV)大小就成了經常的操作。之前也做過,不過這兩天用到的時候卻忘的差不多了,所以又得從頭再來。為了下次不用再從頭來,索性就把操作記錄下來吧。

增大分割槽和減小分割槽這兩個最常用了,這裡也就說這麼多。

[@more@]

1、增大分割槽

首先要確定VG是否還有剩餘的PE。如果PE沒有剩餘了,就得考慮先增加新的PV或者釋放更多的剩餘PE,新增PV這裡不做介紹,下一部分的減小分割槽卻會釋放更多的PE。PE的使用情況可以用vgdisplay命令檢視。
~# vgdisplay
--- Volume group ---
VG Name DeYang
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 6
Max PV 0
Cur PV 1
Act PV 1
VG Size 72.13 GB
PE Size 4.00 MB
Total PE 18465
Alloc PE / Size 16946 / 66.20 GB
Free PE / Size 1519 / 5.93 GB
VG UUID M5HZVk-8k0w-W0nR-RpWi-C3Pw-gqCZ-vRPQ6L
藍色部分就顯示了PE的使用情況,上邊的資料表明還有1519個PE沒有使用,大小為5.93GB。

增大分割槽使用lvextend命令。格式如下:
lvextend -L size lv名或者路徑
size可以直接寫成增加後的大小,也可以寫“+”,然後再跟增加的大小。size是有單位的,因此要注意跟上單位,我用M,比較容易跟其他工具對比使用。

我的命令:
# lvextend -L +4M /dev/DeYang/usr
Extending logical volume usr to 5.79 GB
Logical volume usr successfully resized

分割槽增大完後,還需要把檔案系統也做相應的調整,這樣系統才會正用到增大的空間。對ext2/ext3檔案系統來說,使用resize2fs命令調整:
resize2fs 分割槽裝置名
resize2fs工具不帶size引數的時候,會自動調整檔案系統到分割槽的新容量。這個用法也給增大分割槽帶來了很大的方便。

我的命令:
# resize2fs /dev/mapper/DeYang-usr

這樣增大分割槽就完成了。用df命令對比立刻就可以看到效果。呼應上邊的調整尺度,df命令可以使用-B M引數,這樣更容易對比。

我的命令:
# df -B M
檔案系統 1M-塊 已用 可用 已用% 掛載點
/dev/mapper/DeYang-root
268M 116M 139M 46% /
tmpfs 379M 0M 379M 0% /lib/init/rw
udev 10M 1M 10M 1% /dev
tmpfs 379M 1M 379M 1% /dev/shm
/dev/hda1 236M 19M 206M 9% /boot
/dev/mapper/DeYang-tmp
380M 11M 350M 3% /tmp
/dev/mapper/DeYang-usr
5832M 3786M 1756M 69% /usr
/dev/mapper/DeYang-var
2886M 561M 2180M 21% /var
/dev/mapper/DeYang-home
55121M 8828M 43494M 17% /home


2、減小分割槽

減小分割槽的過程與增大分割槽剛好相反,需要先resize檔案系統,然後再reduce分割槽。但是,和增大分割槽對比,減少分割槽受的限制卻比較多。

首先,對ext2/ext3檔案系統來說,resize2fs工具並不能線上縮小檔案系統。什麼是線上?就像在增大分割槽裡邊說的那樣,對一個正常使用的檔案系統進行增大操作,就叫線上操作。因此,比需要先解除安裝了這個分割槽的檔案系統才行。

其次,resize2fs工具也不能像LVM的工具那樣,可以指定增量或者是減量,因此必須要知道分割槽減小以後的容量大小才可以。這個容量也是有單位的,我也用M。

幸虧,LVM的分割槽減小工具lvreduce,也提供了減量和絕對量兩種方式,所以減小分割槽的時候可以都採用絕對容量比較容易一些。

最後,resize2fs工具可能會提示要e2fsck -f這塊分割槽,可以帶上-f選項強制執行,不過我建議還是讓檢查一下比較保險。

命令格式:
resize2fs device size
lvreduce -L size lv名或者路徑
和增大分割槽相似,resize2fs命令在最後加上新容量大小;lvreduce命令如果要跟減量的話,就變成了“-”。

我的命令:
解除安裝檔案系統
# df -B m
檔案系統 1M-塊 已用 可用 已用% 掛載點
/dev/mapper/DeYang-root
268M 116M 139M 46% /
tmpfs 379M 0M 379M 0% /lib/init/rw
udev 10M 1M 10M 1% /dev
tmpfs 379M 1M 379M 1% /dev/shm
/dev/hda1 236M 19M 206M 9% /boot
/dev/mapper/DeYang-tmp
380M 11M 350M 3% /tmp
/dev/mapper/DeYang-usr
5832M 3786M 1756M 69% /usr
/dev/mapper/DeYang-var
2886M 561M 2180M 21% /var
/dev/mapper/DeYang-home
55121M 8831M 43490M 17% /home
/dev/mapper/DeYang-testlv
1008M 2M 956M 1% /mnt/tmp
# umount /dev/DeYang/testlv
#
# resize2fs /dev/DeYang/testlv 800M
resize2fs 1.40-WIP (14-Nov-2006)
Please run 'e2fsck -f /dev/DeYang/testlv' first.

# e2fsck -f /dev/DeYang/testlv
e2fsck 1.40-WIP (14-Nov-2006)
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/DeYang/testlv: 11/131072 files (9.1% non-contiguous), 4443/262144 blocks
#
# resize2fs /dev/DeYang/testlv 800M
resize2fs 1.40-WIP (14-Nov-2006)
Resizing the filesystem on /dev/DeYang/testlv to 204800 (4k) blocks.
The filesystem on /dev/DeYang/testlv is now 204800 blocks long.

#
# lvreduce -L 800M /dev/DeYang/testlv
WARNING: Reducing active logical volume to 800.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce testlv? [y/n]: y
Reducing logical volume testlv to 800.00 MB
Logical volume testlv successfully resized
#
# mount /dev/DeYang/testlv /mnt/tmp/
# df -B m
檔案系統 1M-塊 已用 可用 已用% 掛載點
/dev/mapper/DeYang-root
268M 116M 139M 46% /
tmpfs 379M 0M 379M 0% /lib/init/rw
udev 10M 1M 10M 1% /dev
tmpfs 379M 1M 379M 1% /dev/shm
/dev/hda1 236M 19M 206M 9% /boot
/dev/mapper/DeYang-tmp
380M 11M 350M 3% /tmp
/dev/mapper/DeYang-usr
5832M 3786M 1756M 69% /usr
/dev/mapper/DeYang-var
2886M 561M 2180M 21% /var
/dev/mapper/DeYang-home
55121M 8831M 43490M 17% /home
/dev/mapper/DeYang-testlv
786M 2M 753M 1% /mnt/tmp
#

根檔案系統所在LVM無損收縮全攻略[第九期]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/124805/viewspace-1029589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章