12/23🚗
LVM逻辑卷管理
一、lvm逻辑卷介绍
-
优势
-
支持不影响数据的情况下在线扩展容量
-
支持快照,便于备份
-
二、LVM实现流程
三、LVM操作指令
1、pv命令
-
查看
-
pvscan
-
-
查看pv详情
-
pvdisply pv名
-
-
创建pv
-
pvcreate 设备名
-
-
删除pv
-
pvremove pv名
-
2、vg命令
-
vgscan
-
查查看卷组详情
-
vgdisply vg名
-
-
创建卷组
-
vgcreate 卷组名 pv名
-
vgcreate test1 /dev/sdb /dev/sdc
-
-
删除卷组
-
vgremove 卷组名
-
3、lv逻辑卷命令
-
查看
-
lvscan
-
表示方法
-
/dev/卷组名/逻辑卷名
-
-
-
创建逻辑卷
-
lvcreate -L 容量 -n 逻辑卷名 卷组名
-
四、创建逻辑卷案例
-
逻辑卷 /dev/db/mysql 容量10G 文件系统ext4 挂载目录 //data/mysql
1、创建pv
pvcreate /dev/sdc/ /dev/sdd pvscan
2、创建卷组vg
vgcreat db /dev/sdc /dev/sdd vgdisply db
3、创建逻辑卷lv
lvcreate -L 10G -n mysql db lvcreate -l 200 -n mysql db lvscan -L 容量 -n 逻辑卷名 -l pe个数
4、创建文件系统,挂载
mkfs -t ext4 /dev/db/mysql vim /etc/fstab /dev/db/mysql /data/mysql ext4 defaults 0 0 mount -a df -Th
五、逻辑卷的扩容
1、核心思想
-
扩展逻辑卷的物理边界
-
扩展文件系统
2、扩容
vgdisply db | grep -i "free" 确认还有空间 lvextend -L +10G /dev/db/mysql 扩容物理边界 resize2fs /dev/db/mysql 扩展文件系统(ext4,/3) xfs_growxfs /dev/db/oracle 扩展文件系统(xfs) vgdisply db | grep -i "free" 空间不足 pvcreat /deb/sde 创建pv vgextend db /dev/sde 扩展卷组 vgdisply db | grep -i "free" 确认还有空间
六、逻辑卷缩减
1、备份数据
tar zcvf /opt/data/mysql_$(date +%Y_%d_%d) /data/mysql
2、卸载逻辑卷
umount /dev/dbd/mysql
3、检测文件系统是否损坏
e2fsck -f /dev/db/mysql 有五条返回,若有报错,不建议继续缩减
4、缩减文件系统到10G
resize2fs /dev/db/mysql 10G
5、缩减逻辑卷物理边界
lvreduce -L -40G /dev/db/mysql
-
注意
-
不支持在线缩减,必须卸载
-
先缩减文件系统,再缩减逻辑卷物理边界
-
xfs不支持缩减
-
建议备份后缩减
-
七、逻辑卷快照
1、 创建快照
lvcreate -s -p r -L 快照容量 -n 快照名 逻辑卷名 lvcreate -s -p r -L 20M -n mysqlsnap /dev/ddb/mysql -s 快照 snapshot -p r 只读 -L 500M 快照所能容纳的快照变化量为500M 快照所能容忍的原逻辑卷中的数据变化量 如果超过,自动损毁
2、验证快照
挂载快照 mkdir /abc mount /dev/db/mysqlsnap /abc 查看mysqlsnap ll /abc 在机器上写文件,快照并不改变 touch /data/mysql/{1..4}.txt ll /abc 创建超过数据变化量的文件,快照损毁 dd if=/dev/zero of=/data/mysql bs=1M count=50M 快照文件损毁,不可查看 ll /abc
3、删除快照
lvremove -f /dev/db/mysqlsnap
八、dd命令
-
数据的导入导出
dd if =/dev/zero of=/opt/c.txt bs=1M count=200 if= 源文件 of= 目的文件 bs= 每次导出的大小 count= 导出的次数 /dev/zero 大量空白文件
dd if=/dev/zero of=/dev/sda bs=446
注意
-
-
建议将快照设置为只读
-
秒级快照
-
基于cow机制 Copy On Write
-
-