在进行标准升级之前,请执行以下过程使群集停止运行。在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。
请执行以下任务:
确保配置符合升级要求。请参见升级要求和软件支持指导信息。
准备好包括以下软件在内的所有要升级的软件产品的安装介质、文档和修补程序:
Solaris OS
Sun Cluster 3.2 框架
Sun Cluster 3.2 数据服务(代理)
由 Sun Cluster 3.2 数据服务管理的应用程序
VERITAS Volume Manager(如果有)
有关修补程序和安装说明所在的位置,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的“修补程序和所需的固件级别”。
如果访问群集节点时使用基于角色的访问控制 (Role-Based Access Control, RBAC) 而非超级用户,请确保使用可对所有 Sun Cluster 命令提供授权的 RBAC 角色。如果用户的身份不是超级用户,则这一系列的升级过程要求用户具备以下 Sun Cluster RBAC 授权:
solaris.cluster.modify
solaris.cluster.admin
solaris.cluster.read
有关使用 RBAC 角色的更多信息,请参见《System Administration Guide: Security Services》中的“Role-Based Access Control (Overview)”。有关每个 Sun Cluster 子命令所需 RBAC 授权的信息,请参见 Sun Cluster 手册页。
确保群集运行正常。
从任一节点上运行以下命令,以查看群集的当前状态。
phys-schost% scstat |
有关更多信息,请参见 scstat(1M) 手册页。
在位于同一节点的 /var/adm/messages 日志中搜索未解决的错误消息或警告消息。
检查卷管理器的状态。
通知用户群集服务在升级期间将不可用。
成为群集中一个节点上的超级用户。
使群集中的所有资源组(包括那些处于非全局区域中的资源组)脱机。然后禁用所有资源,以防止当某个节点被错误地重新引导至群集模式时,群集自动使资源联机。
如果要从 Sun Cluster 3.1 软件进行升级并且希望使用 scsetup 实用程序,请执行以下步骤:
使每个资源均脱机。
phys-schost# scswitch -F -g resource-group |
将资源组切换为脱机状态。
指定要脱机的资源组的名称。
phys-schost# scrgadm -pv | grep "Res enabled" (resource-group:resource) Res enabled: True |
找出依赖于其他资源的那些资源。
必须先禁用资源的相关资源。
phys-schost# scswitch -n -j resource |
禁用。
指定资源。
有关更多信息,请参见 scswitch(1M) 手册页。
检验是否已禁用所有资源。
phys-schost# scrgadm -pv | grep "Res enabled" (resource-group:resource) Res enabled: False |
phys-schost# scswitch -u -g resource-group |
使指定的资源组处于不受管理状态。
指定要转入不受管理状态的资源组的名称。
检验所有节点上的所有资源是否都处于脱机状态,所有资源组是否都处于不受管理状态。
phys-schost# scstat |
对于使用 Sun StorEdge Availability Suite 软件或 Sun StorageTekTM Availability Suite 软件的双节点群集,请确保可用性服务的配置数据驻留在法定磁盘上。
配置数据必须驻留在法定磁盘上,以确保 Availability Suite 能够在您升级群集软件后正常运行。
在运行 Availability Suite 软件的群集中,成为某一节点上的超级用户。
确定 Availability Suite 配置文件所使用的设备 ID 和分片。
phys-schost# /usr/opt/SUNWscm/sbin/dscfg /dev/did/rdsk/dNsS |
在此输出示例中,N 为设备 ID,S 为设备 N 的片。
确定现有的法定设备。
phys-schost# scstat -q -- 按设备计算的法定选票 -- 设备名称 现有的 可能的 状态 ----------- ------- -------- ------ 设备选票: /dev/did/rdsk/dQsS 1 1 联机 |
在此输出示例中,dQsS 为现有的法定设备。
如果法定设备与 Availability Suite 配置数据所在设备不是同一设备,请将配置数据移到法定设备的某个可用分片上。
phys-schost# dd if=`/usr/opt/SUNWesm/sbin/dscfg` of=/dev/did/rdsk/dQsS |
必须使用原始 DID 设备的名称 /dev/did/rdsk/,而不能使用块 DID 设备的名称 /dev/did/dsk/。
如果移动了配置数据,请配置 Availability Suite 软件以使用新位置。
在运行 Availability Suite 软件的每个节点上,以超级用户的身份发出以下命令。
phys-schost# /usr/opt/SUNWesm/sbin/dscfg -s /dev/did/rdsk/dQsS |
(可选的)如果要从 Sun Cluster 3.0 软件版本进行升级,并且不希望 ntp.conf 文件被重命名为 ntp.conf.cluster,请创建一个 ntp.conf.cluster 文件。
在每个节点上,将 /etc/inet/ntp.cluster 复制为 ntp.conf.cluster。
phys-schost# cp /etc/inet/ntp.cluster /etc/inet/ntp.conf.cluster |
ntp.conf.cluster 文件的存在可阻止升级过程对 ntp.conf 文件的重命名。各群集节点之间仍将使用 ntp.conf 文件来同步 NTP。
停止群集中每个节点上运行的所有应用程序。
确保备份了所有共享数据。
如果将升级 Solaris OS,并且群集为 Solaris Volume Manager 软件使用了双串调解器,请取消这些调解器的配置。
有关调解器的更多信息,请参见配置双串调解器。
运行以下命令来检验不存在任何调解器数据问题。
phys-schost# medstat -s setname |
指定磁盘集名称。
如果“状态”字段中的值为 Bad,则修复受影响的调解器主机。请按照如何修正错误的调解器数据中的过程执行。
列出所有调解器。
请保存此信息,以便在执行如何完成到 Sun Cluster 3.2 软件的升级过程期间用来恢复调解器。
对于使用调解器的磁盘组,如果任何节点都不具有拥有权,请获取磁盘组的拥有权。
phys-schost# scswitch -z -D setname -h node |
更改控制权。
指定磁盘集的名称。
指定要成为磁盘集主节点的那个节点的名称。
取消配置用于磁盘集的所有调解器。
phys-schost# metaset -s setname -d -m mediator-host-list |
指定磁盘集名称。
从磁盘集删除。
指定要作为磁盘集的调解器主机进行删除的节点的名称。
有关 metaset 命令特定于调解器的选项的详细信息,请参见 mediator(7D) 手册页。
对其余每个使用调解器的磁盘集重复执行步骤 c 至步骤 d。
从一个节点,关闭群集。
# scshutdown -g0 -y |
有关更多信息,请参见 scshutdown(1M) 手册页。
将各个节点都引导成非群集模式。
在基于 SPARC 的系统中,执行以下命令:
ok boot -x |
在基于 x86 的系统中,执行以下命令:
在 GRUB 菜单中,使用方向键选择适当的 Solaris 条目,然后键入 e 编辑其命令。
GRUB 菜单显示如下内容:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
有关基于 GRUB 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11 章 “GRUB Based Booting (Tasks)”。
在引导参数屏幕中,使用方向键选择 kernel 条目,然后键入 e 编辑该条目。
GRUB 引导参数屏幕的显示与以下内容类似:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
在命令中添加 -x 以指定将系统引导至非群集模式。
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -x |
按 Enter 键接受更改,并返回到引导参数屏幕。
屏幕将显示编辑后的命令。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
键入 b 将节点引导至非群集模式。
对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请再次执行上述步骤,将 -x 选项添加到 kernel 引导参数命令中。
确保备份了每个系统磁盘。
在每个节点上升级软件。
如果进行 Sun Cluster 软件的升级之前要升级 Solaris 软件,请转至如何升级 Solaris OS 和卷管理器软件(标准)。
如果 Sun Cluster 3.2 软件不支持群集当前运行的 Solaris OS 发行版,则必须将 Solaris 软件升级到受支持的发行版本。有关更多信息,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的 "Supported Products"。
如果 Sun Cluster 3.2 软件支持当前在群集中运行的 Solaris OS 版本,则进一步升级 Solaris 软件为可选操作。
否则,升级到 Sun Cluster 3.2 软件。请转至如何升级 Sun Cluster 3.2 软件(标准)。