问题摘要:在动态升级期间,lucreate 和 luupgrade 命令无法在对应于 /global/.devices/node@N 条目的备用引导环境中更改 DID 名称。
解决方法:开始进行动态升级之前,在每个群集节点上执行以下步骤。
成为超级用户。
备份 /etc/vfstab 文件。
# cp /etc/vfstab /etc/vfstab.old |
打开 /etc/vfstab 文件进行编辑。
定位 /global/.device/node@N 对应的行。
编辑全局设备条目。
将 DID 名称更改为物理名称。
将 /dev/did/{r}dsk/dYsZ 更改为 /dev/{r}dsk/cNtXdYs Z。
从条目中删除 global。
以下示例显示了将对应于 /global/.devices/node@N 的 DID 设备的名称 d3s3 更改为其物理设备名称并从条目中删除 global 之前和之后的变化:
原条目: /dev/did/dsk/d3s3 /dev/did/rdsk/d3s3 /global/.devices/node@2 ufs 2 no global 更改后的条目: dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /global/.devices/node@2 ufs 2 no - |
在所有群集节点上修改了 /etc/vfstab 文件后,执行群集的动态升级,但应在从已升级的备用引导环境重新引导之前停止进一步的操作。
在每个节点上,从当前未升级的引导环境恢复初始 /etc/vfstab 文件。
# cp /etc/vstab.old /etc/vfstab |
在备用引导环境中打开 /etc/vfstab 文件进行编辑。
定位对应于 /global/.devices/node@N 的行,将条目结尾的短划线 (-) 替换为 global。
/dev/dsk/cNtXdYsZ /dev/rdsk/cNtXdYsZ /global/.devices/node@N ufs 2 no global |
从已升级的备用引导环境重新引导节点。
/etc/vfstab 文件中的 DID 名称将被自动替换。