*******************5.LVM*********************
用於建立可擴展磁盤
## 1.LVM建立 ##
監控命令:
watch -n 1 'echo "*** pvinfo ***";pvs;echo "*** vginfo ***";vgs;echo"*** lvinfo ***";lvs'
pvs //查看物理卷信息
vgs //查看物理卷組信息
lvs //查看邏輯卷信息
建立:
fdisk /dev/vdb //劃分物理分區並把分區id修改爲8e
pvcreate /dev/vdb1 //創建物理卷
vgcreate hello /dev/vdb1 //創建物理卷組
lvcreate -L 100M -n lv0 hello //創建邏輯卷
測試:
##擴展磁盤## --支持正在使用的磁盤擴展
lvextend -L 200M /dev/hello/lv0 //擴展邏輯卷大小至200M
xfs_growfs /dev/hello/lv0 //擴展文件系統
pvcreate /dev/vdb2 //創建物理卷
vgextend hello /dev/vdb2 //擴展物理卷
看似分區大小可無限擴展,但事實受到文件系統的限制,分區大小不能無限擴展,例如xfs文件系統支持最大分區大小爲18EB
##縮減磁盤##
注:xfs不支持文件系統縮減,導致磁盤不能縮減,所以這個實驗我們使用ext文件系統
縮減文件系統 --縮減之前必須卸載設備
umount /mnt/ //卸載設備
e2fsck -f /dev/hello/lv0 //檢測設備
resize2fs /dev/hello/lv0 200M //縮減文件系統至200M
縮減邏輯卷大小 --縮減邏輯卷大小之前必須縮減文件系統大小
lvreduce -L 200M /dev/hello/lv0
縮減物理卷
移除vdb1
pvmove /dev/vdb1 /dev/vdb2 //移動vdb1數據至vdb2
vgreduce hello /dev/vdb1 //從物理卷組中刪除
pvremove /dev/vdb1 //刪除物理卷
操作中可能會出現的問題
1>縮減後的文件系統大小大於邏輯卷大小,會導致設備不可用
解決辦法先擴展邏輯卷大小,在執行縮減文件系統,縮減邏輯卷大小
2>沒有從物理卷中移出設備,直接在fdisk中刪除設備
物理卷中會出現不可知的分區,用vgreduce --removemissing 物理卷組 刪除不可知的設備
## 3.LVM快照 ## --保證數據的安全
在磁盤中寫入數據
mount /dev/hello/lv0 /mnt
touch /mnt/file{1..10}
ls /mnt
創建快照
umount /mnt
lvcreate -L 10M -n lv0-backup -s /dev/hello/lv0
lvs
刪除數據
mount /dev/hello/lv0-backup /mnt
ls /mnt
rm -fr /mnt/*
重新創建快照
umount /mnt
lvremove /dev/hello/lv0-backup
lvcreate -L 10M -n lv0-backup -s /dev/hello/lv0
數據恢復
mount /dev/hello/lv0-backup /mnt
ls /mnt
## 4.LVM 刪除## --按順序刪除
lvremove //刪除快照和邏輯卷
vgremove //刪除物理卷組
pvremove //刪除物理卷
## 5.命令和腳本創建分區 ##