一、傳統磁碟管理的問題
當分割槽大小不夠用時無法擴充套件其大小,只能通過新增磁碟、建立新的分割槽來擴充空間,但是新新增進來的硬碟是作為獨立檔案系統存在的,原有的檔案系統並未得到擴充,上層應用很多時候只能訪問一個檔案系統。只能讓現有磁碟下線,換上新的磁碟之後,再將原始資料匯入。
二、 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