服务器为Ubuntu 14.04.1 Server, 使用LVM管理1.8T的磁盘
1. 根分区文件系统大小缩减
由于之前考虑欠妥给操作系统分区分太大了,分了900G.需要使用lvm将分区尺寸缩减.
在系统运行时是无法进行文件系统缩减的.缩减以前需要卸载文件系统.所以需要在rescue模式下对根分区文件系统进行lvm操作(在运行时强行缩减会引起操作系统崩溃,若做出该误操作可以在rescue模式修复.参考文章 http://blog.chinaunix.net/uid-451-id-3191193.html).
用ubuntu14.04.1的安装iso引导系统, 进入iso引导界面后选择 "rescue a broken system", 在之后的选项中不要加载文件系统,使用shell登录入rescue模式. 在这个模式应该是可以使用lvm工具的
我参考了这一篇文章中关于lvm根分区缩减大小的操作
(http://www.360doc.com/content/13/0121/15/10866842_261563250.shtml)
具体操作为
# 设置lv为活动
lvchange -ay /dev/ubuntu-vg/root
# 检查文件系统的正确性
e2fsck -f /dev/ubuntu-vg/root
# 调整ext文件系统的大小 我这里是用的ext4 本来是900G, 需要把大小调整为200G
这一步耗时较久
resize2fs /dev/ubuntu-vg/root 200G
# 调整lv的大小为200G
lvreduce -L 200G /dev/ubuntu-vg/root
以上命令执行完后可以输入lvdisplay 或者 lvs 查看root卷是否有成功的改变大小. 也可以挂载一下root卷 检查一下是否可以访问
2. 根文件系统备份策略
使用的是lvm自带的快照功能, 快照功能详情可以看 <鸟哥的Linux私房菜-基础学习篇(第三版)>(pdf电子版) P562 ,
并参考了文章 (http://www.linuxidc.com/Linux/2014-11/108867p3.htm) 对lvconvert命令的使用
制作快照的命令
lvcreate -s -n root_ss -L 200G /dev/ubuntu-vg/root
制作了快照后, 有两种备份策略
(1) 当需要恢复卷时,将root卷恢复到快照root_ss所保存的状态,并移除快照
lvconvert --merge
/dev/ubuntu-vg/root_ss
这种方法是在快照里保存原卷的数据, 恢复时利用快照内储存的信息重做原卷
(2) 将root卷重命名为root_origin, 然后把快照root_ss 重命名为 root, 当需要恢复卷时, 删除快照卷root 再从root_origin 卷制造一个快照名为root.
# 重命名root卷
lvrename /dev/ubuntu-vg/root /dev/ubuntu-vg/root_origin
# 重命名快照卷
lvrename /dev/ubuntu-vg/root_ss /dev/ubuntu-vg/root
# 当需要恢复时 删除快照卷
lvremove /dev/ubuntu-vg/root
# 重新创建名为root的快照卷
lvcreate -s -n root -L 200G /dev/ubuntu-vg/root_origin
这种方式是新建一个快照, 所有改动写到快照而不会写入原卷, 需要恢复时移除快照并重新快照就可以了
服务器备份策略使用的第(2)个, 恢复起来比较快.