如果使用 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 项。
卸载已升级的引导环境磁盘。
激活已升级的引导环境。