当发现数据库磁盘与最初构想的容量相差较大,且数据库磁盘过大,有些浪费的时候,可以考虑对数据库数据所在磁盘或目录进行缩容,从而合理利用磁盘空间。
空间太大了,磁盘浪费,所以需要移除一个PV
1.1 查看PV信息
# pvs
从VG中拿掉一个PV的时候,如果这个PV上有数据,直接拿掉的话,数据就损坏了,所以在执行vgreduce之前一定要先把PV上的数据挪走。
1.2 PV操作
1.2.1 PV数据移动
首先先把sdb6这个PV上的数据移动到其它PV上,切记这里一定要使用pvmove而不是pvremove。
# pvmove /dev/sdb6
1.2.2 移除sdb6这个PV
# vgreduce mysqlVG /dev/sdb6
1.2.3 查看VG下的PV
# vgs
1.2.4 查看PV情况
# pvs
1.2.5 删除PV
# pvremove /dev/sdb6
1.2.6 再次查看PV
# pvs
缩减逻辑卷
注意:
1.不能在线缩减,得先卸载
2.确保缩减后的空间大小,依然能存储原有的所有数据
3.在缩减之前应该强行检查文件系统,以确保文件系统处于一致性状态
2.1 查看LV空间大小
2.2 卸载、并且强行检查文件系统
# umount /mnt
# e2fsck -f /dev/mysqlVG/mysqlLV
2.3 缩减逻辑边界
语法:resize2fs /path/to/lv 缩减到多大
# resize2fs /dev/mysqlVG/mysqlLV 5G
2.4 缩减物理边界
语法:lvreduce -L 缩减到多大 /path/to/lv
# lvreduce -L 5G /dev/mysqlVG/mysqlLV
检查数据库及注意事项
3.1 检查数据库是否正常
3.2 切记:磁盘扩容、缩容操作一定要谨慎操作。最好先在测试环境演练一遍,记录下文档,然后再到生产环境中执行。