理解Linux系統中的LVM管理:
LVM是 LogicalVolume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁碟分割進行管理的一種機制,它能夠在多個物理卷(PV)上建立虛擬磁碟卷組(VG),然後在磁碟卷組上建立邏輯卷(LV),從而突破傳統分區帶來的一些限制,那麼要更好的理解LVM,首先需要理解傳統分區會有一些什麼樣的限制,然後理解LVM如何去突破這些限制。
首先理解使用傳統分區的限制:
不同的分區相對獨立,各個分區空間很容易發生利用率不平衡,比如一個分區的已經快被寫滿了,但是另一個分區還有很大的容量。當一個分區儲存已滿時,無法對其靈活的擴充,如果要對該分區擴容,只能採用該這個即將被充滿,或者已經被充滿的分區中的資料先複製到另一個存放裝置上,然後重新規劃該分區,再次建立檔案系統,非常麻煩。這個過程需要資料的備份與恢複,總而言之:你無法對傳統分區進行增量式的擴容,所謂增量式的擴容就是:大小為50G的D分區,這次為D分區擴容到70G,然後下次從70G擴容到90G,而這個過程不需要重新的規劃分區表及格式化該分區。
LVM對傳統分區概念的破突:
如1所示:它首先突破了傳統硬碟上分區之間相互獨立的特性,它將幾個不同的物理卷PV(事實上就是物理分區比中的sdb1和sdc1),規劃成一個虛擬卷組(VG),這個所謂的虛擬卷組(VG)實際上相當於將分布在sdb1和sdc1的物理卷上空餘的空間組織成一張整體的虛擬硬碟(也叫虛擬卷組VG),然後在這虛擬硬碟(虛擬卷組VG)上重新的規劃邏輯卷(LV),也就是相當於在虛擬硬碟上重新的規劃分區,而重新被規劃的分區(邏輯卷LV),它增量擴容的特性,比如說,一個邏輯卷最初被規劃為10G的容量,當發現容量不夠時,只需要使用相關指令將最初10G的邏輯卷增容到15G,在整個增容的過程中,你不再需要將該卷上的資料先備份出來,再做格式化,最後把資料恢複進入該卷,VLM省去了這個傳統分區擴容的繁瑣過程,效率將更高!
示範:在Linux作業系統上LVM的實現與效果驗證
示範目標:在Linux作業系統上LVM的實現與效果驗證。
示範環境:任意一台安裝了3張scsi硬碟的Linux作業系統,為什麼是3張硬碟?這不是因為其它什麼要求或者原因,只是因為筆者的Linux系統中的第1張硬碟用於存放引導和系統檔案,然後使用另外2張硬碟來完成這個實驗,為什麼又要使用兩張硬碟?這是為了讓大家看到LVM垮越多個物理卷的效果。整個實驗可以通過虛擬機器完成。
示範背景:示範的背景如下所述:
ü首先使用fidis –l 查看安裝了2張新硬碟的情況
ü然後為兩張硬碟分區,也就建立兩個物理卷。
ü然後為兩個物理卷指定格式系統為LVM使用的8e。
ü建立一個虛擬卷組,然後將兩個物理卷加入到虛擬卷組,啟用虛擬卷組。
ü在虛擬卷組上建立新的邏輯卷,使用Ext3格式化該卷,然後對該卷執行掛載,並在邏輯卷上存入資料。
ü然後增容該邏輯卷,體驗LVM的優勢。
示範步驟:
第一步:在終端視窗使用fdisk –l查看當前Linux系統使用硬碟的情況,用於實驗的兩張新硬碟是否被作業系統識別、盤號、是否被格式化等資訊,具體如2所示;
第二步:現在進入第二張硬碟/dev/sdb,然後如3所示的步驟,分別為該硬碟建立一個物理分區,並將物理分區轉換成Linux LVM類型的格式,最後儲存分區表,這個過程特別重要一個步驟都不能少,否則待兒LVM建立會失敗,注意對第三張硬碟/dev/sdc,也是採取相同的操作步驟,所以這裡不再重複描述。
第三步:現在來再次使用fdisk –l來查看當前系統硬碟和分區的態狀、格式類類,發4所示,可看出兩張新硬碟,每張硬碟各自被劃分為僅一個分區,分區編號分別是sdb1和adc1,然後格式類型為LinuxLVM。這為最終實現LVM作好了準備。
第四步:現在正式來配置LVM,如5所示,首先建立一個由兩個物理分區組成的物理卷,然後在物理卷上建立一個名為vdisk1的虛擬卷組,將這個虛擬卷組啟用,最後在這個虛擬卷組上建立一個邏輯卷(相當於就是一個新的可用於增量擴容的分區)。
第五步:當完成邏輯卷的建立後,現在就需要使用mkfs指令使用ext3來格式化該邏輯卷,具體操作如6所示,為了保證能正常的使用建立的lvml邏輯卷,你還必須將這個邏輯卷如同常規的物理分區一樣的執行掛載任務。否則不能正常使用該卷。
注意:不難發現,實施LVM的過程,也正如描述LVM工作意義圖那樣簡單,值得注意的是:在成功建立了LVM的邏輯卷後,你也必須要對該卷執行格式化和檔案掛載,你必須得把該邏輯卷看成是一個正常的物理卷使用,但是當擴容該卷時會發現它的優點,下面的步驟將證實它的優勢!
第六步:如果後續要為邏輯卷擴容,直接增加邏輯卷的容量即可,並不需要新格式化卷,所以也不會造成現在邏輯卷上的檔案丟失,現在可以來做一個測試,在您剛建立的邏輯卷上建立一個檔案(lvmtesting),主要目標是觀察擴容後是否需要對邏輯卷做重新的格式化,建立的檔案是否會丟失,如7所示。
現在將這個vdisk1卷組中的lvml邏輯卷擴容1G,使其從原來的5G變成6G的容量,具體操作如下所示,Lvextend為擴容的指令,-L+1G指示在原有容量的容量上擴容1G,並使用/dev/vdisk1/lvml申明增容的邏輯卷。