一切黔、 前言
??? 每個Linux使用者在安裝Linux時 都會遇到這樣的困境:在為系統(tǒng)分區(qū)時旺入,如何精確評估和分配各個硬盤分區(qū)的容量欢峰,因為系統(tǒng)管理員不但要考慮到當前某個分區(qū)需要的容量,還要預見該分區(qū)以后可能需要的容量的最大值狼渊。因為如果估計不準確熟史,當遇到某個分區(qū)不夠用時管理員可能甚至要備份整個系統(tǒng)馁害、清除硬盤、重新對硬盤分區(qū)蹂匹,然后恢復數(shù)據(jù)到新分區(qū)碘菜。
???? 雖然現(xiàn)在有很多動態(tài)調(diào)整磁盤的工具可以使用,例如Partation Magic等等限寞,但是它并不能完全解決問題炉媒,因為某個分區(qū)可能會再次被耗盡;另外一個方面這需要重新引導系統(tǒng)才能實現(xiàn)昆烁,對于很多關鍵的服務器吊骤,停機是不可接受的,而且對于添加新硬盤静尼,希望一個能跨越多個硬盤驅(qū)動器的文件系統(tǒng)時白粉,分區(qū)調(diào)整程序就不能解決問題。
????? 因此完美的解決方法應該是在零停機前提下可以自如對文件系統(tǒng)的大小進行調(diào)整鼠渺,可以方便實現(xiàn)文件系統(tǒng)跨越不同磁盤和分區(qū)鸭巴。那么我們可以通過邏輯盤卷管理(LVM,Logical Volume Manager)的方式來非常完美的實現(xiàn)這一功能拦盹。
?????? LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱鹃祖,他是磁盤管理的另一種工具,就目前基本上所有操作系統(tǒng)均支持普舆,LVM是建立在硬盤和分區(qū)之上的一個邏輯層恬口,來提高磁盤分區(qū)管理的靈活性校读。通過LVM系統(tǒng)管理員可以輕松管理磁盤分區(qū),如:將若干個磁盤分區(qū)連接為一個整塊的卷組(volume group)祖能,形成一個存儲池歉秫。管理員可以在卷組上隨意創(chuàng)建邏輯卷組(logical volumes),并進一步在邏輯卷組上創(chuàng)建文件系統(tǒng)养铸。管理員通過LVM可以方便的調(diào)整存儲卷組的大小雁芙,并且可以對磁盤存儲按照組的方式進行命名、管理和分配钞螟,例如按照使用用途進行定義:“DBdata”和“DBSoft”兔甘,而不是使用物理磁盤名“sda”和“sdb”或”hda”和”hdb”。而且當系統(tǒng)添加了新的磁盤鳞滨,通過LVM管理員就不必將磁盤的文件移動到新的磁盤上以充分利用新的存儲空間洞焙,而是直接擴展文件系統(tǒng)跨越磁盤即可,架構可以參考如下圖:
?
二太援、 LVM基本術語
??? 前面談到闽晦,LVM是在磁盤分區(qū)和文件系統(tǒng)之間添加的一個邏輯層扳碍,來為文件系統(tǒng)屏蔽下層磁盤分區(qū)布局提岔,提供一個抽象的盤卷,在盤卷上建立文件系統(tǒng)笋敞。首先我們討論以下幾個LVM術語:
物理存儲介質(zhì)(The physical media)
這里指系統(tǒng)的存儲設備:硬盤碱蒙,如:/dev/hda、/dev/sda等等啸箫,是存儲系統(tǒng)最低層的存儲單元嘲碱。
物理卷(physicalvolume)
物理卷就是指硬盤分區(qū)或從邏輯上與磁盤分區(qū)具有同樣功能的設備(如RAID)手蝎,是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(zhì)(如分區(qū)喷兼、磁盤等)比較,卻包含有與LVM相關的管理參數(shù)后雷。
卷組(Volume Group)
LVM卷組類似于非LVM系統(tǒng)中的物理硬盤季惯,其由物理卷組成⊥瓮唬可以在卷組上創(chuàng)建一個或多個“LVM分區(qū)”(邏輯卷)勉抓,LVM卷組由一個或多個物理卷組成。
邏輯卷(logicalvolume)
LVM的邏輯卷類似于非LVM系統(tǒng)中的硬盤分區(qū)候学,在邏輯卷之上可以建立文件系統(tǒng)(比如/home或者/usr等)藕筋。
PE(physical extent)
每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元梳码。PE的大小是可配置的隐圾,默認為4MB伍掀。
LE(logical extent)
邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中翎承,LE的大小和PE是相同的硕盹,并且一一對應。
????? 首先可以看到叨咖,物理卷(PV)被由大小等同的基本單元PE組成瘩例。
????? 一個卷組由一個或多個物理卷組成:
????? 從上圖可以看到,PE和LE有著一一對應的關系甸各。邏輯卷建立在卷組上垛贤。邏輯卷就相當于非LVM系統(tǒng)的磁盤分區(qū),可以在其上創(chuàng)建文件系統(tǒng)趣倾。
????? 下圖是磁盤分區(qū)聘惦、卷組、邏輯卷和文件系統(tǒng)之間的邏輯關系的示意圖:
?????? 和非LVM系統(tǒng)將包含分區(qū)信息的元數(shù)據(jù)保存在位于分區(qū)的起始位置的分區(qū)表中一樣儒恋,邏輯卷以及卷組相關的元數(shù)據(jù)也是保存在位于物理卷起始處的VGDA(卷組描述符區(qū)域)中善绎。VGDA包括以下內(nèi)容: PV描述符、VG描述符诫尽、LV描述符禀酱、和一些PE描述符 。
?????? 系統(tǒng)啟動LVM時激活VG牧嫉,并將VGDA加載至內(nèi)存剂跟,來識別LV的實際物理存儲位置。當系統(tǒng)進行I/O操作時酣藻,就會根據(jù)VGDA建立的映射機制來訪問實際的物理位置曹洽。