如果使用 Solaris Live Upgrade 从 Solaris 8 发行版升级到 Solaris 10 发行版,则可能发生错误。Solstice DiskSuite TM 4.2.1 配置可能无法转换为 Solaris 卷管理器配置。所有 RAID-0、RAID-1 和诸如镜像、条带及子镜像等其他卷可能丢失。
如果在升级前已按特定顺序对 Solaris 8 系统应用修补程序,则发生该问题。要确定系统是否会遇到问题,请检查 Solaris 8 系统上的 SUNWmdr 软件包的版本信息。键入以下命令:
# grep VERSION /var/sadm/pkg/SUNWmdr/pkginfo |
如果上述命令生成以下输出,则系统可能受该问题影响:
PKG_CLIENT_VERSION=8 VERSION=4.2.1,REV=1999.12.03.10.00 |
解决方法:执行以下步骤。
使用 Solaris Live Upgrade 升级替换引导环境。
有关更多信息,请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》。
装入已升级的引导环境磁盘,但不激活已升级的引导环境。
# mnt -F ufs /mnt/c0t0d0slice_number /mnt |
在前一个示例中,slice_number 引用包含已升级引导环境的片。
检查 /etc/system 文件中是否存在类似以下文本的 MDD 数据库信息项:
* Begin MDD database info (do not edit) set md:mddb_bootlist1="sd:7:16 sd:7:1050 sd:7:2084" * End MDD database info (do not edit) |
在文本编辑器中,为已升级引导环境打开 /kernel/drv/md.conf 文件。
# cd /kernel/drv # vi md.conf |
如下所示修改 md.conf:
从您在步骤 3 中检查的 /etc/system 文件添加 mddb_bootlist 信息。确保还包含出现在该信息之前和之后的、带注释的 "Begin" 和 "End" 行。
对于 mddb_bootlist 行上的每个 sd 磁盘项,在磁盘项末尾添加文本字符串 :id0。
在 mddb_bootlist 项下,插入以下新行:
md_devid_destroy=1; |
下例显示如何修改 md.conf 文件:
# Begin MDD database info (do not edit) mddb_bootlist1="sd:7:16:id0 sd:7:1050:id0 sd:7:2084:id0"; md_devid_destroy=1; # End MDD database info (do not edit) |
保存 md.conf 文件。
从 /etc/system 文件中删除 mddb_bootlist 项。
卸载已升级的引导环境磁盘。
激活已升级的引导环境。