一、傳統磁盤管理的問題
當分區大小不夠用時無法擴展其大小,只能通過添加磁盤、創建新的分區來擴充空間,但是新添加進來的硬盤是作為獨立文件系統存在的,原有的文件系統並未得到擴充,上層應用很多時候只能訪問一個文件系統。只能讓現有磁盤下線,換上新的磁盤之後,再將原始數據導入。
二、LVM邏輯卷的基本概念
LVM(Logical volume Manager)邏輯卷管理通過將底層物理硬盤抽象封裝起來,以邏輯卷的形式表現給上層系統,邏輯卷的大小可以動態調整,而且不會丟失現有數據。新加入的硬盤也不會改變現有上層的邏輯卷。
作為一種動態磁盤管理機制,邏輯卷技術大大提高了磁盤管理的靈活性。
PE(physical extend)默認為4MB的基本塊
PV(physical volume)硬盤或分區
VG(volume group)由一個或多個PV組成的整體
LV(logical volume)從VG中切割出的空間用於創建文件系統
三、LVM創建過程
1.物理磁盤被格式化為PV,空間被分為一個個PE
2.不通的PV加入同一個VG,不同PV的PE全部進入VG的PE池內
3.LV基於PE創建,大小為PE的整數倍,組成LV的PE可能來自不同物理磁盤
4.LV現在就直接可以格式化後掛載使用了
5.LV的擴充縮減實際上就是增加或減少組成該LV的PE的數量。其過程不丟失原始數據
四、創建LVM
將物理磁盤設備初始化為物理卷
pvcreate /dev/sdb /dev/sdc
創建卷組,並將PV加入卷組中
vgcreate vg0 /dev/sdb /dev/sdc
基於卷組創建邏輯卷
lvcreate -n lv0 -L 5G vg0
為創建好的邏輯卷創建文件系統
mkfs.ext4 /dev/vg0/lv0
將格式化好的邏輯卷掛載使用
mount /dev/vg0/lv0 /mnt/
將掛載信息寫入/etc/fstab中重啟依然生效
echo "/dev/vg0/lv0 /mnt ext4 defaults 0 0 " >> /etc/fstab
五、查看LVM
查看物理卷信息:pvs、pvdisplay(詳細)
查看卷組信息:vgs、vgdisplay(詳細)
查看邏輯卷信息:lvs、lvdisplay(詳細)
六、刪除LVM
刪除LV:lvremove /dev/vg0/lv0
刪除VG:vgremove vg0
刪除PV:pvremove /dev/sdb
七、拉伸一個邏輯卷
邏輯卷的拉伸操作可以在線執行,不需要卸載邏輯卷
保證VG中有足夠的空閒空間
vgs、vgdisplay
擴充邏輯卷
lvextend -L +5G /dev/vg0/lv0
查看擴充後LV大小
lvs、lvdisplay
更新文件系統
resize2fs /dev/vg0/lv0
查看更新後的文件系統
df –h
八、拉伸一個卷組
將要添加到VG的硬盤格式化為PV
pvcreate /dev/sdd
將新的PV添加到指定卷組中
vgextend vg0 /dev/sdd
查看擴充後VG大小
vgs、vgdisplay
九、縮小一個邏輯卷
邏輯卷的縮小操作必須離線執行,要卸載邏輯卷
卸載已經掛載的邏輯卷
umount /dev/vg0/lv0
縮小文件系統(原lv0為10G)
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 3G
縮小LV
lvreduce -L -7G /dev/vg0/lv0
查看縮小後的LV
lvs、lvdisplay
掛載
mount /dev/vg0/lv0 /mnt
十、縮小卷組
將一個PV從指定組中移除
vgreduce vg0 /dev/sdd
查看縮小後的卷組大小
vgs、vgdisplay
移除PV
pvremove /dev/sdd
LVM2詳解 http://www.linuxidc.com/Linux/2015-09/122976.htm
Ubuntu 上使用 LVM 輕松調整分區並制作快照 http://www.linuxidc.com/Linux/2015-09/122563.htm
使用LVM創建彈性磁盤存儲——第一部分 http://www.linuxidc.com/Linux/2014-10/107697.htm
在Linux中擴展/縮減LVM(第二部分) http://www.linuxidc.com/Linux/2014-10/107786.htm
在 LVM中 錄制邏輯卷快照並恢復(第三部分) http://www.linuxidc.com/Linux/2014-11/108867.htm
在LVM中設置精簡資源調配卷(第四部分) http://www.linuxidc.com/Linux/2014-11/109757.htm
使用條塊化I/O管理多個LVM磁盤(第五部分) http://www.linuxidc.com/Linux/2014-12/110532.htm