什么时候使用克隆技术呢!一般情况下在生产环境中,我门的rootvg大多数是mirror,如果ML升级失败,或者一些错误操作,导致无法恢复等

这时候就需要我门速度恢复rootvg,无论是使用磁带 mksysb 恢复,还是网络引导恢复,这个速度各方面都不理想。使用 #alt_disk_copy 恢复rootvg时间最快

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

•alt_disk_copy 执行磁盘克隆。

•alt_rootvg_op 在克隆的 rootvg 上执行维护操作。

•alt_disk_mysysb 执行 mksysb 复制

      alt_disk_copy 命令是把正在运行的rootvg copy到另一个磁盘,所以只要是属于rootvg的并且挂载的文件系统都会摆copy。执行这个命令不需要做其他操作,但是这个命令执行时间有点长,尽量放在访问量较少的时候去执行这个命令。

       复制完成以后就多了个altinst_rootvg,当他他是处于未激活的状态。如果他激活,他就自动变成rootvg,而之前的rootvg就变成old_rootvg.反之同理,就看从那个硬盘引导了。

       如果我门这里讨论升级问题,如果升级正常进行,并且运行良好,那么我门就需要销毁新产生的altinst _rootvg,命令alt_rootvg_op销毁克隆,然后在和rootvgmirror。
     如果升级失败只需制作第三方支持所需的快照,然后从原来的 rootvg 引导。对于登录的用户来说,没有什么影响。当从第三方支持收到修复建议时,只需从克隆的rootvg 重新引导并纠正问题。不需要重新应用升级,因为在克隆的rootvg 上已经应用了升级。测试升级结果,如果一切正常,就销毁原来的rootvg,重新建立mirror。

对于克隆的altinst _rootvg,可以使用 alt_rootvg_op 唤醒它,从而挂载文件系统。可以在克隆的文件系统上执行所需的任何操作,比如纠正链接、为第三方支持收集信息等,然后让这个磁盘继续休眠,这也会卸载文件系统。

      注意:

1、 第一台服务器的操作系统要安装完整,补丁打好,需要集群的机器可以把oracle等软件装好,补丁也打好,确定需要的软件都放进去。避免重复劳动。

2、 拔下硬盘或者用分区把硬盘装到别的服务器/分区的后,第一次启动的时候,可能提示找不到可供启动的硬盘,这时候可以进入sms设定一下启动顺 序,设定启动顺序的时候sms可以扫描硬盘,发现上面的操作系统。补充一下,在LPAR的环境中,尤其在需要做类似DLPAR的操 作,alt_disk_copy之后,由于复制原因, 是相同的ct_node_id,这个时候需要重新refresh .. 。。

(可能版本不同而不同)

 

 

实验

我们这里的实验是模拟升级

一、系统检查

#lsvg –l rootvg

#unmirrorvg rootvg hdisk1

#reducevgrootvg hdisk1

可能需要上面的操作(如果没有mirror就不需要上面的操作了)

#lspv

#bootlist -m normal -o

hdisk0blv=hd5 pathid=0

 

二、克隆rootvg

#alt_disk_copy –d hdisk1                           将rootvg克隆到hdisk1

克隆完成之后,系统启动列表改回原来的设置,因为系统自动把引导设置为hdisk1了

#bootlist -m normal -o

Hdisk1blv=hd5 pathid=0

 

将启动列表改成hdisk0

#bootlist –m normal hdisk0

 

#bootlist –m normal –O   或者  #bootlist –m normal hdisk0

(注意:把hdisk2拔下来,放到新的机器/分区中,启动就可以了,这样一台变两台,两台变四台,很快)

 

三、升级

升级包放在/usr/sys/inst.p_w_picpaths

#install_all_updates  –d  /usr/sys/inst.p_w_picpaths

重新启动系统

#shutdonwn  –Fr

 

四、删除/使用克隆盘

如果系统启动没问题。就可以考虑删除克隆盘了。

#alt_rootvg_op -X altinst_rootvg

如果不能正常启动,则使用克隆盘

#bootlist  –m  normal  –o  hdisk1

#bootlist  –m  normal  –o

#shutdown  –Fr

删除原来的rootvg

#lspv

#alt_rootvg_op –X old_rootvg

然后在做mirror,确保系统安全,然后找错升级的错误地方,从新再来升级。

 

网上的找的方法和书上的不太一样(好像是5.3以前常用这个命令)

AIX rootvg的镜像备份
在克隆过程中,系统需完成如下工作:
1.基于当前系统rootvg中内容,产生/p_w_picpath.data 文件.
2.使用系统中未被占用的硬盘, 创建altinst_rootvg卷组
3.创建前缀为alt_inst的逻辑卷和文件系统
4.以当前rootvg为蓝本,生成备份文件列表, 不包含在exclude.list中的文件
5.将所有文件拷到altinst_rootvg的文件系统上
6.如果指定的话,使用installp 命令在新的系统中安装系统的更新软件或新的软件包
7.使用bosboot命令在altinst_rootvg上创建引导逻辑卷
8.若有指定,执行用户的脚本程序
9.卸载文件系统, 修改altinst_rootvg上逻辑卷和文件系统的命名
10. 将引导列表改成从替换硬盘上引导.
需要bos.alt_disk_install.rte这个软件包
alt_disk_install -OCB hdisk1
这种方法克隆的盘,可以拿到不同硬件配置的机器上去用,用它进行引导时,会删除ODM库里的所有信息,重新配置所有设备信息,相当于使用克隆盘重新安装新的系统一样。

alt_disk_install -CB hdisk1
如果你是相同硬件配置的机器,则可以运行下列命令克隆而保持所有设备信息:
----------------------------------------------------------------
1、
# lspv
hdisk0          002074481b340f84                    None
hdisk1          002074484424da16                    rootvg
# alt_disk_install -CB hdisk0
Calling mkszfile to create new /p_w_picpath.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.
Creating /alt_inst/usr file system.
Creating /alt_inst/var file system.
Generating a list of files
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 p_w_picpath 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
Changing logical volume names in volume group descriptor area.
Fixing LV control blocks...
Fixing file system superblocks...
# lspv
hdisk0          002074481b340f84                    altinst_rootvg
hdisk1          002074484424da16                    rootvg
# bootlist -m normal -o       (照例应该是默认克隆盘引导的)
hdisk1
# bootlist -m normal hdisk0 hdisk1
重起进系统后:
# lspv
hdisk0          002074481b340f84                    rootvg
hdisk1          002074484424da16                    old_rootvg
------------------------------------------------------------------
如要释放老rootvg所占用的硬盘,删除其在ODM中的定义,需做如下操作:
alt_disk_install -X old_rootvg

2、
# lspv
hdisk0          002074481b340f84                    old_rootvg
hdisk1          002074484424da16                    rootvg
# alt_disk_install -W hdisk0  ---->从新的备用磁盘引导后“唤醒”一个原始rootvg
Waking up old_rootvg volume group ...
# lspv
hdisk0          002074481b340f84                    altinst_rootvg
hdisk1          002074484424da16                    rootvg
-W disk
用来“唤醒”卷组以在 rootvg 和备用磁盘 rootvg 间的数据存取。
注:经历“唤醒”的卷组将重命名为“altinst_rootvg”。
限制
正在运行系统的操作系统版本必须高于或等于经历“唤醒”的卷组的操作系统版本。这可能意味着有必要从“altinst_rootvg”引导并“唤醒”“old_rootvg”。

------------------------------------------------------------------
3、关机,把hdisk1拔掉,插hdisk0。(和插到其他新机器一样)
# lspv
hdisk1          002074484424da16                    rootvg
hdisk0          002074481b340f84                    altinst_rootvg
# bootlist -m normal -o
hdisk1
# bootlist -m normal hdisk0
# bootlist -m normal -o
hdisk0
进系统后:
# lspv
hdisk0          002074481b340f84                    rootvg
# lsdev -Cc disk
hdisk1 Defined   00-00-00-4,0 2.2 GB 16 Bit SCSI Disk Drive
hdisk0 Available 00-00-00-0,0 2.2 GB 16 Bit SCSI Disk Drive
# rmdev -dl hdisk1
hdisk1 deleted
# lsdev -Cc disk
hdisk0 Available 00-00-00-0,0 2.2 GB 16 Bit SCSI Disk Drive
(这样看上去就是习惯一点,hdisk0为rootvg ,但要是hdisk1是克隆盘,插到新机器上呢?)
(重新插回hdisk1后:)
# lspv
hdisk0          002074481b340f84                    rootvg
hdisk1          002074484424da16                    old_rootvg
---------------------------------------------------------------

继续(想确认下,保留的hdisk0信息如何删除,并使hdisk1开机认出来hdisk0)
# lspv
hdisk1          002074484424da16                    altinst_rootvg
hdisk0          002074481b340f84                    rootvg
# lspv -l hdisk1
hdisk1:
LV NAME               LPs   PPs   DISTRIBUTION          MOUNT POINT
alt_hd5               2     2     02..00..00..00..00    N/A
alt_hd10opt           5     5     05..00..00..00..00    /alt_inst/opt
alt_hd1               1     1     01..00..00..00..00    /alt_inst/home
alt_hd9var            3     3     03..00..00..00..00    /alt_inst/var
alt_hd6               107   107   00..107..00..00..00   N/A
alt_hd8               1     1     00..00..01..00..00    N/A
alt_hd4               2     2     00..00..02..00..00    /alt_inst
alt_hd2               105   105   00..00..104..01..00   /alt_inst/usr
alt_hd3               5     5     00..00..00..05..00    /alt_inst/tmp
# bootlist -m normal -o
hdisk0
# bootlist -m normal hdisk1
拔掉hdisk0,直接插hdisk1。
进系统后:
# lspv
hdisk1          002074484424da16                    rootvg
# lsdev -Cc disk
hdisk0 Defined   00-00-00-0,0 2.2 GB 16 Bit SCSI Disk Drive
hdisk1 Available 00-00-00-4,0 2.2 GB 16 Bit SCSI Disk Drive
# rmdev -dl hdisk0
hdisk0 deleted
# lsdev -Cc disk
hdisk1 Available 00-00-00-4,0 2.2 GB 16 Bit SCSI Disk Drive

和之前一样,hdisk0也一样在。但这时要把原本hdisk1变成hdisk0属于rootvg就比较麻烦了,直接改不了,又需要作一步clone或mirror。(虽然这样不影响使用,但是习惯,而且也可以解决)。所以可选择做如下操作:

# lspv
hdisk1          002074484424da16                    None
hdisk0          002074481b340f84                    rootvg
# alt_disk_install -OCB hdisk1        ------>用这个方便点,但不能保存设备配置

作好插到新机器上,可能要改下启动顺序,进系统:
# lspv
hdisk0          002074484424da16                    rootvg
# ifconfig -a
lo0: flags=e08084b
        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
        inet6 ::1/0
# lsdev -Cc disk
hdisk0 Available 00-00-00-4,0 2.2 GB 16 Bit SCSI Disk Drive
IP都可以重新配~~~
-O  在目标 altinst_rootvg 上执行设备的复位。这将使 alt_disk_install 不保留任何用户定义的设备配置。如果一个或多个目标磁盘将成为不同系统的 rootvg(比如在逻辑分区或系统磁盘交换的情况下),此标志是非常有用的。