


巧妙管理Linux系統(tǒng)服務器存儲空間
對于linux用戶而言,在安裝一臺Linux機器的時候,遇到的問題之一就是給各分區(qū)估計和分派足夠的硬盤空間。無論對一個正在為服務器尋找空間的系統(tǒng)管理員,還是一個磁盤即將用盡的普通用戶來說,這都是一個非常常見的問題。一般我們會想到解決的方法是:
1. 掛接一個新的硬盤,然后使用符號鏈接,鏈接到新的硬盤。
2. 利用一些調(diào)整分區(qū)大小的工具(比如Pqmagic),進行無損傷數(shù)據(jù)分區(qū)。
一、問題的提出
但是,這些都只是暫時性的解決辦法,而且都需要讓機器停止運行或者持續(xù)很長時間的分區(qū)工作而不能正常提供服務。即使緩解了硬盤空間問題,不久,仍然會面臨同樣的問題。
這對于一個大型站點來說,有著數(shù)量眾多的客戶、又連接在互聯(lián)網(wǎng)上,只要你的服務器關機一分鐘,都會給公司帶來很大損失。此外,使用這種方法,在修改了分區(qū)表之后,每一次都得重新啟動系統(tǒng)。因此,我們可以采用新技術LVM(邏輯卷管理程序)可以幫助我們解決這些問題。
二、什么是LVM
LVM(Logical Volume Manager,邏輯卷管理器)是一種把硬盤驅(qū)動器空間分配成邏輯卷的方法,使硬盤不必使用分區(qū)也能被簡單地重新劃分大小。傳統(tǒng)上,一個分區(qū)大小是靜態(tài)的。假如一個用戶在這個分區(qū)上沒有空間時,他要么重新分區(qū)(這可能要求整個操作系統(tǒng)重裝),要么像符號連接一樣使用組裝機。
使用LVM,硬盤驅(qū)動器或硬盤驅(qū)動器集合就會分配給一個或多個物理卷(physical volumes)。物理卷被合并成邏輯卷組(logical volume group),惟一例外的是/boot分區(qū)。由于物理卷無法跨越一個以上驅(qū)動器,如果想讓邏輯卷組跨越一個以上驅(qū)動器,就應該在驅(qū)動器上創(chuàng)建一個或多個物理卷。邏輯卷組被分成邏輯卷(logical volumes),被分配了掛載點(如/home和/),以及文件系統(tǒng)類型(如ext3)。當“分區(qū)”達到了它們的極限,邏輯卷組中的空閑空間就可以被添加給邏輯卷來增加分區(qū)的大小。當某個新的硬盤驅(qū)動器被添加到系統(tǒng)上,它也可以被添加到邏輯卷組中,邏輯卷是可以擴展的分區(qū)。 由于LVM允許在機器的物理存儲資源以外創(chuàng)建邏輯卷,并且邏輯卷可以在系統(tǒng)仍處于運行狀態(tài)時擴充和縮減,所以就為Linux系統(tǒng)管理員提供了他們夢寐以求的存儲器靈活性。
LVM的作用:LVM 的實際運作情形則根據(jù)作法不同,而有所差異;但 LVM 通常包括實體儲存分群(physical storage grouping)、重設邏輯扇區(qū)大小(logical volume resizing)、以及數(shù)據(jù)轉(zhuǎn)移(data migrating)。
三、LVM的歷史
當然,LVM并不是最新技術,早在UNIX操作系統(tǒng)時代,像HP,IBM AIX上就可以看到VM的身影,作為IBM的旗艦產(chǎn)品,AIX很早就支持了動態(tài)邏輯分區(qū)(DVM),當然,它的DVM設計是比較厲害的,此后在AIX 5L中,重構了UNIX內(nèi)核,增加了邏輯卷管理(LVM)和日志文件系統(tǒng)(JFS)等功能。使之AIX更加強大。在各種商業(yè)UNIX系統(tǒng)中,譬如AIX,HP-UNIX,Tru64 UNIX等系統(tǒng)中,邏輯卷管理已經(jīng)被廣泛采用,成了事實上的一個標準。
LVM 的功能于2.3 內(nèi)核發(fā)展中版本納入支持。2001年1月,Linux 2.4.0內(nèi)核發(fā)布,開始正式支持邏輯卷管理,使得Linux新內(nèi)核更適應于服務器的應用。以前版本的Linux必須要在內(nèi)核上打上相應的補丁才到實現(xiàn)LVM功能。現(xiàn)在,我們看到從Redhat Linux 9.0已經(jīng)在內(nèi)核級支持LVM。因此,我們可以使用LVM來幫助我們更加有效的管理磁盤。
要注意的是 LVM 有兩個版本,分別為 LVM 1 與 LVM 2,相關工具與設定方式會有些差異性,本文都會使用 LVM 2 的環(huán)境介紹使用。LVM1 命令只能在 2.4 內(nèi)核上工作。當運行 2.6 內(nèi)核時,不能使用 LVM1 命令。關于更多關于 LVM2 的信息,請參閱 /usr/share/doc/lvm2*/WHATS_NEW。一個完整的 LVM2 命令被安裝在 /usr/sbin/。在 /usr/ 還無效的啟動環(huán)境中,每個命令前需要加上 /sbin/lvm.static(例如, /sbin/lvm.static vgchange -ay)。 在 /usr/ 有效的環(huán)境中,不再需要在每個命令前加 lvm (例如,/usr/sbin/lvm vgchange -ay 變?yōu)?/usr/sbin/vgchange -ay)。 新的 LVM2 命令(例如,/usr/sbin/vgchange -ay 和 /sbin/lvm.static vgchange -ay)會檢測您是否在運行 2.4 內(nèi)核。如果是,它會調(diào)用舊的 LVM1 命令。
四、LVM結(jié)構和分類
LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環(huán)境下對磁盤分區(qū)進行管理的一種機制,它將多個物理分區(qū)匯聚為一個卷組(Volume Group),而且這些物理卷的大小可以不相同,甚至類型也可以不同(如SCSI、SATA磁盤)。組成的卷組就像一塊大硬盤,然后再從中分割出一塊一塊的邏輯卷(Logical Volume),并進一步在邏輯卷組上創(chuàng)建文件系統(tǒng)。
新文章:
- CentOS7下圖形配置網(wǎng)絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解