物理卷 -- Physical Volume -- PV安全
卷組 -- Volume Group -- VG架構
邏輯卷 -- Logical Volume -- LV佈局
一、硬盤設備管理技術雖然可以有效的提升硬盤設備的讀寫速度以及數據的安全性,可是在硬盤分好區或者部署爲 RAID 的磁盤陣列以後,再想修改硬盤分區大小就不容易了。當用戶想要隨着實際需求的變化調整硬盤分區的大小時,會受到硬盤「靈活性」的限制,這是須要用到另外一一項很是普及的硬盤設備資源管理技術——LVM(邏輯卷管理器),LVM 能夠容許用戶對硬盤資源進行動態調整。spa
二、邏輯卷管理器是Linux系統用於對硬盤分區進行管理的一種機制,其建立的初衷是爲了解決硬盤設備在建立分區後不易修改分區大小的缺陷。儘管對系統的硬盤分區進行強制擴容或縮容從理論上講師可行的,可是卻可能形成數據的丟失。而LVM技術是在硬盤分區和文件系統之間添加了一個邏輯層,它提供了一個抽象的卷組,能夠把多塊硬盤進行卷組合並,由此用戶沒必要關心物理硬盤設備的底層架構和佈局就能夠實現對硬盤分區的動態調整。3d
三、經常使用LVM部署命令code
功能/命令 物理卷管理 卷組管理 邏輯卷管理blog
掃描 pvscan vgscan lvscan資源
創建 pvcreate vgcreate lvcreaterem
顯示 pvdisplay vgdisplay lvdisplay部署
刪除 pvremove vgremove lvremove
擴展 vgextend lvextend
縮小 vgreduce lvreduce
四、環境準備。添加兩塊新硬盤。
對這兩塊硬盤進行建立物理卷的操做能夠理解成讓硬盤設備支持LVM技術或把硬盤設備加入到LVM技術可用的硬件資源池中,而後對這兩塊硬盤進行卷組合並,卷組的名稱能夠由用戶自定義。
把合併後的卷組切割出一個 150 MB的邏輯卷設備,把這個邏輯卷設備格式化成 ext4 文件系統後掛載使用。
五、LVM技術部署
(1)讓新添加的兩塊硬盤設備支持LVM 技術。
pvcreate /dev/sdb /dev/sdc
(2)把兩塊硬盤設備加入到 storage 卷組中。
vgcreate storage /dev/sdb /dev/sdc
(3)查看卷組的狀態。
vgdisplay
(4)切割出一個約爲 150MB 的邏輯卷設備。
注意:切割單位的問題,在對邏輯捲進行切割時有兩種計量單位。第一種是以容量爲單位,所使用的的參數爲-L。例如,使用 -L 150M 生成一個大小爲150MB的邏輯卷,另一種是以基本單元的個數爲單位,所使用的參數爲 -l 。每一個基本單元的大小默認爲 4MB。例如,使用 -l 37 能夠生成一個大小爲 37 ×4MB=148MB 的邏輯卷。
lvcreate -n lv -L 150M storage
# -n 表示指定名字 -L 指定邏輯卷的大小
(5)將生成好的邏輯捲進行格式化,而後掛載使用。
mkfs.ext4 /dev/storage/lv
/dev/sdb 和 dev/sdc 作卷組 storage,新生成的卷組爲 /dev/storage,從/dev/storage 卷組中切割出邏輯卷lv,lv所在位置 /dev/storage/lv。
(6)掛載,查看掛載狀態。
mkdir /lvm mount /dev/storage/lv /lvm
df -h
(7)寫入到配置文件中永久生效。
echo "/dev/storage/lv /lvm ext4 default 0 0">> /etc/fstab
六、擴容邏輯卷
只要卷組中有足夠的資源,就能夠一直爲邏輯卷擴容。擴容前必定要記得卸載設備和掛載點的關聯。
umount /lvm
(1)將邏輯卷的 lv 擴展至 290MB
lvextend -L 290M /dev/storage/lv
(2)檢查硬盤完整性
e2fsck -f /dev/storage/lv
(3)重置硬盤容量
resize2fs /dev/storage/lv
(4)從新掛載並查看。
邏輯卷的容量已經改變。
七、縮小邏輯卷
相較於擴容邏輯卷,縮容邏輯卷丟失數據的風險更大。對邏輯捲進行縮容以前,要先檢查文件系統的完整性(爲了保證數據安全),在執行縮容操做前要先把文件系統卸載。
umount /lvm
(1)檢查文件系統的完整性
e2fsck -f /dev/storage/lv
(2)把邏輯卷 lv 的容量減少到 120MB
resize2fs /dev/storage/lv 120M
lvreduce -L 120M /dev/storage/lv
(3)從新掛載文件系統並查看系統狀態
mount /dev/storage/lv /lvm
df -h