把新硬盘转为 LVM2 有个把月了,lv 的缩放的确方便,尽管不是天天缩放来玩儿,但说不定哪天就有这样的需要了,比如昨天就遇到这样的情况。昨天想要安装一个 Ubuntu 以备不时之需,因为新硬盘全部使用 LVM2 管理,这就需要从现在的 vg 中划分出一些空间给 Ubuntu 使用。/dev/vg/data 这个 lv 有 110G 大小,其中只有 30G 多的数据,于是进行了如下的操作:
(以下操作极度危险,请小朋友不要模仿)
1
| |
就是这条命令带来了我几个小时的噩梦,我的本意是把 /dev/vg/data 减小 5G,但这条命令的实际含义是减小到 5G,天哪。当我又敲下 resizefs.reiserfs /dev/vg/data 时提示我其空间不足以容下现有的数据,这时我才意识到自己犯了一个多大的错误。
卸下 /dev/vg/data 的挂载,试图再次挂载的时候已经造成了灾难:无法挂载!虽说不是什么宝贵的数据,那点学习资料也是辛辛苦苦下载的啊,可不能付诸东流了。
恢复 lv 的大小:
1
| |
把希望寄托在 fsck 上吧:
1
| |
并不奏效,提示需要使用 --rebuild-tree,以前曾经遇到过 reiserfs 的故障,同样是无法挂载,rebuild-tree 之后就好了,看到这样的提示稍稍放松了些。
1
| |
漫长的等待后 fsck 终于结束了,再次尝试挂载成功,看看可爱的数据还在,心里踏实了。
其实正确的缩小 lv 的步骤应该是:
1 2 | |
创建新的 lv :
1
| |
一开始步骤就颠倒了,难免铸成大错,还好这是我个人的计算机,也没有什么太珍贵的数据,再也还好数据基本上都恢复了。这是一个教训,来的早是好事,吃一堑长一智,以后决不能再犯这样的错误了。