*********************

********4.lvm********

*********************

 

**1.LVM建立**

1.划分物理分区并把id修改为8e【实验是先化两个物理分区,以便一个不够补用,理论上无限,但xfs文件系统最大只能是18eb】

 

pvs|pvdisplay;;

vgs|vgdisplay

lvs|lvdisplay

 

wKiom1gj2A_A0-ghAAJPpRwPaac967.png

wKiom1gj2BKS9aqoAADvCYhWcW4425.png


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】

 

wKioL1gj2GHhKnuAAABeAbTVj_g066.png

wKiom1gj2GLDaDyRAAEvYG8TI2o615.png

wKiom1gj2GPgjiviAAGUtL3mmWg293.png

wKioL1gj2GOSO3k4AADyvcjlS98108.png

wKiom1gj2GSiQb7aAAIzOXVY_Bo013.png


 

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】

 

wKioL1gj2bbCifTdAAFdLZjcuE4294.png

wKiom1gj2bmQoWa_AAB_r3I6HOk940.png

wKioL1gj2b_zFXKcAAH80ccV828460.png

wKioL1gj2cDDD8erAACXjFVYzik283.png

wKiom1gj2cLCVhXKAACRFzrFNxA824.png

wKioL1gj2cbTfB_rAAFqyBS_Jhw031.png

wKiom1gj2cegNnlDAACaeBtYUvc406.png

wKiom1gj2cmBM-hJAADXVFtxs2g975.png

wKioL1gj2cvCcJomAAGvS4-ldzw361.png

wKioL1gj2c3hGUeuAAD-IwcA3cM425.png

wKioL1gj2dSQnwryAAIJ4ekJ_SM215.png

wKioL1gj2dXTpTDdAABnMpRLNqg007.png


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】

 

wKiom1gj2o3glCb-AAFpyvl1eUQ821.png

wKiom1gj2o6Qft8oAADMFk9Xw1E378.png

wKioL1gj2o7S9K5kAABzi9Po4Ms870.png

wKioL1gj2o_ypmNIAAGxotlch-s427.png

wKiom1gj2pDSRy9vAAEE-eJNK3k935.png

wKiom1gj2pDAuvRCAABRh_abJBY633.png

wKioL1gj2pGR74l2AAHCXqjiHjA926.png

wKioL1gj2pHTbewaAAE8L72hFsk482.png

wKiom1gj2pLBF712AABSqZb_HAY468.png

wKioL1gj2pKSt7taAABGJEXKy28425.png

wKiom1gj2pPw_JvUAAEkI3w1e7Y018.png

wKioL1gj2pOAIY40AABt_mUSI90279.png

wKiom1gj2pPBXWEGAACpCkhNchQ087.png

wKiom1gj2pSgADdGAAEtQ0rQ2zw109.png

wKioL1gj2pTSt_4pAABotsZTNa4062.png

wKiom1gj2paCCbS1AADM97wb5d0406.png

wKioL1gj2pfCAMX5AADdqTXBZIw779.png

wKiom1gj2piC1dT2AAEWFkNuSHc347.png


***错误排查***

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下】

wKioL1gj2uih8klmAACLepkGNzg462.png

wKiom1gj2ujiczl_AACrRPE03Wk832.png

wKioL1gj2umRXxk9AAC3EEfi7Tg120.png

wKiom1gj2urgHjzuAACbgmMOqSc666.png

 

****所有的删除***

umount /mnt/【删除前先卸载】

lvremove /dev/HXL/lv0-backup【删除它的快照文件】

lvremove /dev/HXL/lv0【删除文件】

vgremove HXL【删除LVM组】

pvremove /dev/vdb1【删除PV容器】

pvs【查看删除结果】 【如果能删除干净,就OK。若不知名原因删除不干净,暂时只能重起了,】

wKioL1gj2wHDEgo0AACWxqVbsUA067.png

wKiom1gj2wKSMJzCAADn-CDfN8E968.png

wKiom1gj2wKjp9tdAACMi1FJWak072.png

wKioL1gj2wPhx5K9AAFUFUaGcsc013.png

 

 

 

*****查询 expect 命令**** (补录)