centos7—LVM逻辑卷

xiaoxiao2021-02-28  45

LVM命令: pv(物理卷) vg(卷组) lv(逻辑卷) 注:输入pv/vg/lv,然后按tab两下即可查看相关命令。 PE:物理扩展 LE:逻辑扩展 注:每个PE默认大小为4M。 通过案例来理解pv、vg、lv的创建、挂载、扩容、缩容以及卸载删除等相关的操作命令。 案例1:将sdb、sdc硬盘用LVM进行管理,将它们创建成一个名称为vg0的卷组,在vg0卷组中创建一个7G且名称为lv 0的逻辑卷,然后格式化成ext4文件系统,手动挂载到/mnt/lv0目录,复制/etc/host*到/mnt/lv0目录中。 #第1步,创建pv,并查状态信息。 lsblk       #显示块设备 pvcreate    /dev/sd[bc]       #创建pv。格式说明:pvcreate   硬盘或分区设备 pvs         #显示pv状态(根据需要选择其中一条命令即可) pvdisplay         #显示所有pv的详细信息 pvscan          #扫描已存在的pv设备   #第2步,创建vg卷组,并查状态信息。 pvs       #显示pv状态 vgcreate    vg0   /dev/sd[bc]         #将sdb和sdc组成vg0卷组。格式说明:vgcreate   卷组名   pv设备 vgs        #显示vg状态(根据需要选择其中一条命令即可) vgdisplay       #显示所有vg的详细信息 vgscan         #扫描已存在的vg设备   #第3步,创建lv,显示状态信息。 vgs            #显示vg状态 lvcreate   -L  7G   -n  lv0  vg0          3创建lv。格式说明:lvcreate   -L  容量   -n  lv名称    卷组名称 lvs         #显示lv状态(根据需要选择其中一条命令即可) lvdisplay           #显示所有lv的详细信息 lvscan           #扫描已存在的lv设备   #第4步,格式化创建文件系统,手动挂载lv。写入数据。 lvscan           #扫描已存在的lv设备 mkfs.ext4   /dev/vg0/lv0          #格式化 mkdir   -pv  /mnt/lv0            #创建目录 mount  /dev/vg0/lv0   /mnt/lv0        #手动挂载 mount           3查挂载信息 cp  -v   /etc/host*   /mnt/lv0/           #复制文件   案例2:将sdd和sde加入到vg0卷组中(卷组扩容),再将sde从vg0卷组中移除(卷组缩容)。 pvs pvcreate    /dev/sd[de] vgs vgextend   vg0   /dev/sd[de]         #vg扩展 vgreduce   vg0   /dev/sde             #vg缩容 警告:vg缩容时,如果要移除的硬盘上有数据,必须先用pvmove将这块硬盘的数据迁移到vg卷组中其他的硬盘上。例:pvmove   /dev/sdb   /dev/sdd      案例3:将lv0逻辑卷容量扩充到12G,并查看状态,再查看文件系统的空间使用状态。 思路:先扩充逻辑卷的容量,再更新文件系统的容量值。 vgs lvextend   -L   +5G   /dev/vg0/lv0 lvs   df  -h       #发现lv0的文件系统容量并未更新 resize2fs   -p  /dev/vg0/lv0       #更新文件系统的容量值 注:xfs文件系统更新容量值用”xfs_growfs    挂载点”   案例4:将lv0逻辑卷容量缩小到6G,并查看状态,再查看文件系统的空间使用状态。 思路:先卸载逻辑卷的文件系统,然后扫描逻辑卷的文件系统是否有错误,再缩小文件系统容量,最后缩小逻辑卷的容量。 umount   /dev/vg0/lv0         #卸载 e2fsck  -f   /dev/vg0/lv0       #强制扫描 resize2fs  /dev/vg0/lv0   6G         # 缩文件系统 lvs   lvreduce   -L   6G   /dev/vg0/lv0        #缩逻辑卷 mount  /dev/vg0/lv0   /mnt/lv0          #挂载 df  -h             #发现lv0的文件系统容量并未更新 ls   /mnt/lv0          #显示lv0逻辑卷中的文件 cat   /mnt/lv0/hosts             #查看指定文件,发现内容是好的 注:xfs文件系统更新容量值用”xfs_growfs    挂载点”     关于快照卷 1.为lv0制作快照 lvcreate -s -n lv0.snap -L 1G  /dev/vg0/lv0 lvs      信息如下   LV       VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert   root     cl  -wi-ao---- 17.00g                                                       swap     cl  -wi-ao----  2.00g                                                       lv0      vg0 owi-aos---  6.00g                                                       lv0.snap vg0 swi-a-s---  1.00g      lv0    0.00  案例1:对源逻辑卷的数据进行更改,看lvs中的data%值的变化。 df cp  -v   /etc/*.conf    /mnt/lv0 dd  if=/dev/zero   of=/mnt/lv0/100m    bs=10M    count=10 lvs 案例2:挂载快照卷。看快照中的数据是什么。 mkdir   -pv  /mnt/lv0snap lvscan mount    /dev/vg0/lv0.snap   /mnt/lv0snap ls   /mnt/lv0snap        #发现快照卷中是创建快照时刻的数据。 案例3:恢复数据 1.打包备份快照卷中的数据(选做) tar   -cvf    /opt/lv0snap.tar     /mnt/lv0snap        #保留快照数据就做tar这一步 umount   /mnt/lv0      #卸载 umount   /mnt/lv0snap lvremove   /dev/vg0/lv0snap        #删除快照卷 2.恢复数据会删除快照卷   恢复之前要卸载 如果没有卸载要重启才能恢复数据 注:恢复数据,源逻辑卷中更改的数据就会丢失。 lvconvert   --merge  /dev/vg0/lv0.snap        #恢复快照 lvs mount  /dev/vg0/lv0  /mnt/lv0        #挂载 ls  /mnt/lv0             #发现是创建快照时候的数据 最后谈谈个人对于快照卷的通俗简单的理解(不足之处请谅解): 假如lv0里面存有h、a、m三个文件,此时给lv0创建一个快照lv0.snap,此时的lv0.snap里面是没有任何文件的,即lv0.snap是一个空文件。当改动lv0里面的h文件时,则原始的h文件,即改动前的h文件会备份到lv0.snap文件,而改动后h.new文件则不会保存到lv0.snap中,且无论之后何如改动h.new文件 都不会备份到lv0.snap中。即lv0.snap只会在创建快照时的原始文件h、a、m被改动时才会把原始的h、a、m文件备份到lv0.snap中。即lv0.snap不会保存除了原始h、a、m文件以外的任何文件。  

转载请注明原文地址: https://www.6miu.com/read-1400264.html

最新回复(0)