一、傳統磁碟管理的問題當分區大小不夠用時無法擴展其大小,只能通過添加磁碟、創建新的分區來擴充空間,但是新添加進來的硬碟是作為獨立文件系統存在的,原有的文件系統並未得到擴充,上層應用很多時候只能訪問一個文件系統。只能讓現有磁碟下線,換上新的磁碟之後,再將原始數據導入。二、LVM邏輯捲的基本概念LVM(...
一、傳統磁碟管理的問題
當分區大小不夠用時無法擴展其大小,只能通過添加磁碟、創建新的分區來擴充空間,但是新添加進來的硬碟是作為獨立文件系統存在的,原有的文件系統並未得到擴充,上層應用很多時候只能訪問一個文件系統。只能讓現有磁碟下線,換上新的磁碟之後,再將原始數據導入。
二、LVM邏輯捲的基本概念
LVM(Logical volume Manager)邏輯捲管理通過將底層物理硬碟抽象封裝起來,以邏輯捲的形式表現給上層系統,邏輯捲的大小可以動態調整,而且不會丟失現有數據。新加入的硬碟也不會改變現有上層的邏輯捲。
作為一種動態磁碟管理機制,邏輯捲技術大大提高了磁碟管理的靈活性。
PE(physical extend)預設為4MB的基本塊
PV(physical volume)硬碟或分區
VG(volume group)由一個或多個PV組成的整體
LV(logical volume)從VG中切割出的空間用於創建文件系統
三、LVM創建過程
- 物理磁碟被格式化為PV,空間被分為一個個PE
- 不通的PV加入同一個VG,不同PV的PE全部進入VG的PE池內
- LV基於PE創建,大小為PE的整數倍,組成LV的PE可能來自不同物理磁碟
- LV現在就直接可以格式化後掛載使用了
- 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