linux基礎學習【12】
阿新 • • 發佈:2018-11-04
pre 分享 提示符 image gic 新建 遷移數據 數據 row lvm (logical volume manager)
邏輯卷管理
pv ##物理卷 被lv命令處理過的物理分區
vg ##物理卷組 被組裝到一起的物理卷
pe ##物理擴展 lvm設備的最小單元,lvm時pe的整數倍
lvm ##邏輯卷 直接使用的設備,可以增大縮減並保持原有數據不變
lvm建立
建立分區並指定標簽為8e pvcreate /dev/vdb1 ##建立物理卷 vgcreate /vg0 /dev/vdb1 ##將物理卷歸入卷組 lvcreate -L 20M -n lv0 vg0 ##從vg0卷組中抽出20M劃為邏輯卷lv0 mkfs.xfs /dev/vg0/lv0 ##搭建文件系統 mount /dev/vg0/lv0 /mnt ##掛載 df -h /mnt ##查看掛載 parted -l ##查看未掛載的文件系統
查看未使用的磁盤
新建100M大小的分區
修改分區id為8e(Linux LVM)
pvcreate /dev/vdb1 ##建立物理卷
vgcreate /vg0 /dev/vdb1 ##將物理卷歸入卷組
lvcreate -L 40M -n lv0 vg0 ##從vg0卷組中抽出20M劃為邏輯卷lv0
格式化為xfs文件系統
掛載
監控此時的pv/vg/lv信息
lvm拉伸(擴容)
lvm支持熱拉伸 當vg中的剩余容量充足時 lvextend -L 80M /dev/vg0/lv0 ##當cg容量足夠,擴展lv0到80M xfs_growfs /dev/vg0/lv0 ##擴展文件系統
擴展lv0到80M
當vg中剩余容量不足時
再次建立分區並指定標簽8e
pvcreate /dev/vdb2 ##建立新的物理卷
vgextend vg0 /dev/vdb2 ##將物理卷歸入卷組
lvextend -L 200M /dev/vg0/lv0 ##擴展lv0到200M
xfs_growfs /dev/vg0/lv0 ##擴展文件系統
建立新的物理卷
歸入卷組vg0
擴展邏輯卷lv0到300M
擴展文件系統
針對ext文件系統的設備的拉伸和縮減
umount /mnt ##卸載,ext不支持熱縮減 mkfs.ext4 /dev/vg0/lv0 ##格式化lv0為ext4文件系統 mount /dev/vg0/lv0 /mnt ##掛載
格式化為ext4並掛載
拉伸
lvextend -L 400M /dev/vg0/lv0 ##擴展邏輯卷lv0到400M
resize2fs /dev/vg0/lv0 ##擴展ext4文件系統
擴展到400M
擴展ext4文件系統
縮減
umount /dev/vg0/lv0 ##卸載
e2fsck -f /dev/vg0/lv0 ##強制檢查文件系統
resize2fs /dev/vg0/lv0 100M ##縮減文件系統到100M
lvreduce -L 100M /dev/vg0/lv0 ##縮減邏輯卷到100M
mount /dev/cg0/lv0 /mnt ##掛載
卸載並檢查(不支持熱縮減)
縮減文件系統
縮減邏輯卷
縮減物理卷組
vgreduce vg0 /dev/vdb2 ##從vg0中取出vdb2
vgextend vg0 /dev/vdb2 ##將vdb2添加入vg0
註意已被占用的磁盤無法去除,縮減前需要遷移數據並解除占用
數據遷移
pvmove /dev/vdb1 /dev/vdb2 ##將vdb1中數據遷移到vdb2中
vgreduce vg0 /dev/vdb1 ##從vg0中取出vdb1
pvremove /dev/vdb1 ##從物理卷中刪除vdb1
將vdb1中數據遷移到vdb2中,註意此時不要打斷,等待100%後,命令提示符自動出現,否則有可能會損壞雙方文件導致不可用
從vg0中取出vdb1
從pv中刪除vdb1
創建lvm快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0/lv0-backup /mnt
如果寫入數據大於40M,會損壞設備
會自動卸載掉lv0-backup,再次掛載會報錯
刪除重建後看到原設備
創建並掛載
寫入60M的數據(快照只有40M),自動損壞解除掛載
再次掛載報錯
刪除重建後恢復
linux基礎學習【12】