LVM 是邏輯盤卷管理器( Logical Volume Manager )的簡稱,是一種分區管理機制。 LVM 是建立在硬盤 和分區 之上的一個邏輯層,為文件系統屏蔽下層磁盤分區布局,從而提高磁盤分區管理的靈活性。
具體思路是:將若干個磁盤分區連接為一個整塊的卷組( Vloume group ),管理員可以在卷組上隨意創建邏輯卷( logical volumes ),並進一步在邏輯卷上創建文件系統。
1. 物理卷( Physical Volume , PV )
PV 在 LVM 系統中處於最底層
PV 一般是整個硬盤、或硬盤上一個可用分區
2. 卷組( Volume Group , VG )
建立在 PV 之上,可以由多個 PV 組成一個 VG ,也可以是單個
VG 創建之後,可以動態地添加 PV 到 VG 中,在 VG 上一個創建多個 LVM 分區(邏輯卷)
一個 LVM 系統中可以包含多個 VG
(注釋:在這 LVM 系統中你可以把 VG 理解為實際的物理硬盤)
3. 邏輯卷( Logical Volume , LV )
LV 建立在 LV 之上(類似於 Windows 下的對物理硬盤分區,或者是 Linux 下分出 /boot 、 / 、 Swap 、 /usr 、 /var 、 /tmp 、 /home 等區域)
LV 創建後,大小可以改變
在 LV 上可以建立文件系統用於不同的分區,如 /usr 、 /home
1.1 物理區域( Physical Extent , PE )
每個 PV 又是由 PE 組成 ←這類似於 Windows 下的分區格式化中的“簇”概念
PE 的大小默認為 4MB
PE 的大小一旦確定不能改變,同一 LG 中的所有 PV 的 PE 的大小又要一致
1.1.1 邏輯區域( Logical Extent , LE )
LE 一一對映 PE ,所以 PE 單元為多大,映射到 LE 單元就是多大
當 LVM 執行完成之後, LV 及 VG 的相關元數據保留在位於 PV 起始處的卷組描述符區域 Volume Group Descriptor Area ←這和 Windows 下的分區表是一樣的
/boot 分區不能位於 LG 中,因為引導裝載程序無法從邏輯卷中讀取。必須為 /boot 單獨分配一個主分區
CentOS 系統分區規劃:
/boot [ext3 ] →單獨的 /boot 分區 [256MB]
將剩余的可利用空間創建為一個 PV
將此 PV 加入到名為 VolGroup00 的 VG 中
在此 VG 中分別創建名為 LogVol100 和 LogVol101 和 LogVol102 和 LogVol103 和 LogVol104 和 LogVol105 和 LogVol106 的 LV
LV root: [ext3 ] LogVol100 → / [20GB]
LV swap: [ext3 ] LogVol101 → swap [ 物理內存的兩倍 ]
LV usr: [ext3 ] LogVol102 → /usr [20GB]
LV tmp: [ext3 ] LogVol103 → /tmp [10GB]
LV var: [ext3 ] LogVol104 → /var [10GB]
LV home: [ext3 ] LogVol105 → /home [20GB]
(注意:如 LogVol100 這樣的名稱是系統默認分配的,最好別去重命名)
如果以上全部創建完成,並且安裝完了系統,可以在 /dev/ 下查看磁盤分區信息,你將會看到類似如下:
/dev/VolGropu00/LogVol100
/dev/VolGropu00/LogVol101
/dev/VolGropu00/LogVol102
/dev/VolGropu00/LogVol103
/dev/VolGropu00/LogVol104
/dev/VolGropu00/LogVol105