linux-邏輯卷管理
阿新 • • 發佈:2018-11-23
pv ##物理卷(被lv命令組過的物理分割槽)
vg ##物理卷組(被u組裝到一起的物理卷)
pe ##物理擴充套件(lvm裝置的最小單元,lvm是pe的整數倍)
lvm ##邏輯卷(直接使用的裝置,可以增大縮減並保持原有資料)
##lvm的建立##
1.分割槽並指定標籤為8e
- pvcreate /dev/vdb1 ##把物理分割槽做成物理卷
- pvs | pvdisplay ##檢視物理卷
- vgcreate vg0 /dev/vdb1 ##用製作好的/dev/vdb1這個物理卷製作一個物理卷組vg0
- vgs | vgdisplay ##檢視物理卷組
- lvcreate -L 200M -n lv0 vg0
- lvs | lvdisplay ##對邏輯卷裝置進行檢視
- mkfs.xfs /dev/vg0/lv0
mount dev/vg0/lv0 /mnt
df -h /mnt (換算方式不同h:1024,H:1000)
##lvm拉伸##
lvm支援熱拉伸(線上)
1.針對xfs檔案系統(xfs檔案系統只能擴大不能縮減)
(1)當vg中的剩餘容量充足時
- lvextend -L 80M /dev/vg0/lv0 ##拉伸裝置
- xfs_growfs /dev/vg0/lv0 ##拉伸檔案系統(擴大xfs檔案系統到裝置大小)
(2)當vg中剩餘容量不足時
再次建立分割槽並指定標籤為8e
- pvcreate /dev/vdb2 ##在pv中增加一塊裝置/dev/vdb2
- vgextend vg0 /dev/vdb2 ##把新建立的/dev/vdb2新增到vg0中
- lvextend -L 200M /dev/vg0/lv0 ##拉伸物理卷組到200M
- xfs_growfs /dev/vg0/lv0 ##拉伸檔案系統(擴大xfs檔案系統到裝置大小)
2.針對ext檔案系統的裝置的拉伸和縮減
umount /mnt
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
(1)lvm拉伸
- lvextend -L 150M /dev/vg0/lv0
- resize2fs /dev/vg0/lv0 ##設定檔案系統大小和裝置同步
(2)lvm縮減
- umount /dev/vg0/lv0 ##解除安裝裝置,因為檔案系統縮減不支援線上操作
- e2fsck -f /dev/vg0/lv0 ##檢測檔案系統,確定檔案系統中已有資料大小防止過度縮減
- resize2fs /dev/vg0/lv0 100M ##縮減裝置檔案
- lvreduce -L 100M /dev/vg0/lv0 ##縮減裝置
- mount dev/vg0/lv0 /mnt
(3)縮減vg(在vg縮減時只能縮減沒有被佔用的裝置)
- vgreduce vg0 /dev/vdb2
- vgextend vg0 /dev/vdb2
(4)資料遷移
- pvmove 裝置1 裝置2 ##把裝置1上的所有資料移動到裝置2上
例如:pvmove /dev/vdb1 dev/vdb2 (等待自動退出,ctrl+c退出會損壞資料) - vgreduce vg0 /dev/vdb1 ##把vg0中的/dev/vdb1刪除
- pvremove /dev/vdb1 ##把/dev/vdb1上的lvm管理資訊刪除
##lvm快照##
- lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
##給/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板裝置 - mount /dev/vg0/lv0-backup /mnt
如果擷取資料大於40M,會損壞裝置 dd if=/dev/zero
of=/mnt/file bs=1M count=60
會自動解除安裝掉lv0-backup,再次掛載會報錯
umount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 ##相當於裝置的reset
再次掛載可以檢視到源裝置的資料