Linux下的邏輯卷管理
摘要:邏輯卷管理(LogicVolumeManager,LVM)是UNIX家族里一種優(yōu)秀且被廣為采用的分區管理方案,故Linux支持LVM是必然的。介紹邏輯卷管理的概念、實(shí)現機理。結合實(shí)際事例,在Linux下運用LVM處理硬盤(pán)空間分區的問(wèn)題。表明LVM的獨特優(yōu)點(diǎn),可以極大地方便分區管理。
本文引用地址:http://dyxdggzs.com/article/149088.htmLinux開(kāi)始于芬蘭赫爾辛基大學(xué)的LinusTorvalds的業(yè)余愛(ài)好。自從1992年發(fā)布第一個(gè)正式版以來(lái),這只“企鵝”以其自由開(kāi)放的代碼和卓越的性能,贏(yíng)得了全世界越來(lái)越多的電腦迷的青睞。許許多多的軟、硬件制造商和愛(ài)好者都參與了Linux的推廣和發(fā)展。邏輯卷管理,就是在這樣的情形下,被Linux采用集成的。
在各種商業(yè)UNIX系統中,譬如AIX,HP-UNIX,Tru64UNIX等系統中,邏輯卷管理已經(jīng)被廣泛采用,成了事實(shí)上的一個(gè)標準。2001年1月,Linux2.4.0內核發(fā)布,開(kāi)始支持邏輯卷管理,使得Linux新內核更適應于服務(wù)器的應用。近期發(fā)布的RH7.3在安裝時(shí)已經(jīng)把邏輯卷管理作為單獨安裝模塊供用戶(hù)選擇,進(jìn)一步表明LVM應用上的趨勢。
1邏輯卷管理簡(jiǎn)介
邏輯卷管理(LogicVolumeManager),簡(jiǎn)稱(chēng)LVM,是與傳統的靜態(tài)分區完全不同的磁盤(pán)管理方法。如果給其下定義的話(huà),就是一系列用于建立和控制邏輯卷區域的操作系統命令、庫函數和其它工具的集合。邏輯卷管理(LVM)把實(shí)際性物理磁盤(pán)數據映射到一個(gè)簡(jiǎn)單而靈活的虛擬性的邏輯存儲視圖上,藉以控制磁盤(pán)資源。這樣,也就是重新考慮了管理文件系統和卷的方法,系統在文件系統管理中增加了一個(gè)額外的抽象層,不需要深入細節的了解,可以實(shí)現虛擬分區或者動(dòng)態(tài)建立一個(gè)邏輯卷以及更改卷的大小,允許文件系統跨越磁盤(pán)等功能。因此,相對與傳統的磁盤(pán)和分區,對磁盤(pán)存儲,LVM提供了一個(gè)更高的視角。這給了系統管理員向應用程序和用戶(hù)分配空間以更高的靈活性?,F在的Linux以標準兼容的方式提供了LVM的支持,讓商業(yè)UNIX使用者至少感到有些熟悉。
1.1基本原理
邏輯卷有幾個(gè)基本概念:物理卷,卷組,物理分區,邏輯卷和邏輯分區。
卷組(VolumeGroup(VG)):卷組是lvm里的最高抽象級。它把邏輯卷和物理卷集中在一個(gè)管理單位里面。
物理卷(physicalvolume(PV)):通常一個(gè)物理卷就是一塊硬盤(pán),或者看起來(lái)象一塊硬盤(pán)的設備,如軟件raid設備。
邏輯卷(LogicalVolume(LV):等同于非lvm系統下的分區,lv可以看作標準的塊設備,可以包含一個(gè)文件系統(如/home)。
物理盤(pán)區(PhysicalExtents(PE)):每個(gè)物理卷被分成很多數據集合塊,就是PE,PE的大小等同于卷組里的LV的大小。
邏輯盤(pán)區(logicalextent(LE)):每個(gè)邏輯卷被分成很多數據塊,叫邏輯盤(pán)區。
如圖1、2所示,它們各自的關(guān)系是:一個(gè)獨立的物理硬盤(pán)稱(chēng)為一個(gè)物理卷(PV),名為hda1,hdc1等。所有的物理卷屬于一個(gè)稱(chēng)為diskvg的卷組(VG)。在卷組中的所有物理卷被劃分成大小一樣的物理盤(pán)區(PEs)。在每個(gè)卷組內,定義了幾個(gè)邏輯卷(LVs)。邏輯卷是位于物理卷上的信息集合,在邏輯卷上的數據對用戶(hù)來(lái)說(shuō)是連續的,但在實(shí)際物理卷上的分布可能是不連續的。每個(gè)邏輯卷由一個(gè)或多個(gè)邏輯盤(pán)區(LEs)組成,如果邏輯卷做了鏡像,那就要分配附加的物理盤(pán)區用于存儲邏輯盤(pán)區的附加拷貝。邏輯卷可用于很多文件系統,如圖中的ext2,xfs等等。


2LVM的應用
2.1配置、編譯和安裝
對于2.4以后的內核,LVM已經(jīng)被模塊集成了,只需要編譯內核時(shí)選上LVM就可以了。使用者可能不希望使用自帶的(或發(fā)行版提供的)2.4內核所包括的LVM支持,而想使用最新的LVM版本,那么要將LVMtar文件中的補丁程序應用到當前的內核源碼樹(shù)即可。
使用的環(huán)境為一臺高校BBS服務(wù)器,RH7.1,使用內核2.4.18,依據如下步驟安裝LVM。

在“Multi-devicesupport(RAIDandLVM)”部分中選中它,這樣才可以找到LVM選項:
[*]Multipledevicesdriversupport(RAIDandLVM)
....然后將看到以下選項,您也應該啟用它們:<*>Logicalvolumemanager(LVM)support
完成后,保存內核配置,并執行標準內核編譯例程,然后重新引導。這樣,已啟用了內核LVM支持;現在,需要編譯和安裝用戶(hù)磁盤(pán)空間工具。這一步很簡(jiǎn)單。
先轉到lvm的目錄下。

另外還有一步,它是可選的。如果要做的不僅是測試LVM,還需要將以下幾行添加到啟動(dòng)rc腳本中。

這些行將瀏覽所有可用的卷組并激活它們。然后,將以下這行添加到關(guān)機rc腳本中,并確保它在卸裝了所有文件系統后執行。
/sbin/vgchange-an
如果只是測試LVM,可以跳過(guò)這些步驟。只是要記住,在每次重新引導后,在邏輯卷可以使用前,需要以root輸入“vgscan”和“vgchange-ay”。
2.2碰到的實(shí)際空間問(wèn)題及解決
該服務(wù)器使用QUANTUM30GB硬盤(pán),有20GB用于ftp服務(wù),現在由于BBS數據的逐步增大,擬取消ftp服務(wù),用于增加BBS數據分區。由于BBS的新數據均被添加到/home目錄下,所以解決辦法就是把/home目錄轉移到邏輯卷里。
①首先對20GB的硬盤(pán)空間(這里是/dev/hda5)進(jìn)行分區,將分區的分區類(lèi)型設置為“8E”(正規LVM分區類(lèi)型),然后重新啟動(dòng)系統,以重新讀取分區表。
接下來(lái),將這20GB的分區初始化成物理卷,然后,使用這個(gè)物理卷創(chuàng )建一個(gè)卷組,最后,在卷組上分配一些范圍,創(chuàng )建將包含新文件系統并存放當前/home中所有文件的邏輯卷。
②用pvcreate命令將/dev/hda5初始化成物理卷。
③然后創(chuàng )建卷組并向該卷組添加/dev/hda5,創(chuàng )建卷組之后,才可以創(chuàng )建所需數量的邏輯卷。這里將卷組稱(chēng)為“bbs”。
④可以用vgdisplay來(lái)查看卷組的詳細信息?,F在用lvcreat命令創(chuàng )建邏輯卷,大小為10G,名字為“l(fā)vhome”。
⑤然后,在邏輯卷上創(chuàng )建文件系統:mke2fs/dev/bbs/lvbbs。
⑥下面的步驟,就是把邏輯卷mount上一個(gè)跟分區的目錄,進(jìn)入單用戶(hù)模式拷貝/home目錄的數據到邏輯卷上。修改/etc/fstab文件,以保證下次啟動(dòng)使用該分區。
3結論
邏輯卷在linux下的采用使得管理文件系統變得非常容易,雖然配置LVM略顯麻煩。假如日后數據進(jìn)一步增大,則只需要簡(jiǎn)單使用lvextend命令給邏輯卷增加容量即可,這種增加,不需要重啟,不需要把運行級別降低到1,甚至不需要umount分區。LVM的這些優(yōu)點(diǎn)和特性。隨著(zhù)在實(shí)際管理中進(jìn)一步地應用、發(fā)掘,就可以領(lǐng)略到LVM方便分區管理的優(yōu)越之處。
Linux下的邏輯卷管理
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)linux相關(guān)文章:linux教程
評論