百度首页 | 百度空间
 
查看文章
 
pvmove pvremove vgreduce lvreduce Linux在线缩小文件系统一例,可能会丢失数据哦!
2008-04-02 12:20

今天又用到相同操作,可见日常note以下果然是有好处的。
http://hi.baidu.com/rain_at_dna/blog/item/45224c392c4085f73b87ce53.html

环境:
还是同一台机器,不过此次pv2的名字由/dev/hdb变成了/dev/hdb1。
pv1:/dev/hda3
pv2:/dev/hdb1

vg:rootvg

lv1:rootlv(占用了所有可用的剩余LE/PE)
lv2:swaplv

boot:/dev/hda1

/dev/hda2:原系统的Windows扩展分区
/dev/hda5,/dev/hda6:Windows逻辑分区D、E (NTFS)

在linux下通过dd 想把D、E备份到iSCSI上去,结果报I/O错误,不知是物理还是逻辑错误,在linux下将此两个分区以iSCSI target 方式 export出去,用其他的Windows通过iSCSI连接做chkdsk,好像解决不了问题。怀疑是硬件问题了,但smartctl全部pass,感觉对linux下的硬件检测工具还是不那么相信,遂再安装一个Windows吧,做一下硬件检测,顺便安装一Windows版的Grid Control。

打算把/dev/hda3做C盘,于是需要migratepv,于是想起此文语法,
pvmove -v /dev/hda3 /dev/hdb1
报/dev/hdb1没有可用的LE,可不是吗,使用Windows的坏习惯让我总是一次性把所有的空间全部分给了rootlv(即/分区,沿袭了AIX的叫法习惯)
接下来怎么办?resize2fs?lvreduce?
resize2fs只能缩小umount的非在线文件系统,AIX是可以在线缩小的!
那么应该缩小rootlv所占的LE,让pv腾出可用的LE来,然后再做pvmove,应该不会报错,直接用了lvreduce,后面没有跟pv,操作后,两个pv的free pe都有增大,(这里有两个问题,还需验证,是否可以在lvreduce操作里指定pv;lvreduce的是否是空块,即未用的PE,因为正规流程应当是先缩小文件系统,再缩小lv的,而此处无法在线缩小fs,所以只能先缩小lv了,不知会不会造成数据丢失?)

果然,操作后pvmove顺利完成,vgreduce、pvremove,ok,重启安装Windows吧!


类别:Linux | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请输入下图中的四位验证码,字母不区分大小写。
看不清?
 

     

©2008 Baidu