使用此过程可以将已封装的根 (/) 文件系统恢复到节点。 不应引导正在恢复的节点。 在执行此恢复过程前确保群集正在无故障地运行。
由于新磁盘的分区必须与故障磁盘完全相同,所以在进行此过程前必须先确定分区方案,并相应地重建文件系统。
替换要恢复其根文件系统的那个节点上的故障磁盘。
请参阅服务器所附带的文档,以了解磁盘替换过程。
如果使用的是 Solaris CD,请在 OpenBoot PROM ok 提示下键入以下命令:
ok boot cdrom -s |
如果使用的是 Solaris JumpStartTM 服务器,请在 OpenBoot PROM ok 提示下键入以下命令:
ok boot net -s |
使用 format 命令在根磁盘上创建所有分区和交换。
重建故障磁盘上的原分区方案。
使用 newfs 命令,创建根 (/) 文件系统和相应的其它文件系统。
重建故障磁盘上的原文件系统。
确保创建了 /global/.devices/node@nodeid 文件系统。
在临时安装点上安装根 (/) 文件系统。
# mount device temp-mountpoint |
从备份中恢复根 (/) 文件系统。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable |
创建一个空的 install-db 文件。
此操作将在下次重新引导节点时将其置于 VxVM 安装模式。
# touch /temp-mountpoint/etc/vx/reconfig.d/state.d/install-db |
删除或注释掉 /temp-mountpoint/etc/system 文件中的以下条目。
* rootdev:/pseudo/vxio@0:0 * set vxio:vol_rootdev_is_volume=1 |
编辑 /temp-mount-point/etc/vfstab 文件,并用根磁盘的标准磁盘设备(例如 /dev/dsk/c0t0d0s0)替换所有的 VxVM 安装点。
Example: Change from— /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no - Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
卸载临时文件系统并检查该文件系统。
# cd / # umount temp-mountpoint # fsck raw-disk-device |
在新磁盘上安装引导块。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
以单用户模式重新引导节点。
# reboot -- "-s" |
使用 scdidadm( 1M) 命令更新磁盘 ID。
# scdidadm -R /dev/rdsk/c0t0d0 |
运行 vxinstall 以封装磁盘并重新引导。
# vxinstall |
如果与其它系统间存在次编号冲突,则卸载全局设备并为磁盘组重编次编号。
卸载群集节点上的全局设备文件系统。
# umount /global/.devices/node@nodeid |
为群集节点上的 rootdg 磁盘组重编次编号。
# vxdg reminor rootdg 100 |
关闭并以群集模式重新引导节点。
# shutdown -g0 -i6 -y |
下面的示例展示了将根 (/) 文件系统从磁带设备 /dev/rmt/0 恢复到节点 phys-schost-1 的过程。
[替换故障磁盘并引导节点:] |
从 Solaris CD 引导节点。 请在 OpenBoot PROM ok 提示下键入以下命令:
ok boot cdrom -s ... [使用 format 和 newfs 来创建分区和文件系统] [在临时安装点上安装根文件系统:] # mount /dev/dsk/c0t0d0s0 /a [恢复根文件系统:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [创建空的 install-db 文件:] # touch /a/etc/vx/reconfig.d/state.d/install-db [在临时文件系统上编辑 /etc/system 并删除或注释掉以下 项:] # rootdev:/pseudo/vxio@0:0 # set vxio:vol_rootdev_is_volume=1 [在临时文件系统上编辑 /etc/vfstab:] Example: Change from— /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no- Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - [卸载临时文件系统,然后检查该文件系统:] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [安装新的引导块:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [以单用户模式重新引导:] # reboot -- "-s" [更新磁盘 ID:] # scdidadm -R /dev/rdsk/c0t0d0 [运行 vxinstall:] # vxinstall Choose to encapsulate the root disk. [如果发生次编号冲突,请为 rootdg 磁盘组重新编号:] # umount /global/.devices/node@nodeid # vxdg reminor rootdg 100 # shutdown -g0 -i6 -y |
有关如何镜像已封装的根磁盘的说明,请参阅《Sun Cluster 软件安装指南(适用于 Solaris OS)》。