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