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


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

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

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

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