使用 alt_disk_copy 克隆 rootvg
发布时间:2021-06-08
发布时间:2021-06-08
采用克隆,安装AIX 操作系统,方便快捷
使用 alt_disk_copy 克隆 rootvg
alt_disk_copy 是一个内置的 AIX® 实用程序,可以用它克隆正在运行的 rootvg。alt_disk_copy 通常用于会影响正在运行的 AIX 的升级、为准备迁移克隆磁盘和在线备份 rootvg。
简介
大多数系统管理员都遇到过以下情况:
一次 ML 升级失败了。 问题一直持续到快下班时。 您无法解决问题。
叫第三方支持来解决它已经太晚了。 您要下班了。
通常,这种情况下需要 rootvg 恢复,无论是使用磁带 mksysb 恢复,还是网络引导恢复。毫无疑问,这是让人难受的!使用 alt_disk_copy 方法复制 rootvg 所需的时间很少,与重新引导以将 rootvg 恢复到升级之前的状态所需的时间差不多。本文讲解在应用 AIX 升级时如何使用 alt_disk_copy 以及如何恢复 rootvg。还可以使用 alt_disk_copy 测试两个不同版本的 AIX。只需升级一个磁盘,然后从它引导;当需要返回到另一个版本时,只需从另一个磁盘引导。对于 rootvg 的定期在线备份,常常使用 alt_disk_copy 把 rootvg 克隆到空闲磁盘上。它还可以作为 rootvg 的硬件迁移工具。 alt_disk 实用程序由以下命令组成:
alt_disk_copy 执行磁盘克隆。
alt_rootvg_op 在克隆的 rootvg 上执行维护操作。 alt_disk_mysysb 执行 mksysb 复制。
本文不讨论 alt_disk_mysysb。 这些 alt 命令需要的文件如下:
回页首
概述
采用克隆,安装AIX 操作系统,方便快捷
因为 alt_disk_copy 命令把当前正在运行的 rootvg 复制到另一个磁盘,所以一定要挂载希望克隆的所有文件系统。alt_disk_copy 只复制 rootvg 中当前挂载的文件系统。执行 rootvg 不需要停止进程;但是,这个过程要花费一段时间,所以最好在午餐时或晚上执行(请记住,它复制正在运行的 rootvg)。复制完成之后,就有了两个 rootvg 卷组:
其中的 altinst_rootvg 是克隆的非活跃/不变的 rootvg。在克隆的 rootvg 中,所有逻辑卷名前面有 ‘alt’ 前缀。引导列表也改为从 altinst_rootvg 引导。AIX 喜欢这样做;它假设您希望从克隆的 rootvg 而不是真实的 rootvg 引导。如果现在重新引导系统,当系统运行起来之后,原来的 rootvg 将变成:
altinst_rootvg 变成:
如果决定从 old_rootvg 重新引导,当系统运行起来之后,old_rootvg 变成:
rootvg 变成:
不必担心原来的和克隆的 rootvg 的重命名。稍后讨论这个问题。
在成功地完成升级之后,可以使用 alt_rootvg_op 销毁包含克隆的 rootvg 的磁盘,重新建立镜像。如果升级失败,也没问题 —— 只需制作第三方支持所需的快照,然后从原来的 rootvg 引导。对于登录的用户来说,没有什么影响。
当从第三方支持收到修复建议时,只需从克隆的 rootvg 重新引导并纠正问题。不需要重新应用升级,因为在克隆的 rootvg 上已经应用了升级。测试升级结果,如果一切正常,就销毁原来的 rootvg,重新建立镜像。 对于克隆的 rootvg,可以使用 alt_rootvg_op 唤醒它,从而挂载文件系统。可以在克隆的文件系统上执行所需的任何操作,比如纠正链接、为第三方支持收集信息等,然后让这个磁盘继续休眠,这也会卸载文件系统。
在执行克隆时排除某些目录
在执行克隆时,可以通过创建 /etc/exclude.rootvg 文件排除某些目录。文件中的条目应该以 ^./ 开头。‘^’ 表示搜索行开头的字符串,‘./’ 表示相对于当前目录。建议您这么做,因为 alt_disk_copy 使用 grep 搜索字符串,这么做它就不会误解命令。例如,要想排除以下目录,就要提供完整的路径名并加上前缀 ‘^.’:
可以在 /etc/exclude.rootvg 文件中插入:
要确保最后一个条目后面没有空行。
采用克隆,安装AIX 操作系统,方便快捷
回页首
开始克隆吧!
现在,我们先看看典型的克隆。假设您有 rootvg 的两磁盘(hdisk0 和 hdisk1)软件镜像,将在这个系统上进行 ML 升级(或对安装在 rootvg 中的应用程序进行升级)。我将讲解如何执行克隆,以及在成功地升级之后,如何让这个磁盘回到 rootvg 中并重新建立镜像。还会讲解在升级失败时可以采取的措施。
操作前检查
在取消 rootvg 的镜像之前,首先花些时间确认镜像是正确的,没有过时的 LV,因为如果有这种情况,unmirrorvg 命令会失败。当然,如果 unmirrorvg 失败,可以使用 migratepv 在两个磁盘之间相互复制缺少的 LV。检查镜像是否正确的简单方法是执行以下命令:
对于每个数据输出行,检查 PPs 列的输出是否是 LPs 列的两倍。
另一种检查方法是使用 lspv -l <hdiskx>,通过对比输出确认两个磁盘上都有每个 LV 的条目。
接下来,执行 bosboot 命令。我自己在执行重新引导或涉及 rootvg 的磁盘操作之前总是这么做;这是一个好习惯:
本文使用的磁盘如下:
接下来,取消 rootvg 的镜像,选择将用来克隆 rootvg 的磁盘。这里使用 hdisk1 克隆 rootvg,所以执行以下 unmirrorvg 命令:
采用克隆,安装AIX 操作系统,方便快捷
接下来,让 hdisk1 脱离 rootvg 以准备克隆:
确认这个磁盘目前没有分配给任何卷组:
回页首
运行 alt_disk_copy
现在可以执行 alt_disk_copy 了。只需通过命令参数指定 hdisk1。基本格式为:
使用排除列表的基本格式为:
alt_disk_copy 命令的输出如下(已经做了删节):
# alt_disk_copy -d hdisk1
Calling mkszfile to create new /image.data file. Checking disk sizes.
Creating cloned rootvg volume group and associated logical volumes. Creating logical volume alt_hd5 Creating logical volume alt_hd6 Creating logical volume alt_hd8 Creating logical volume alt_hd4 Creating logical volume alt_hd2 Creating logical volume alt_hd9var Creating logical volume alt_hd3 Creating logical volume alt_hd1 Creating logical volume alt_hd10opt Creating /alt_inst/ file system.