vk_alt_使用alt_disk_copy

大多数系统管理员都遇到以下情况:

  • ML升级失败。
  • 一天到头了。
  • 您无法修复它。
  • 现在要通过第三方支持解决该问题为时已晚。
  • 您需要退出。

通常,无论使用磁带mksysb还原还是网络引导还原,这种情况都需要rootvg还原。 毫无疑问,这很痛苦! 使用alt_disk_copy方法获取rootvg的副本仅需要进行重新引导以将rootvg恢复到升级前事件所需的时间。 本文演示了在应用AIX升级时如何实现alt_disk_copy以及如何恢复rootvg。 alt_disk_copy也可以用于测试两个不同版本的AIX。 您只需升级一个磁盘然后将其启动,然后在需要返回到另一个版本时,只需将该磁盘启动即可。 实际上,alt_disk_copy通常用于将rootvg克隆到备用磁盘上,以进行rootvg的常规在线备份。 它也可以用作rootvg的硬件迁移工具。

alt_disk实用程序由以下命令组成:

  • alt_disk_copy执行磁盘克隆。
  • alt_rootvg_op对克隆rootvg执行维护操作。
  • alt_disk_mysysb执行mksysb副本。

本演示不讨论alt_disk_mysysb。

alt命令所需的文件集是:

bos.alt_disk_install.boot_images
bos.alt_disk_install.rte     
bos.msg.en_US.alt_disk_install.rte

概述信息

因为alt_disk_copy命令将当前正在运行的rootvg的副本复制到另一个磁盘,所以请确保已挂载了您要克隆的所有文件系统。 alt_disk_copy仅复制rootvg中当前安装的文件系统。 无需停止执行alt_disk_copy的进程; 但是,此过程可能会花费一些时间,因此最好在午餐时间或晚上进行此操作(请记住要进行连续复印)。 复制完成后,将显示两个rootvg卷组:

rootvg
altinst_rootvg

其中altinst_rootvg是克隆的非活动/可变的rootvg。 克隆的rootvg的所有逻辑卷均以名称“ alt”为前缀。 引导列表也已更改为从altinst_rootvg引导。 AIX喜欢做这样的事情; 它假定您将要引导克隆的而不是真正的rootvg。 如果现在重新引导系统,并且在系统重新启动后,原始rootvg将变为:

old_rootvg

原始的altinst_rootvg变为:

rootvg

如果您决定重启old_rootvg,则在系统重新启动时,old_rootvg变为:

rootvg

rootvg变为:

altinst_rootvg

不必担心原始和克隆rootvg的重命名。 我将在稍后演示。

成功完成升级后,可以使用alt_rootvg_op销毁包含克隆的rootvg的磁盘,然后将其镜像回去。如果升级事件灾难性地发生,则没有任何实际问题-只需快照即可获得第三方支持,然后启动良好的rootvg。 对于用户登录,这是正常的。

当您在离线时间内从修复支持获得响应时,只需重新启动克隆的rootvg即可解决问题。 无需执行重新应用升级的耗时任务,因为已在克隆的rootvg上安装了升级。 对升级进行测试,如果一切正常,请销毁克隆的rootvg并重新镜像。

使用克隆的rootvg,您可以使用alt_rootvg_op唤醒​​磁盘来挂载文件系统。 在克隆的文件系统上进行任何工作都需要做,并且在这里假设要修复链接补丁或收集信息以获取第三方支持,然后将磁盘放回睡眠状态,这也将卸载文件系统。

克隆时不包括目录

克隆时,可以通过创建文件/etc/exclude.rootvg排除某些目录。 条目应以^ /开头。 字符。 “ ^”表示在行首搜索字符串,“ ./”表示相对于当前目录。 建议您执行此操作,以便alt_disk_copy不会误解该命令,因为它使用grep搜索该字符串。 因此,请确保提供完整的路径名,并以“ ^”为前缀。 ,例如,排除以下目录:

/home/reps
/opt/installs

我可以插入/etc/exclude.rootvg文件:

^./home/reps
^./opt/installs

确保最后输入之后没有空行。

让我们克隆吧!

现在让我们来看一个典型的克隆。 假设您具有rootvg的软件两磁盘(hdisk0和hdisk1)镜像,并进一步假设您将在此系统上进行ML(或应用程序升级,假设它已安装在rootvg中)升级。 我将演示一种克隆磁盘的方法,成功升级后,会将磁盘带回到rootvg并重新镜像。 我还将演示升级失败后可以采取的措施。

预先检查

在取消对rootvg的镜像之前,首先需要花一些时间来确保您已正确镜像并且没有过时的LV,因为如果这样做,取消镜像将失败。 当然,如果取消镜像失败,您总是可以执行migrationpv来移动丢失的LV。 检查您是否正在镜像的一种简单方法是发出以下命令:

lsvg -l rootvg

对于数据输出的每一行,请检查PPs列的输出是否是LPs列的输出的两倍。

检查是否已镜像的另一种方法是使用: lspv -l <hdiskx>并比较输出,以确保两个磁盘上的每个LV都有条目。

接下来,发出bosboot命令。 我个人总是在重启或涉及rootvg的磁盘操作之前执行此操作。 这是一个好习惯:

# bosboot -a
bosboot: Boot image is 35803 512 byte blocks.

用于此演示的磁盘列表如下:

# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    rootvg          active

接下来,取消镜像rootvg并从rootvg中取出将用于克隆的磁盘。 此演示使用hdisk1克隆rootvg,因此发出unmirrorvg命令:

# unmirrorvg rootvg hdisk1
0516-1246 rmlvcopy: If hd5 is the boot logical volume, please run 'chpv -c <disk
name>'
        as root user to clear the boot record and avoid a potential boot
        off an old boot image that may reside on the disk from which this
        logical volume is moved/removed.
0516-1804 chvg: The quorum change takes effect immediately.
0516-1144 unmirrorvg: rootvg successfully unmirrored, user should perform
        bosboot of system to reinitialize boot records.  Then, user must modify
        bootlist to just include:  hdisk0.

接下来,将hdisk1从rootvg中取出,以准备进行克隆:

# reducevg rootvg hdisk1

确认磁盘现在未分配给任何卷组:

# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    None

运行alt_disk_copy

现在您可以发布alt_disk_copy了。 只需提供hdisk1作为命令的参数即可。 基本格式为:

alt_disk_copy -d <hdisk to clone rootvg>

要使用排除列表,基本格式为:

alt_disk_copy -e /etc/exclude.rootvg -d <hdisk to clone rootvg>

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.
Creating /alt_inst/home file system.
Creating /alt_inst/opt file system.
Creating /alt_inst/tmp file system.
…......
…......
for backup and restore into the alternate file system...
Backing-up the rootvg files and restoring them to the
alternate file system...
Modifying ODM on cloned disk.
Building boot image on cloned disk.
forced unmount of /alt_inst/var
forced unmount of /alt_inst/usr
forced unmount of /alt_inst/tmp
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/home
…..
…..
Changing logical volume names in volume group descriptor area.
Fixing LV control blocks...
Fixing file system superblocks...
Bootlist is set to the boot disk: hdisk1

在此阶段,您现在已经克隆了一个名为altinst_rootvg的rootvg。 注意,在先前的输出中,alt_disk_copy已更改了引导列表,以引导克隆的rootvg(现在为hdisk1)启动。

# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    altinst_rootvg

可以通过发出bootlist命令来确认:

# bootlist -m normal -o
hdisk1 blv=hd5

现在,可以安装ML升级了。 ML升级后,您将需要重新引导系统。 对于此演示,ML升级将安装在实际的rootvg(即hdisk0)上,因此,您现在需要更改引导列表,因为您希望系统提供新的升级运行。

# bootlist -m normal hdisk0

确认引导列表的更改:

# bootlist -m normal -o
hdisk0 blv=hd5

接下来,安装ML升级,然后重新启动。 重新引导后,系统显示以下rootvg和克隆的rootvg。 可以看出,没有根卷组已被重命名,因为我们是从真实的rootvg(hdisk0)启动的:

# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    altinst_rootvg

接下来,假设升级并支持用户一切正常,并且系统管理员已将其签名且未发现任何问题。 现在可以销毁alt_disk_copy,并将磁盘带回到rootvg中进行镜像。 使用带有X参数的alt_rootvg_op命令销毁克隆的rootvg。 基本格式为:

alt_rootvg_op -X < cloned rootvg to destroy>

# alt_rootvg_op -X altinst_rootvg
Bootlist is set to the boot disk: hdisk0

接下来,扩展rootvg以带入hdisk1,然后镜像磁盘:

# extendvg -f rootvg hdisk1
# mirrorvg rootvg hdisk1
0516-1804 chvg: The quorum change takes effect immediately.
0516-1126 mirrorvg: rootvg successfully mirrored, user should perform
        bosboot of system to initialize boot records.  Then, user must modify
        bootlist to include:  hdisk0 hdisk1.

更改引导列表以包括两个磁盘并运行bosboot:

# bootlist -m normal -o hdisk0 hdisk1
hdisk0 blv=hd5
hdisk1
# bosboot -a
bosboot: Boot image is 35803 512 byte blocks.
# bootlist -m normal -o
hdisk0 blv=hd5
hdisk1 blv=hd5

对于此演示,仅此而已:任务已完成。 pgrade安装成功。 系统正在运行。 如果一切正常,这几乎就是alt_disk_copy的工作方式。 但是,如果升级失败了怎么办? 您有什么选择? 接下来让我们看看。

请恢复职位

现在,假设您已经安装了ML升级并重新启动,并且发现AIX的运行运行存在问题。 请记住,您当前的磁盘处于以下状态:

# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    altinst_rootvg

在这一点上,应该为正在运行的系统制作快照,以准备获得第三方支持,以便您毫无疑问地记录该呼叫。 评估当前情况,您可以:

  • rootvg :带有升级后的问题。
  • altinst_rootvg :具有良好的复制前升级。

带我回去

要返回到升级前,只需更改启动列表以启动(altinst_rootvg)hdisk1,然后重新启动即可。 就这么简单:

# bootlist -m normal -o hdisk1
hdisk1 blv=hd5
# bootlist -m normal -o
hdisk1 blv=hd5
# shutdown -Fr

重新引导后,将显示以下rootvg磁盘:

# lspv
hdisk0          0041a97b0622ef7f                    old_rootvg
hdisk1          00452f0b2b1ec84c                    rootvg          active

接下来,发布一个bosboot并确认启动列表:

# bosboot -a
bosboot: Boot image is 35803 512 byte blocks.
# bootlist -m normal -o
hdisk1 blv=hd5

系统现在返回到升级前状态。

升级后修复

在最终用户同意的方便的时间表上,并使用第三方支持提供的信息,然后可以从ML失败的升级磁盘(hdisk0)引导并应用可能解决此问题的修复程序,因此请进行更改要引导(old_rootvg)hdisk0并重新引导的引导列表:

# bootlist -m normal -o hdisk0
# shutdown -Fr

重新引导后,准备应用此修复程序,将为您提供以下rootvg磁盘:

# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    altinst_rootvg

接下来,应用修复程序或有关如何进行修复的说明,并假定系统现在可以再次运行。

对系统进行测试并注销后,请引入hdisk1,请使用前面描述的命令:

alt_rootvg_op -X altinst_rootvg
Bootlist is set to the boot disk: hdisk0
# extendvg -f rootvg hdisk1
# mirrorvg rootvg hdisk1
bootlist -m normal -o hdisk0 hdisk1
hdisk0 blv=hd5
hdisk1
# bosboot -a

bosboot: Boot image is 35803 512 byte blocks.
#  bootlist -m normal -o
hdisk0 blv=hd5
hdisk1 blv=hd5
# lspv
hdisk0          0041a97b0622ef7f                    rootvg          active
hdisk1          00452f0b2b1ec84c                    rootvg          active

唤醒磁盘

在克隆的rootvg环境中,您可以唤醒克隆的rootvg以使其处于活动状态。 来自克隆的rootvg的所有克隆的文件系统都将被挂载。 这非常有用,因为您有一个运行良好的系统,但同时从克隆的rootvg挂载文件系统以进行进一步研究或修改文件。 唤醒克隆的rootvg时,它将重命名为:

altinst_rootvg

在克隆的rootvg文件系统仍处于挂载状态时,请勿发出重新引导信息,因为可能会发生意外结果。 您也可以重命名克隆的rootvg,这在您有多个克隆的rootvg时很有用。

假设您的磁盘处于以下状态:

# lspv
hdisk0          0041a97b0622ef7f                    old_rootvg
hdisk1          00452f0b2b1ec84c                    rootvg          active

要唤醒磁盘,基本格式为:

alt_rootvg_op -W -d < hdisk>

现在让我们唤醒old_rootvg(hdisk0):

# alt_rootvg_op -W -d hdisk0
Waking up old_rootvg volume group ...

检查磁盘状态,您可以看到old_rootvg已重命名为altinst_rootvg,并且现在处于活动状态。

# lspv
hdisk0          0041a97b0622ef7f                    altinst_rootvg  active
hdisk1          00452f0b2b1ec84c                    rootvg          active

克隆的文件系统已挂载,前缀为/ alt_:

# df -m
Filesystem    MB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4         128.00    102.31   21%     2659    11% /
/dev/hd2        1968.00    111.64   95%    40407    58% /usr
/dev/hd9var      112.00     77.82   31%      485     3% /var
/dev/hd3          96.00     69.88   28%      330     3% /tmp
/dev/hd1         208.00    118.27   44%     1987     7% /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt    1712.00   1445.83   16%     6984     3% /opt
/dev/alt_hd4     128.00    102.16   21%     2645    11% /alt_inst
/dev/alt_hd1     208.00     33.64   84%     1987    21% /alt_inst/home
/dev/alt_hd10opt   1712.00   1445.77   16%     6984     3% /alt_inst/opt
/dev/alt_hd3      96.00     72.38   25%      335     2% /alt_inst/tmp
/dev/alt_hd2    1968.00    100.32   95%    40407    59% /alt_inst/usr
/dev/alt_hd9var    112.00     77.53   31%      477     3% /alt_inst/var

此时,可以对克隆的rootvg进行文件修改或进一步研究。 现在,您可以访问克隆的文件系统。 完成这些任务后,将克隆的rootvg置于睡眠状态,并在同一操作中在该磁盘上发出bosboot。 该命令的基本格式为:

alt_rootvg_op -S -t <hdisk>

现在,让altinst_rootvg进入睡眠状态:

# alt_rootvg_op -S -t hdisk0
Putting volume group altinst_rootvg to sleep ...
Building boot image on cloned disk.
forced unmount of /alt_inst/var
forced unmount of /alt_inst/usr
forced unmount of /alt_inst/tmp
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/home
forced unmount of /alt_inst
forced unmount of /alt_inst
Fixing LV control blocks...
Fixing file system superblocks...

磁盘的当前状态为:

# lspv
hdisk0          0041a97b0622ef7f                    altinst_rootvg
hdisk1          00452f0b2b1ec84c                    rootvg          active

从上面的演示中,您可以看到克隆的rootvg名称保持不变: altinst_rootvg

有时最好回到磁盘的原始状态以免造成混乱,特别是如果您有多个克隆的磁盘。 因此,将altinst_rootvg重命名为old_rootvg。 基本格式为:

alt_rootvg_op -v <new cloned rootvg name> -d <hdisk>

因此,在此示例中,您将发出:

# alt_rootvg_op -v old_rootvg -d hdisk0
# lspv
hdisk0          0041a97b0622ef7f                    old_rootvg
hdisk1          00452f0b2b1ec84c                    rootvg          active

当然,如果需要,您可以将克隆的rootvg重命名为更有意义的名称。

# alt_rootvg_op -v bad_rootvg -d hdisk0
bash-2.05a# lspv
hdisk0          0041a97b0622ef7f                    bad_rootvg
hdisk1          00452f0b2b1ec84c                    rootvg          active

从这一点来看,根据修复的成功程度,系统现在是否可以使用前面所述的命令运行。

如果该修补程序适用于(old_rootvg)hdisk0,请使用新的ML版本运行。

确认磁盘将从hdisk0启动:

# bootlist -m normal -o hdisk0

重启:

# shutdown -Fr

销毁新克隆的磁盘(我们从old_rootvg重新启动;现在变为altinst_rootvg)hdisk1:

# alt_rootvg_op -X altinst_rootvg

将hdisk1引入rootvg进行镜像:

# extendvg -f rootvg hdisk1
# mirrorvg rootvg hdisk1
# bosboot -a
# bootlist -m normal -o hdisk0 hdisk1

如果修复不起作用,请保持相同的ML版本,然后再改一天:

确认磁盘将从hdisk1引导:

# bootlist -m normal -o hdisk1

销毁克隆的磁盘(old_rootvg)hdisk0:

# alt_rootvg_op -X old_rootvg

将hdisk0引入rootvg进行镜像:

# extendvg -f rootvg hdisk0
# mirrorvg rootvg hdisk0
# bosboot -a
# bootlist -m normal -o hdisk0 hdisk1

结论

本文显示,如果AIX升级中的事件出错,则使用alt命令是恢复rootvg的快速方法,以及如何在运行的系统上挂载克隆的rootvg文件系统。 alt命令还可以提供将rootvg磁盘迁移到另一个硬件的路径。 在安装两个不同版本的AIX以测试迁移过程时,它也非常有用。


翻译自: https://www.ibm.com/developerworks/aix/library/au-alt_disk_copy/index.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值