天天看點

Linux—Linux之lvm

一. 什麼是LVM:PV,PE,VG,LV的概念

LVM的全名為Logical Volume Manager 邏輯卷管理器 LVM是将幾個實體分區通過軟體組合成一個大磁盤(VG),然後再将這塊大磁盤分成可使用的分區(LV),然後進行挂載使用
pv   實體卷  被lv指令處理過的實體分區

vg   實體卷組     被組裝到一起的實體卷

pe   實體擴充     lvm裝置的最小存儲單元,lvm是pe的整數倍

lv   邏輯卷       從VG中拿出的我們想要的存儲空間

           
##lvm建立##
watch -n 1 'pvs;vgs;lvs;df -h /mnt'   ##再另打開一個Terminal 觀察變化
1.分區時定分區标簽為8e
pvcreate /dev/vdb1
vgcreate vg0 /dev/vdb1          ##vg0為自定義實體卷組的名字
lvcreate -L 20M -n lv0 vg0      ##lv0為自定義lv的名字
mkfs.xfs /dev/vg0/lv0           ##格式化并搭載檔案系統
mount /dev/vg0/lv0 /mnt         ##挂載
df -H /mnt                     
df -h /mnt          
           
Linux—Linux之lvm
Linux—Linux之lvm
Linux—Linux之lvm
Linux—Linux之lvm
##lvm的拉伸##

lvm支援熱拉伸                            ##支援挂載時進行拉神

1.當vg中的剩餘容量充足情況
lvextend -L 80M /dev/vg0/lv0 		##拉伸裝置 由上面設定的20M拉伸到80M
xfs_growfs /dev/vg0/lv0		        ##拉伸檔案系統
##一定先拉神裝置再拉神檔案系統

2.當vg中的容量不足時
再次建立分區并修改标簽8e
pvcreate /dev/vdb2
vgextend vg0 /dev/vdb2		##拉伸實體卷組
lvextend -L 200M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0
           
Linux—Linux之lvm
Linux—Linux之lvm
3.針對ext檔案系統的裝置擴充和縮減
1.改變檔案系統
umount /mnt                 ##改變檔案系統必須先解除安裝
mkfs.ext4 /dev/vg0/lv0      ##将檔案系統改為ext4
           
Linux—Linux之lvm
2.ext4檔案裝置的擴充
     
lvextend -L 100M /dev/vg0/lv0
resize2fs /dev/vg0/lv0 100M 
mount /dev/vg0/lv0 /mnt
           
3.裝置的縮減
umount /mnt                 ##縮減不支援在挂載時縮減。是以先解除安裝,先縮小檔案系統
mkfs.ext4 /dev/vg0/lv0      ##xfs檔案系統隻支援擴充,不支援縮減 是以先将檔案系統改為ext4,再縮減     
e2fsck -f /dev/vg0/lv0      ##掃描,防止縮小到存儲不了原來的内容
resize2fs /dev/vg0/lv0 100M    
lvreduce -L 100M /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
           
Linux—Linux之lvm
Linux—Linux之lvm
Linux—Linux之lvm
##縮減vg
vgreduce vg0 /dev/vdb2   縮減vg

vgextend vg0 /dev/vdb2  擴充vg
           
##資料遷移(移除含有資料的裝置)
pvmove /dev/vdb1 /dev/vdb2
vgreduce vg0 /dev/vdb1
pvremove /dev/vdb1
           
Linux—Linux之lvm
####lvm快照####
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup  /mnt
如果截取資料大于40M,會損壞裝置
dd if=/dev/zero of=/mnt/file bs=1M count=60
再次挂載會報錯

umount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0	##相當于裝置reset
再次挂載可以看原裝置資料
           
Linux—Linux之lvm
Linux—Linux之lvm
####全部删除還原####
lvremove /dev/vg0/lv0-backup	##先删快照,再删裝置本身
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb2
fdisk /dev/vdb
d *
           
Linux—Linux之lvm
Linux—Linux之lvm