【摘要】硬盤空間伴隨著用戶的長期使用和服務器的需求增大,難免會有空間不足的情況發生。做為管理人員,既要保證原有數據不受破壞,又要動態增大或減少某些分區的容量。本文從Linux的LVM動態擴容和縮容兩方面探討方法和過程。
【關鍵詞】Linux;LVM;LV;動態
1.引言
磁盤和文件系統的規劃、管理是系統管理員的重要工作之一。Linux的磁盤分區和文件系統在規劃階段就要求根據需求建立,但評估和分配的結果往往不能適應后期容量的要求。利用Linux的LVM方案,可以比較從容地應對磁盤空間動態調整的需求。磁盤空間的調整有兩個相反的過程,一個是擴容,一個是縮容。但/boot分區比較特殊,其中存放的是引導文件,不允許基于LVM創建。
2.LVM
LVM(Logical Volume Manager)是指邏輯卷管理[1、2],它是建立在硬盤和分區之上,文件系統之下的一個邏輯層。一般過程是首先將普通分區或整個硬盤進行物理卷(PV)的創建,然后在PV上建立卷組(VG),再在VG上劃分出邏輯卷(LV)。三者之間的關系(以兩塊物理盤為例)如圖1所示。
創建LV的基本步驟如下。
(1)使用fdisk工具創建分區并修改分區的類型為“8e”。
(2)創建PV#pvcreate設備名1[設備名2……]
#pvcreate/dev/sdb1/dev/sdc1
創建基于PV的VG,指定VG名稱。
創建基于VG的LV,指定LV的名稱及大小。
(5)創建后的LV,要掛載后才能使用。而掛載之前,要格式化邏輯卷。
掛載后的檢測:
3.LV的動態增容
LV建立在VG之上,對于已經建立的LV,可以根據VG的大小動態增容。動態增容可以在線完成,不需要卸載設備、不需要停任何服務,也不需要重啟系統。
增容的命令
(2)更新系統識別的文件系統大小。#resi ze2fs/dev/VG名/LV名
增容后需要更新文件系統的大小后才能查看到掛載點的容量變化。
4.LV的縮容
邏輯卷可增容同樣也可縮容,但應在縮小LV之前首先縮小文件系統,否則將可能導致數據丟失。與動態增容不同,一般不建議對LV進行容量的縮減,而且這種縮減并不支持動態縮容。使用lvreduce命令不當時容易造成現有數據的破壞,如果執行過程中遇到一些錯誤提示,則可能就需要重新格式化文件系統。
4.1 進行縮容之前
在進行縮容之前,要明確的幾個問題。
(1)縮容后的大小不能隨意指定,要至少滿足已經使用空間的需求。
(2)resize2fs只能縮小umount的非在線文件系統。
(3)收縮LV有可能會刪除邏輯卷上已有的數據,所以在操作前必須進行確認。
(4)與增容不同,縮容要求先縮小文件系統的大小,再縮小LV的大小。
4.2 縮容基本步驟
(1)卸載掛載設備:#umount掛載設備名
指令:# umount/stu
(2)強制檢查文件系統:#e2fsck-f LV名
指令:# e2fsck-f/dev/hzbgroup/stu
(3)調整文件系統的大小:#resize2fs/dev/VG名/LV名指定大小
指令:# resize2fs/dev/hzbgroup/stu 4G
(4)縮減LV的大小
可以使用lvresize重新指定LV的大小。
命令格式是:
#lvresize-size指定大小/dev/VG名/LV名
//這里指定的大小要與resize2fs命令中的指定大小保持一致
# lvresize-size 4G/dev/hzbgroup/stu
WARNING:Reducing active logical volume to 4.00 GB……
Do you really want to reduce stu?[y/n]:y//這里要確定(y)進行縮減操作
Reducing logical volume stu to 4.00 GB……
也可以使用lvreduce指令縮小LV指定大小的空間。
命令格式是:#lvreduce-L-大小/dev/VG名/LV名
縮容后的檢測:需要重新掛載再檢測。
5.小結
LVM是Linux系統默認的方式,它提高了磁盤管理的靈活性,使用起來很方便。LVM方式下的動態增容是在線增加,縮容則是離線縮減。調整好LV的大小后,一般要求設置開機后的自動掛載,通過修改/etc/fstab文件可以實現。上例中,可添加一行:
參考文獻
[1]張勤,鮮學豐.Linux從初學到精通[M].電子工業出版社,2012.
[2]董良,寧方明.Linux系統管理[M].人民郵電出版社, 2012.
[3]趙麗.基于LVM的磁盤空間管理[J].黑龍江生態工程職業學院學報,2012(02).
作者簡介:胡忠斌(1967—),男,安徽宿州人,大學本科,宿州第一職業高中中教一級,主要研究方向:機械加工。