1. 程式人生 > >linux-邏輯卷管理

linux-邏輯卷管理

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
    ##在vg0這個組中建立出lv0裝置 -L 指定裝置大小 -n 指定裝置名字
  • 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
再次掛載可以檢視到源裝置的資料