Unix系統(tǒng)中LVM硬盤管理的好幫手
平時(shí)在部署Unix操作系統(tǒng)規(guī)劃分區(qū)的時(shí)候,最讓我們頭疼的問題是什么呢?恐怕就是硬盤空間大小的分配了。如剛開始可能只有少數(shù)幾個(gè)同事需要用到這臺(tái)unix電腦,為此只給home目錄規(guī)劃不多的空間??墒请S著用戶的增加,home目錄的空間就逐漸被消耗光了。此時(shí)該如何處理呢?如果沒有采用LVM機(jī)制來管理硬盤空間的話,則即使硬盤中還有剩余的空間,系統(tǒng)工程師也無法馬上把剩余的空間跟當(dāng)前采用的home目錄合并。而是需要先把Home目錄中的當(dāng)前數(shù)據(jù)復(fù)制到其他空間中,然后把當(dāng)前的目錄與硬盤的剩余空間進(jìn)行合并,并格式化成可用的文件系統(tǒng)。最后再把數(shù)據(jù)復(fù)制到新的Home目錄中。可見類似的操作很麻煩,而且很容易導(dǎo)致原有數(shù)據(jù)的破壞。
如果需要增加swap分區(qū)的容量,那么還簡單一點(diǎn)??梢园熏F(xiàn)有硬盤中的可用空間格式化成Swap文件系統(tǒng)并掛載到現(xiàn)有的swap空間即可。但是,這個(gè)后來掛載的swap空間雖然不需要格式化原有的swap 空間,可是這個(gè)后來增加的swap空間的執(zhí)行效率并沒有原始的swap分區(qū)那么好。為此采用掛栽的方式來增加Swap空間也是不得已而為之的事情。
那么在Unix操作系統(tǒng)中有否其他的解決方式呢?為了讓Unix操作系統(tǒng)能夠更加靈活的管理硬盤空間,專家們提出了LVM(邏輯卷管理器)的解決方案。通過這個(gè)解決措施,系統(tǒng)工程師可以在不格式化原有分區(qū)的情況下,便利的擴(kuò)展原有的分區(qū)大小。如可以縮小某個(gè)分區(qū)的大小,把節(jié)省下來的空間給其他需要的分區(qū)等等。如下圖所示,LVM可以幫助系統(tǒng)管理員解決如下問題:
一、任意調(diào)整Unix目錄大小。
如在使用過程中,由于用戶數(shù)量的增多,/home目錄空間不能夠滿足當(dāng)前的需求。為此系統(tǒng)工程師需要把硬盤中沒有的空間劃給/home 目錄使用。此時(shí)如果采用了邏輯卷管理的話,則在不格式化原有/home目錄分區(qū)的情況下,即可以擴(kuò)大原有的/home目錄大小。假設(shè)我們現(xiàn)在硬盤1中還有20個(gè)G的剩余空間?,F(xiàn)在系統(tǒng)工程師需要把其中的10個(gè)G的容量給/home目錄。在不需要重新格式化原有/home目錄分區(qū)的情況下,只需要采用兩個(gè)簡單的命令即可以完成這個(gè)功能。
第一個(gè)命令:lvextend。
這個(gè)命令主要用來擴(kuò)展邏輯卷的大小。如上圖所示,如果采用LVM管理機(jī)制的話,可以把一個(gè)或者多個(gè)硬盤創(chuàng)建為邏輯卷組。然后Unix系統(tǒng)下的各個(gè)分區(qū)就是這個(gè)邏輯卷組下面的擴(kuò)展邏輯卷。現(xiàn)在系統(tǒng)工程師想要擴(kuò)展/home目錄的空間,就只需要增加home目錄所在分區(qū)的擴(kuò)展邏輯卷大小即可。為了實(shí)現(xiàn)這個(gè)目的,就只需要使用lvextend命令即可。如lvextend –L +10240 /home即可。在使用這個(gè)命令的時(shí)候,需要注意一個(gè)問題,即其采取的單位都是以M為單位,而不是以G為單位。所以如果需要增加10個(gè)G的空間的話,就需要使用10240。這主要是因?yàn)閭鹘y(tǒng)的分區(qū)命令都是以M為單位的。為此在設(shè)計(jì)這個(gè)解決方案的時(shí)候,仍然沿用了M為單位。這或多或少給系統(tǒng)工程師維護(hù)硬盤帶來了一定的麻煩。在利用這個(gè)命令的時(shí)候,需要注意這個(gè)細(xì)節(jié)問題。
第二個(gè)命令:resize_reiserfs
此時(shí)系統(tǒng)工程師可以利用lvdisplay命令來查看home目錄所在的擴(kuò)展邏輯卷組的大小,發(fā)現(xiàn)其容量確實(shí)增加了。但是如果使用df命令來查看home分區(qū)大小的話,會(huì)發(fā)現(xiàn)其仍然是原先的空間,還沒有改變。這主要是因位新創(chuàng)建的空間并不能夠直接拿來使用。這主要是因?yàn)樾聞?chuàng)建的空間文件系統(tǒng)跟Home目錄原有的格式不兼容。為了使用這個(gè)新增加的空間,系統(tǒng)工程師還需要使用resize_reiserfs命令來格式化新增加的空間,讓home目錄可以使用這個(gè)新增加的空間。
注意,通過以上兩個(gè)命令就可以擴(kuò)展Home目錄分區(qū)的大小。而在這整個(gè)過程中,筆者并沒有備份原有home目錄中的文件,也沒有重新格式化Home目錄所在的分區(qū)。也就是說,把HOME目錄分區(qū)當(dāng)作擴(kuò)展邏輯卷來管理,其空間可以實(shí)現(xiàn)動(dòng)態(tài)的調(diào)整。即在不格式化原有分區(qū)的情況下,可以實(shí)現(xiàn)動(dòng)態(tài)的調(diào)整。不過為了系統(tǒng)文件的安全,如果系統(tǒng)工程師第一次使用這個(gè)管理方法的話,則最好還是先對(duì)原有的文件進(jìn)行備份。以免因?yàn)檎`操作而導(dǎo)致文件被意外損壞。
二、LVM使用的限制。
雖然LVM提供了硬盤管理的一個(gè)捷徑。但是在使用過程中,仍然有一些使用方面的限制。如在Unix操作系統(tǒng)下部署LVM解決機(jī)制的時(shí)候,需要注意/boot分區(qū)的部署。如果把/boot分區(qū)部署在邏輯卷管理器上面的話,將導(dǎo)致Unix操作系統(tǒng)無法正常啟動(dòng)。這主要是因?yàn)樵诓僮飨到y(tǒng)啟動(dòng)的時(shí)候,開機(jī)管理程序需要讀取一些文件。而因?yàn)楝F(xiàn)在Unix操作系統(tǒng)采用的任何一款開機(jī)管理程序都無法讀取邏輯卷中的文件系統(tǒng)。所以如果把存放操作系統(tǒng)啟動(dòng)信息的/boot目錄部署在邏輯卷中的話,將導(dǎo)致Unix操作系統(tǒng)無法正常啟動(dòng)。如上圖所示,筆者在部署硬盤分區(qū)的時(shí)候,就沒有把/boot分區(qū)部署在邏輯卷中。而是在硬盤中獨(dú)立劃分了一塊區(qū)域,用來做/boot分區(qū)。還好這個(gè)分區(qū)往往是用來存放一些系統(tǒng)啟動(dòng)時(shí)的必要信息,為此其所需要的空間都是比較少的。為此在采用LVM解決方案時(shí),系統(tǒng)工程師切記要把/boot分區(qū)部署在獨(dú)立的分區(qū)中。即在硬盤上劃分一個(gè)獨(dú)立的分區(qū)給/boot用。
#p#第一步:自定義硬盤分區(qū)。
如果要采用LVM并把/boot部署在一個(gè)獨(dú)立的分區(qū)中(不采用邏輯卷中),那么在對(duì)硬盤進(jìn)行分區(qū)的時(shí)候,就不能夠選擇默認(rèn)配置。而需要進(jìn)行自定義配置。在Unix系統(tǒng)的安裝設(shè)置界面中,單擊“正在分區(qū)”、“建立自定義分區(qū)設(shè)置”、“自定義磁盤分區(qū)-專家使用”,然后根據(jù)向?qū)磉M(jìn)行自定義硬盤分區(qū)。注意,不同的Unix操作系統(tǒng)版本,這個(gè)界面可能有所不同。不過這些選項(xiàng)都是類似的。憑著Unix系統(tǒng)工程師的專業(yè)知識(shí),到這一步為止應(yīng)該不會(huì)有多大的問題。重要的是注意下面第二步的配置。
第二步:建立Boot分區(qū)。
上面筆者多次強(qiáng)調(diào),在部署LVM的過程中,需要把/boot分區(qū)部署在獨(dú)立的硬盤分區(qū)中,否則的話會(huì)因?yàn)閱?dòng)管理程序無法讀取LVM卷中的數(shù)據(jù)而導(dǎo)致啟動(dòng)失敗。所以在進(jìn)入專家分區(qū)工具之后,系統(tǒng)工程師第一件要做的事情就是為/boot建立一個(gè)獨(dú)立的分區(qū)。注意在建立這個(gè)分區(qū)的時(shí)候,文件系統(tǒng)的格式要選擇為reiserfs文件系統(tǒng)格式。這一步不少系統(tǒng)工程師在部署的時(shí)候容易犯錯(cuò)誤,希望大家注意。
三、與Windows操作系統(tǒng)動(dòng)態(tài)磁盤的區(qū)別。
在微軟操作系統(tǒng)中,也有類似的解決方案,叫做動(dòng)態(tài)磁盤。動(dòng)態(tài)磁盤也可以根據(jù)用戶的需要,進(jìn)行動(dòng)態(tài)的分區(qū)調(diào)整。不過在具體實(shí)現(xiàn)上,兩者還有很大的區(qū)別。如根據(jù)筆者的了解,好像在Windows操作系統(tǒng)中,無法對(duì)操作系統(tǒng)所在的分區(qū)進(jìn)行調(diào)整。而在Unix操作系統(tǒng)中則沒有這方面的限制。另外,在Windows操作系統(tǒng)的動(dòng)態(tài)磁盤中,有一個(gè)比較較好的技術(shù),就是即使剛開始沒有采用動(dòng)態(tài)磁盤,在以后需要的時(shí)候還可以進(jìn)行調(diào)整。最關(guān)鍵的是,其后續(xù)進(jìn)行調(diào)整的時(shí)候,不用對(duì)原有的硬盤進(jìn)行重新格式化。為此也就可以避免數(shù)據(jù)的丟失。不過如果轉(zhuǎn)換為動(dòng)態(tài)磁盤后,就不能夠再轉(zhuǎn)回來。如果要轉(zhuǎn)回來的話,就需要重新格式化硬盤了。而在Unix操作系統(tǒng)中,必須在剛開始格式化硬盤的時(shí)候,就選擇采用LVM邏輯卷。而不能夠再部署好操作系統(tǒng)后再進(jìn)行調(diào)整。為此,如果系統(tǒng)工程師以前部署過動(dòng)態(tài)磁盤的話,這次在部署Unix操作系統(tǒng)下的邏輯卷管理器時(shí),就需要特別注意這兩種技術(shù)在實(shí)現(xiàn)細(xì)節(jié)上的差異。
另外需要再提醒的一點(diǎn)就是,系統(tǒng)工程師在剛接觸邏輯卷管理器的時(shí)候,為了操作系統(tǒng)中資料的安全,最好在調(diào)整分區(qū)之前把資料進(jìn)行備份。等到熟悉了這門技術(shù)之后,就可以不這么麻煩了。畢竟在操作系統(tǒng)維護(hù)中,系統(tǒng)資料的安全性必須百分之百的保證。而剛開始接觸這門技術(shù)的工程師,很容易會(huì)由于操作失誤而導(dǎo)致系統(tǒng)分區(qū)調(diào)整失敗。嚴(yán)重的話還會(huì)導(dǎo)致原有分區(qū)損壞而使得數(shù)據(jù)丟失。為此在第一次操作的時(shí)候,筆者認(rèn)為對(duì)數(shù)據(jù)進(jìn)行必要的備份是必須的。雖然這可能會(huì)耽誤一點(diǎn)時(shí)間,但是這與數(shù)據(jù)的安全性相比則是值得的。
【編輯推薦】