逻辑卷详解
LVM是Linux环境中对磁盘分区进行管理的一种机制,是创建在硬盘和分区之上、文件系统之下的一个逻辑层,可提升磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,须要注意的是 /boot分区不能基于LVM建立,必须独立出来。html
逻辑卷名词解释
- PV(Physical Volume):物理卷,处于LVM最底层,能够是物理硬盘或者分区。
- VG(Volume Group):卷组,创建在PV之上,能够含有一个到多个PV。
- LV(Logical Volume):逻辑卷,创建在VG之上,至关于原来分区的概念。不过大小能够动态改变。
1.逻辑卷建立
逻辑卷建立首先须要准备新的硬盘或者分区(为了后期便于维护管理,记得给分区加上8e标示)mysql
- 将磁盘或分区转换成为物理卷PV
pvcreate /dev/sdb1 /dev/sdb2
查看物理卷 pvs pvdisplay
- 建立卷组vg0,将建立好的物理卷添加到卷组中,默认的PE大小是4MB,PE是卷组的最小存储单元,能够用过-s参数修改
vgcreate vg0 /dev/sdb1 /dev/sdb2
查看卷组 vgs vgdisplay
- 建立逻辑卷lvdata
lvcreate -L 1G -n lvdata vg0
- 在逻辑卷上建立文件系统
mkfs.ext4 /dev/vg0/lvdata
- 挂载,将逻辑卷挂载到一个空目录下
mount /dev/vg0/lvdata /mnt/data
- 为了便于之后实现自动挂载,须要再/etc/fstab文件里面添加一条记录经过mount -a命令使配置文件生效
2.逻辑卷扩展
扩展逻辑卷,先关心下卷组里的可用空间vgdsiplay,给逻辑卷拓展空间,不会影响之前空间的使用。linux
- 拓展逻辑卷,指定扩展大小
lvextend -L +1G /dev/vg0/lvdata
-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。
- 同步拓展文件系统
xfs_growfs /mnt/data/ xfs文件系统使用,后面跟挂载点
resize2fs /dev/vg0/lvdata ext文件系统使用,后台跟逻辑卷名
lvextend -r -l +500 /dev/vg0/lvdata 通用写法,推荐
3.卷组拓展
当卷组vg可用空间不足状况下,能够用分区或者新磁盘添加到卷组中sql
4.逻辑卷缩减
逻辑卷空间缩减,有必定风险,应当谨慎ide
- 先卸载逻辑卷
umount /mnt/data
- 经过e2fsck命令检查逻辑卷
e2fsck -f /dev/vg0/lvdata
- resize2fs命令缩减文件系统空间
resize2fs /dev/vg0/lvdata 2G
- 缩减逻辑卷空间
lvreduce -L 2G /dev/vg0/lvdata
- 从新挂载
mount /dev/vg0/lvdata /mnt/data
注意:逻辑卷缩减只能是ext系列文件系统,xfs只支持拓展,不支持缩减ui
5.卷组缩减(因为磁盘或者分区故障,将数据转移到相同卷组其余空间)
- 经过pvmove命令转移空间数据
pvs 查看下各物理卷的剩余空间
pvmove /dev/sdb1 /dev/sdb2
- 经过vgreduce命令将坏的磁盘或者分区从卷组vg0中移除
vgreduce vg0 /dev/sdb1
- 经过pvremove命令将即将坏的磁盘或者分区从逻辑卷系统中删除
pvremove /dev/sdb1
pvmove命令,须要先关注下pvs中,各pv下剩余空间,预先规划,再操做
更多pvmove命令的案例能够参考网址:
http://man7.org/linux/man-pages/man8/pvmove.8.htmlcode
6.逻辑卷的删除
- 先取消挂载
umount /mnt/data
- 修改/etc/fstab文件里面的挂载信息,不然系统启动会出故障
- lvremove删除逻辑卷
lvremove /dev/vg0/lvdata
- vgremove删除卷组
vgremove vg0
- pvremove将物理卷转换为分区或者磁盘
pvremove /dev/sdb2 /dev/sdb3
- 若是有分区,修改分区标示,取消逻辑卷标示,换成普通标示
7.逻辑卷快照建立
- 快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
- 对于须要备份或者复制的现有数据临时拷贝以及其它操做来讲,快照是最合适
的选择
- 快照只有在它们和原来的逻辑卷不一样时才会消耗空间
- 在生成快照时会分配给它必定的空间,但只有在原来的逻辑卷或者快照有所
改变才会使用这些空间
- 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
- 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的
数据
- 创建快照的卷大小小于等于原始逻辑卷,也可使用lvextend扩展快照
- 因为快照区与本来的LV共用不少PE的区块,所以快照与被快照的LV必须在同
一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量
lvcreate -L # -n SLV_NAME -s -p r /PATH/LV 【指定为那个逻辑卷建立的】
-s:表示快照卷
-p:指定权限r|w
-L:快照卷大小
xfs
lvcreate -s -n mysql_snapshot2 -L 1G /dev/vg0/mysql
//mount -o nouuid,ro /dev/vg0/mysql_snapshot2 /mnt/snap/
ext4
lvcreate -n binlog_snapshot -s -p r -L 1G /dev/vg0/binlog
//mount /dev/vg0/binlog_snapshot /mnt/snap/
** 注意,快照是不须要格式化和挂载的,为了方便查看,能够挂在到文件目录下 **
8.逻辑卷快照还原
- 取消逻辑卷挂载
umount /mnt/data
- 执行lvconvert将快照的数据合并到原逻辑卷
lvconvert --merge /dev/vg0/binlog_snapshot
- 从新挂载原逻辑卷 mount /dev/vg0/lvdata /mnt/data