什么时候使用克隆技术呢!一般情况下在生产环境中,我门的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(比如在逻辑分区或系统磁盘交换的情况下),此标志是非常有用的。