关于lvm是Aix中与odm一样最难的部分,但是确实非常的实用。因为Aix lvm这一部分涉及到的命令关系到你对整个Aix的物理存储和逻辑存储的理解,尤其是在换硬盘的时候,有时候还要涉及到上层的fs或裸设备。因为有时侯由于你不太了解每个命令使用的后果,可能会畏惧为客户的生产系统做相应的操作。所以我想跟大家探讨一下,就举一个实例来做个深入的讨论吧。
具体情况是这样的,某个客户可能由于历史原因,有四块7133-D40上的18.2GB的SSA硬盘(hdisk0~hdisk3)在一个uservg上。被做了基于Aix lvm的mirror,有就是说相关的LP对应2个PP.但是分布却是相互交错的,不象两块硬盘做的lv copies那样容易判断lv的分布。
假设这时候突然出现hdisk2的P H磁盘操作错误。我们需要更换一块硬盘代替hdisk2,这时候我们该考虑一下如何做是安全性最高和最有效率的方法呢,并且也要考虑每种方法的局限性,我把我的考虑按照优先选择的顺序列出,请大家斧正。
一、 Aix lvm优先选择migratepv.具体做法如下:
1、 加一块新盘到阵列上成为hdisk4.
2、 extendvg uservg hdisk4
3、 migratepv hdisk2 hdisk4迁移hdisk2上所有的lv到hdisk4
(你也可以用migratepv –l lvname hdisk2 hdisk4 逐一地将hdisk2上的lv迁移到hdisk4)
4、syncvg -fv uservg
使用migratepv的优点是思路清晰,简单,可以包括裸设备。将整个pv上的lvs全部迁移到新加的硬盘上,而且不用考虑lv上层的fs级别的情况,并且在执行命令的时候不需要umount 相关的fs.而且也不会改变迁移的lv上层fs中目录和文件的owner和执行权限。因此成为首选。缺点是有可能hdisk2上某lv所在的pp严重损坏,可能迁移后无法使用。或导致migratepv失败。
二、 Aix lvm使用cplv.具体做法如下:
1、加两块新盘到阵列上分别成为hdisk4,hdisk5.
2、extendvg uservg hdisk4
3、smit vg建立一个临时vg为tempvg,只包含hdisk5一个pv.
4、 用lspv –l hdisk2 看hdisk2中lv的名称和数量,作好记录。
可结合命令lslv –m lvname 进一步对lv copies的分布的情况做到心中有数。
5、 做cplv的时候要umount 相关的fs,否则无法执行命令。
cplv –v tempvg –y lv00_copy lv00 把uservg中涉及到hdisk2上的所有lvs(如:lv00)都逐一拷贝到hdisk5上,用名字来明确对应关系
6、 rmlv –p hdisk2 lv00 把hdisk2上面的lvs都删除。
7、 reducevg uservg hdisk2 从uservg中删除hdisk2
8、 cplv –e lv00 lv00_copy 逐一把hdisk5上的lv copys都用拷贝回原来的lv,系
统自动会发现hdisk4的空盘并均衡的分布在hdisk4上。
这种方法能保证hdisk5中得到的是完好的lv.避免第一种方法的问题,但我没做过测试,请老农等诸位大哥帮我看看,问题是如果hdisk2中有loglv我就不知道怎么办了。因为loglv是open的,不是fs,我不知道怎么使它off掉,如果一直open是没办法cplv的。
裸设备也是这样吧。
三、不过请大家在做只前一定要为自己留一张牌出,首先类似cp –R 拷贝目录,tar, mksysb,savgvg等备份文件系统,就算出现不可期望的错误也能全身而退,挥一挥手,不带走一丝云彩。
增加一点复杂度哈,如果hdisk2上有两个loglv(loglv1和loglv2)没有和其他盘做成1LP对应2PP的lv copies.
我们怎么做呢?我的方法如下(经过实践考验):
1、extendvg uservg hdisk4
2、migratepv -l loglv1 hdisk2 hdisk4
migratepv -l loglv2 hdisk2 hdisk4
3、.rmlvcopy lv00 1 hdisk2
这样逐一删除原来hdisk2的lv mirror,实际上也取消掉了整个uservg的mirror,恢复到1LP对应1PP状态。
4、reducevg uservg hdisk2
5、mklvcopy lv00 2
这样逐一在整个uservg上重新建立lv copies,系统会严格遵守Mirror的策略在hdisk4上分配相应的lv copies.
6、syncvg -l lv00
逐一同步hdisk4上的lv copies,实际上就是lsvg -l uservg中显示stale状态的刚重新建立的lv.
(注意步骤6不能使用redbook书上写的syncvg -p hdisk4,仔细想想为什么。
这里,我们对Aix lvm的讲解就做了个简单的介绍,还有很多的知识要学,因为这部分知识很多。希望大家可以更好的学习。
【编辑推荐】