lvm逻辑卷的基本应用,扩展及缩减快照功能实现方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvm逻辑卷的基本应用,扩展及缩减快照功能实现方法相关的知识,希望对你有一定的参考价值。
lvm:逻辑卷管理
作用:将多个物理磁盘组合成一个逻辑磁盘,使其拥有更大的磁盘空间
逻辑磁盘结构如下:
一、
下面一Centos6 为例来创建 lvm,首先在虚拟机上添加3块硬盘,大小自定。
1、fdisk - l : 查看系统上的磁盘使用情况
我的系统上添加的三块磁盘为 /dev/sdb 、 /dev/sdc 、 /dev/sdd
在每块磁盘上新建分区分别/dev/sdb1、 /dev/sdb2、 /dev/sdc1、 /dev/sdd1(注意分区格式必须为 liunx LVM 格式,不然是不能用于创建lvm磁盘的)
2、现在可以开始创建pv 了
pvcreate /dev/sdb1
表示创建pv成功
pvcreate /dev/sdb2
pvcreate /dev/sdc1
pvcreate /dev/sdd1
创建完成后可用 pvs 命令查看pv的简要信息:
也可以用 pvdisplay 命令查看其详细信息:
3、开始创建vg
使用命令 vgcreate <vgname> [pvpath][pvpath]...
同样可以通过pvs、pvdisplay显示其信息:
4、现在就可以开始创建逻辑卷了
创建逻辑卷命令 lvcreate -L #[mgt] -n NAME VolumeGroup
-L : 指定大小
-n :指定名称
例如创建一个6G大小的逻辑卷testlv :lvcrete -L 6g -n testlv testvg
此时逻辑卷 testlv 创建成功,
创建完成后就会在/dev/mapper目录下生成一个设备文件,文件名是以vg-lv的名称命名的如下所示:
ls /dev/mapper :查看新添加的逻辑卷
5、现在可以对lvm磁盘进行格式化操作了
现在将其挂载为 ext4文件格式
命令为 : mke2fs -t ext4 /dev/mapper/testvg-testlv
6、此时可以挂载使用了,在根目录下创建一个test文件,将其挂载上去
命令为: mount /dev/mapper/testvg-testlv /test
df -h 查看当前系统上磁盘使用情况:
可见刚才创建的6G的lvm磁盘创建成功!!
将/etc/fstab 文件复制到/test 目录下测试看看;
二、
1、扩展逻辑磁盘大小:
下面要扩展lvm磁盘的空间大小将其增加1G大小
要扩大lvm首先要保证虚拟组vg有足够大的空间以满足lvm扩大的需求,如果vg不够大,那么就要先扩大vg ,vg不够大就要添加pv了,层次关系如第一张图所示
命令:lvextend -L +1G /dev/mapper/testvg-testlv
扩展成功后用 df -h 命令查看;并不会显示分区已经扩大了
需要用命令 : resize2fs /dev/mapper/testvg-testlv 扩展后通知文件系统更改分区大小
此时用 df -h 命令查看磁盘使用情况:可见lvm扩容成功
三、
上面完成了磁盘扩容,下面演示lvm磁盘缩减功能:将lvm磁盘缩减至500M大小
要缩减磁盘首先要保证要缩减到的磁盘空间不能比现存文件空间小,就是要查看现在磁盘空间还剩多少,剩余的空间可以缩减掉。
1、首先要卸载磁盘,
mount /dev/mapper/testvg-testlv
2、要强行检查磁盘是否存在损坏并修复,
e2fsck -f /dev/mapper/testvg-testlv
3、告诉文件系统要将lvm缩减到多大?(将其缩为500M)
resize2fs /dev/mapper/testvg-testlv 500M
4、文件系统缩减完成后再将lvm缩减至500M
命令格式为: lvreduce -L [-]#[mg] /dev/VG_NAME/LV_NAME
lvreduce -L 500M /dev/mapper/testvg-testlv
5、然后在挂载回去 :mount /dev/mapper/testvg-testlv /test
6、缩减完成使用
进入test目录查看文件完好无损
df -h 查看系统分区情况
可见 /test 已缩减至500M (注意df -h 显示系统分区会有%10左右的差距)
lvs 查看逻辑磁盘信息:
四、
下面演示lvm磁盘快照功能:(对一个磁盘进行快照后,当更改文件时,会将其原文件保存至快照盘中,当需要时可将其替换更改后的文件,以达到还原的目的。)
快照盘大小的设定应根据其文件改变率来定夺,改变率越大那么快照盘就应该越大,最大与其整个要快照的磁盘一样大就行。
1、创建快照盘,下面我们的/dev/mapper/testvg-tsetlv 分区进行快照。
命令格式为: lvcreate -L #[mg] -p r -s -n snapshot_lv_name original_lv_name
-L :指定大小
-p :指定权限
-s :指定为快照
-n :指定名称
命令为: lvcreate -L 200m -p r -s -n testsnap /dev/mapper/testvg-testlv
创建完成
2、创建完成后将其挂载到根目录下backup目录上,
mkdir /backup
mount /dev/mapper/testvg-testsnap /backup
cd /backup 目录下
可见已经快照下/dev/mapper/testvg-testlv 分区下的文件,当/test 目录下的文件发生更改时/backup中的文件不会发生改变,可以用还原/test 目录中的文件
完毕!!!
管理pv的命令还有很多例如:
pvchange pvcreate pvmove pvresize pvscan
pvck pvdisplay pvremove pvs
管理vg命令:
vgcfgbackup vgconvert vgexport vgmerge vgrename
vgcfgrestore vgcreate vgextend vgmknodes vgs
vgchange vgdb vgimport vgreduce vgscan
vgck vgdisplay vgimportclone vgremove vgsplit
管理lv的命令:
lvchange lvdisplay lvmchange lvmdiskscan lvmsadc lvremove lvs
lvconvert lvextend lvmconf lvmdump lvmsar lvrename lvscan
lvcreate lvm lvmconfig lvmetad lvreduce lvresize
以上是关于lvm逻辑卷的基本应用,扩展及缩减快照功能实现方法的主要内容,如果未能解决你的问题,请参考以下文章