分类:
2010-11-13 20:27:28
为什么要对AIX 小机rootvg做镜像?
如果你的系统的rootvg仅有一块硬盘,当灾难来临的时候,例如硬盘损坏,这就意味着你的系统就再也不能启动了。尽管
你可能拥有mksysb的磁带,但你仍然需要花费很多的时间去处理这个原本很小的问题。rootvg镜像能够提供单机bos容错,
使得你能够用最短的时间摆脱这种困境,简单到只需要一次重新启动。
以下是制作rootvg的标准步骤:
1. extendvg
2. chvg –Qn
3. mirrorvg –s
4. syncvg –v
5. bosboot –a
6. bootlist
7. shutdown –Fr
8. bootinfo –b
1、首先将一个pv加入到rootvg组中,例如:hdisk1。
#extendvg rootvg hdisk1
如果你使用一个pv做镜像,那么quorum是不需要的,请关闭它。
#chvg –Qn rootvg
--此情况称之为单镜像(single mirroring),一般单镜像的卷组都需要将quorum关闭,否则卷组中拥有2份VGDA的磁盘不可用时,受quorum制约,整个卷组无法激活,从而失去镜像意义。
--对于rootvg镜像更加需要关闭quorum,否则一旦包含2份VGDA的磁盘不可用时,系统在引导过程中将不能激活rootvg,从而引起启动失败。
--该命令可在系统正常运行时随时补充执行,但需要重新启动才能生效。
--如果始终没有执行过,当系统启动失败时,可以使用可引导介质进入维护模式,激活rootvg,获得shell时再执行此命令,然后正常启动即可。
2、建立rootvg组所有lv的镜像,你可以使用mklvcopy一个一个去建立,当然更加简单的方法是使用卷组镜像命令
#mirrorvg –s rootvg
或者
# mklvcopy hd1 2 hdisk1
# mklvcopy hd2 2 hdisk1
# mklvcopy hd3 2 hdisk1
# mklvcopy hd4 2 hdisk1
# mklvcopy hd5 2 hdisk1
# mklvcopy hd6 2 hdisk1
# mklvcopy hd8 2 hdisk1
# mklvcopy hd9var 2 hdisk1
# mklvcopy hd10opt 2 hdisk1
3、接着需要进行镜像间的数据同步。
#syncvg –v rootvg
4、为了使rootvg中的任一pv都能够完成系统启动任务,需要执行bosboot。
#bosboot -a
因为hd5已经做了镜像,因此在执行该命令时无需使用-d选项指定磁盘,除非当在其他情况,如迁移hd5至其他磁盘时。
5、更新引导设备顺利清单,实现单机bos容错
#bootlist -m normal hdisk0 hdisk1
此例表示在正常情况下,系统从hdisk0进行引导,当hdisk0不可用时将从hdisk1进行引导,以提供单机容错
6、如果前面步骤执行了quorum关闭的操作,必须重新启动系统之后quorum才会生效。
#shutdown -Fr
7、引导过程检查,确认无误。
#bootinfo -b
解除rootvg镜像
当用mirrorvg命令对rootvg做了镜像之后,需要取消镜像,可以用unmirrorvg rootvg命令来删除rootvg中的镜像副本,使得rootvg中的每个逻辑卷的COPIES 值变为1。实际上unmirrorvg命令调用rmlvcopy命令来删除每个逻辑卷上的镜像。
由于unmirrorvg命令执行时要做错误检查,加上rootvg中的逻辑卷数量比较多,对每个逻辑卷都要做删除镜像操作,因此执行完unmirrorvg命令可能需要花费相当长的时间。
对rootvg做完镜像删除操作之后,必须依次执行bosboot、bootlist和shutdown三个命令。删除镜像之后,剩余磁盘上的引导记录可能发生了变化,此时的系统引导顺序列表与现实也不相符。需要对剩余磁盘上的引导记录重新初始化,因此要执行bosboot命令,同时还要指定系统引导顺序列表,因此需要执行 bootlist 命令,以便系统仅引导rootvg中剩余的磁盘。
由于删除rootvg镜像会恢复rootvg的Quorum(定额),所以必须重新启动机器才能使该操作生效,所以需要执行shutdown –Fr命令。
例如:rootvg中包含hdisk0和hdisk1两块物理卷,要删除hdisk1上的镜像,按照下面的命令步骤来执行:
# unmirrorvg rootvg hdisk1
# bosboot -ad /dev/hdisk0
# bootlist -m normal hdisk0 cd0
# shutdown –Fr
磁盘镜像(Disk mirroring)
#smitty mirrorvg
#mklv 命令允许你为每个逻辑卷选择一个或两个附加拷贝
#mklvcopy 命令为一个已经存在的逻辑卷增加镜像
#mirrorvg 命令对一个给定卷组的所有逻辑卷作镜像,缺省时试图将逻辑卷镜像到一个卷组的所有磁盘
例:对workvg卷组作三重镜像
#mirrorvg -c 3 workvg
对rootvg提供缺省镜像
#mirrorvg rootvg --rootvg卷组现在就有了两份数据拷贝
例:为了从一个镜像的卷组中替换掉一个失效(hdisk7)的磁盘驱动器,运行下面的命令:
#unmirrorvg workvg hdisk7
#reducevg workvg hdisk7
#rmdev -l hdisk7 -d
例:用一块新磁盘替换失效的磁盘,将其命名为hdisk7,执行下面的命令:
#extendvg workvg hdisk7
#mirrorvg workvg
- 下面的命令将同步新创建的镜像:
#mirrorvg -S -c 3 workvg
-c 标记指定在mirrorvg 命令执行完成后每个逻辑卷必须具有的最小的拷贝个数。
-S 标记立即返回mirrorvg命令,并对卷组执行一个后台syncvg。当镜像被同步时没有任何显示,但是一旦完成它们就立即
被系统使用。
- 为了创建一个精确映射的卷组,运行下面的命令:
#mirrorvg -m datavg hdisk2 hdisk3
-m 标记允许以原始拷贝中精确的物理分区顺序进行逻辑卷的镜像。