*********************
********4.lvm********
*********************
**1.LVM建立**
1.劃分物理分區並把id修改爲8e【實驗是先化兩個物理分區,以便一個不夠補用,理論上無限,但xfs文件系統最大隻能是18eb】
pvs|pvdisplay;;
vgs|vgdisplay
lvs|lvdisplay
watch -n 1 'echo "=== pvinfo ===";pvs;echo "=== vginfo ===";vgs;echo === lvinfo ===;lvs;echo === ;df -h /mnt'【監控命令】
watch -n 1 \【分步寫法】
'echo "=== pvinfo ===" \
;pvs \
;echo "=== vginfo ===" \
;vgs \
;echo === lvinfo === \
;lvs'
pvcreate /dev/vdb1【將/dev/vdb1做成一個PV容器】
vgcreate HXL /dev/vdb1【指定vg組爲HXL】
lvcreate -L 100M -n lv0 HXL【指定lv0 HXL下的容量爲100M,-n,指定名稱】
mkfs.xfs /dev/HXL/lv0【將/dev/HXL/lv0 作爲xfs文件系統】
mount /dev/HXL/lv0 /mnt/【掛載mnt】
lvextend -L 200M /dev/HXL/lv0【將/dev/HXL/lv0擴展到200M,-L:指定邏輯卷的大小】
xfs_growfs /dev/HXL/lv01【將擴充的不爲xfs文件系統的部分進行擴充】
pvcreate /dev/vdb2【建立/dev/vdb2爲PV容器】
vgextend HXL /dev/vdb2【指定/dev/vdb2的vg組爲HXL】
lvextend -L 2G /dev/HXL/lv0【將/dev/HXL/lv0擴充爲2G,因爲新加入的/dev/vdb2同組都爲HXL,故可以擴充到兩個最大容量之和】【理論上可以無限擴充,但xfs文件系統的最大隻能是18eb】
umount /mnt/【xsf文件不能縮減,先把它格式化爲ext4文件系統】
e2fsck -f /dev/HXL/lv0【檢測文件的使用情況,必作,要不然縮減補了】
resize2fs /dev/HXL/lv0 660M【將文件縮小爲你所指定的大小】
lvreduce -L 900M /dev/HXL/lv0 【將你的文件設備縮減到900M】
pvmove /dev/vdb2 /dev/vdb1【將/dev/vdb1中的文件全部放在/dev/vdb2中】
vgreduce HXL /dev/vdb2【解除/dev/vdb1的HXL組名】
pvremove /dev/vdb2【移除 /dev/vdb1】
***錯誤排查***
1.如果在文件容量沒有縮小的情況下,你將文件設備縮減到文件容量以下,會導致你下次掛載無法掛載上去
解決 先擴充文件設備容量:lvextend -L 200M /dev/HXL/lv0;在進行掛載
2.如果你在LVM運行的時候刪掉了一個磁盤分區,會導致你的功能出現問題
解決 vgreduce --removemissing HXL(就類比與,我將壞掉的牙拔掉了,如果你還想添加,你根據上面的步驟添加就行)
***製作快照****
umount /mnt/【卸載掛載】
lvcreate -L 10M -n lv0-backup -s /dev/HXL/lv0【製作一張快照】
mount /dev/HXL/lv0-backup /mnt/【將製作好的快照掛在mnt下】
如果快照損壞
umount /mnt/【先卸載掛載】
lvremove/dev/HXL/lv0-backup【刪除快照】
lvcreate -L 10M -n lv0-backup -s /dev/HXL/lv0【製作一張快照】
mount /dev/HXL/lv0-backup /mnt/【將製作好的快照掛在mnt下】
****所有的刪除***
umount /mnt/【刪除前先卸載】
lvremove /dev/HXL/lv0-backup【刪除它的快照文件】
lvremove /dev/HXL/lv0【刪除文件】
vgremove HXL【刪除LVM組】
pvremove /dev/vdb1【刪除PV容器】
pvs【查看刪除結果】 【如果能刪除乾淨,就OK。若不知名原因刪除不乾淨,暫時只能重起了,】
*****查詢 expect 命令**** (補錄)