Linux系統(tǒng)服務(wù)器的存儲空間巧妙管理 |
發(fā)布時間: 2012/8/13 9:44:40 |
對于Linux用戶而言,在安裝一臺Linux機器的時候,遇到的問題之一就是給各分區(qū)估計和分派足夠的硬盤空間。無論對一個正在為服務(wù)器尋找空間的系統(tǒng)管理員,還是一個磁盤即將用盡的普通用戶來說,這都是一個非常常見的問題。一般我們會想到解決的方法是:
1.掛接一個新的硬盤,然后使用符號鏈接,鏈接到新的硬盤。 2.利用一些調(diào)整分區(qū)大小的工具(比如Pqmagic),進行無損傷數(shù)據(jù)分區(qū)。 一、問題的提出 但是,這些都只是暫時性的解決辦法,而且都需要讓機器停止運行或者持續(xù)很長時間的分區(qū)工作而不能正常提供服務(wù)。即使緩解了硬盤空間問題,不久,仍然會面臨同樣的問題。 這對于一個大型站點來說,有著數(shù)量眾多的客戶、又連接在互聯(lián)網(wǎng)上,只要你的服務(wù)器關(guān)機一分鐘,都會給公司帶來很大損失。此外,使用這種方法,在修改了分區(qū)表之后,每一次都得重新啟動系統(tǒng)。因此,我們可以采用新技術(shù)LVM(邏輯卷管理程序)可以幫助我們解決這些問題。 二、什么是LVM LVM(LogicalVolumeManager,邏輯卷管理器)是一種把硬盤驅(qū)動器空間分配成邏輯卷的方法,使硬盤不必使用分區(qū)也能被簡單地重新劃分大小。傳統(tǒng)上,一個分區(qū)大小是靜態(tài)的。假如一個用戶在這個分區(qū)上沒有空間時,他要么重新分區(qū)(這可能要求整個操作系統(tǒng)重裝),要么像符號連接一樣使用組裝機。 使用LVM,硬盤驅(qū)動器或硬盤驅(qū)動器集合就會分配給一個或多個物理卷(physicalvolumes)。物理卷被合并成邏輯卷組(logicalvolumegroup),惟一例外的是/boot分區(qū)。由于物理卷無法跨越一個以上驅(qū)動器,如果想讓邏輯卷組跨越一個以上驅(qū)動器,就應(yīng)該在驅(qū)動器上創(chuàng)建一個或多個物理卷。邏輯卷組被分成邏輯卷(logicalvolumes),被分配了掛載點(如/home和/),以及文件系統(tǒng)類型(如ext3)。當(dāng)“分區(qū)”達到了它們的極限,邏輯卷組中的空閑空間就可以被添加給邏輯卷來增加分區(qū)的大小。當(dāng)某個新的硬盤驅(qū)動器被添加到系統(tǒng)上,它也可以被添加到邏輯卷組中,邏輯卷是可以擴展的分區(qū)。由于LVM允許在機器的物理存儲資源以外創(chuàng)建邏輯卷,并且邏輯卷可以在系統(tǒng)仍處于運行狀態(tài)時擴充和縮減,所以就為Linux系統(tǒng)管理員提供了他們夢寐以求的存儲器靈活性。 LVM的作用:LVM的實際運作情形則根據(jù)作法不同,而有所差異;但LVM通常包括實體儲存分群(physicalstoragegrouping)、重設(shè)邏輯扇區(qū)大。╨ogicalvolumeresizing)、以及數(shù)據(jù)轉(zhuǎn)移(datamigrating)。 三、LVM的歷史 當(dāng)然,LVM并不是最新技術(shù),早在UNIX操作系統(tǒng)時代,像HP,IBMAIX上就可以看到VM的身影,作為IBM的旗艦產(chǎn)品,AIX很早就支持了動態(tài)邏輯分區(qū)(DVM),當(dāng)然,它的DVM設(shè)計是比較厲害的,此后在AIX5L中,重構(gòu)了UNIX內(nèi)核,增加了邏輯卷管理(LVM)和日志文件系統(tǒng)(JFS)等功能。使之AIX更加強大。在各種商業(yè)UNIX系統(tǒng)中,譬如AIX,HP-UNIX,Tru64UNIX等系統(tǒng)中,邏輯卷管理已經(jīng)被廣泛采用,成了事實上的一個標(biāo)準(zhǔn)。 LVM的功能于2.3內(nèi)核發(fā)展中版本納入支持。2001年1月,Linux2.4.0內(nèi)核發(fā)布,開始正式支持邏輯卷管理,使得Linux新內(nèi)核更適應(yīng)于服務(wù)器的應(yīng)用。以前版本的Linux必須要在內(nèi)核上打上相應(yīng)的補丁才到實現(xiàn)LVM功能,F(xiàn)在,我們看到從RedhatLinux9.0已經(jīng)在內(nèi)核級支持LVM.因此,我們可以使用LVM來幫助我們更加有效的管理磁盤。 要注意的是LVM有兩個版本,分別為LVM1與LVM2,相關(guān)工具與設(shè)定方式會有些差異性,本文都會使用LVM2的環(huán)境介紹使用。LVM1命令只能在2.4內(nèi)核上工作。當(dāng)運行2.6內(nèi)核時,不能使用LVM1命令。關(guān)于更多關(guān)于LVM2的信息,請參閱/usr/share/doc/lvm2*/WHATS_NEW.一個完整的LVM2命令被安裝在/usr/sbin/.在/usr/還無效的啟動環(huán)境中,每個命令前需要加上/sbin/lvm.static(例如,/sbin/lvm.staticvgchange-ay)。在/usr/有效的環(huán)境中,不再需要在每個命令前加lvm(例如,/usr/sbin/lvmvgchange-ay變?yōu)?usr/sbin/vgchange-ay)。新的LVM2命令(例如,/usr/sbin/vgchange-ay和/sbin/lvm.staticvgchange-ay)會檢測您是否在運行2.4內(nèi)核。如果是,它會調(diào)用舊的LVM1命令。 四、LVM結(jié)構(gòu)和分類 LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環(huán)境下對磁盤分區(qū)進行管理的一種機制,它將多個物理分區(qū)匯聚為一個卷組(VolumeGroup),而且這些物理卷的大小可以不相同,甚至類型也可以不同(如SCSI、SATA磁盤)。組成的卷組就像一塊大硬盤,然后再從中分割出一塊一塊的邏輯卷(LogicalVolume),并進一步在邏輯卷組上創(chuàng)建文件系統(tǒng)。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |