lvm逻辑卷的管理

lvm

一、什么是lvm

  普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

  通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

 lvm        逻辑卷,可以让设备自由伸缩的一个设备管理软件,是最终我们使用的

 pv          物理卷

vg            物理卷组

pe           物理拓展,lvm最小的存储单元

  二、lvm的建立以及使用

打开两个窗口一个实行监控命令
watch    -n  1  'pvs;vgs;lvs;df  -h  /mnt'
新建3个分区

(fdisk/dev/vdb------->n----->p----->1----->+1G------>n----->p----->2----->+1G------>n----->p----->3----->+1G----->t----->1----->8e----->t----->2----->8e----->t----->3----->8e)  (lvm所用的设备功能id为linux  lvm)


partprobe       同步分区表

(1)针对xfs文件系统lvm只可扩容不可缩容
pvcreate    /dev/vdb1       把物理分区做成物理卷
vgcreate    vg0(自己定义)  /dev/vdb1      把做好的物理卷/dev/vdb1制做成一个物理卷组vg0
lvcreate    -L   300M   -n   lv0(自己定义)   vg0(自己定义)  从vg0这个物理卷组中取出300M建立出lv0设备(-L 设备大小    -n  设备名称)
mkfs.xfs    /dev/vg0/lv0      格式化,赋予设备xfs文件系统
mount    /dev/vdb1/lv0        /mnt           挂载设备到/mnt下

(物理卷组设备大小大于500M直接拉伸)
lvextend   -L   500M    /dev/vg0/lv0     拉伸文件设备大小到500M 
xfs_growfs   /dev/vg0/lv0          拉神文件系统到设备大小
mount    /dev/vdb1/lv0        /mnt           挂载设备到/mnt下

(当我们需要1500M大小时此时超出物理卷组的大小我们要给物理卷组扩容需要添加物理卷)
pvcreate   /dev/vdb2      把物理分区做成物理卷
vgextend   vg0   /dev/vdb2          把做好的物理卷/dev/vdb2添加到物理卷组vg0
lvextend   -L   1500M   /dev/vg0/lv0       拉伸文件设备大小到1500M
xfs_growfs   /dev/vg0/lv0                         拉神文件系统到设备大小

(2)针对ext文件系统lvm既可扩容也可缩容
umount   /mnt                            卸载
mkfs.ext4   /dev/vg0/lv0         格式化,赋予设备ext4文件系统
mount /dev/vg0/lv0   /mnt         挂载
mount                      

扩大容量(若所需得到的容量大于物理卷组容量和前面一样添加物理卷到物理卷组)
lvextend   -L  1800M  /dev/vg0/lv0     扩大lvm设备到1800M
resize2fs   /dev/vg0/lv0          扩大文件系统到设备大小

缩减容量
umount    /mnt          卸载设备,因为文件系统的缩减不支持在线操作
e2fsck   -f   /dev/vg0/lv0    检测文件系统,确定文件系统中已有数据的大小,防止缩减过渡
resize2fs    /dev/vg0/lv0    1000M    压缩文件系统到1000M
mount   /dev/vg0/lv0    /mnt               挂载
lvreduce    -L  1000M   /dev/vg0/lv0   压缩文件设备大小到1000M

vg(物理卷组的删减
移除设备dev/vdb1但此设备上有数据此时应先将数据转移到空闲设备上再进行删除
pvmove   /dev/vdb1   /dev/vdb2   将/dev/vdb1中的数据移到/dev/vdb2
vgreduce   vg0   /dev/vdb1    移除掉vg0中的/dev/vdb1
pvremove    /dev/vdb1        移除掉/dev/vdb1

l vm快照
当快照设备里的数据被更改,如果想还原,删除快照设备,在重新建立快照即可
touch   /mnt/westos{1..7}    
umount   /mnt
ls /mnt
lvcreate   -L  50M  -n  lv0backup  -s  /dev/vg0/lv0   生成/dev/vg0/lv0的快照名为lv0backup大小为50M(-L 指定大小   -n 生成的名字  -s  对谁作快照)
mount   /dev/vg0/lv0backup   /mnt
cd /mnt
ls
rm -fr *
cd
umount  /mnt
lvremove   /dev/vg0/lv0backup
lvcreate   -L  50M  -n  lv0backup  -s  /dev/vg0/lv0   生成/dev/vg0/lv0的快照名为lv0backup大小为50M(-L 指定大小   -n 生成的名字  -s  对谁作快照)
mount   /dev/vg0/lv0backup   /mnt
cd /mnt
ls

删除lvm
umount   /mnt
lvremove   /dev/vg0/lv0backup   移除快照
lvremove    /dev/vg0/lv0        移除lv0
vgremove   vg0                移除vg0
pvremove   /dev/vdb{1..2}     移除/dev/vdb1和/dev/vdb2

猜你喜欢

转载自blog.csdn.net/xdmaidou/article/details/80259472