Sun Cluster 3.0 12/01 软件安装指南

安装和配置 VxVM 软件

开始之前,您需要获取以下信息。

下表列出了为 Sun Cluster 配置而安装和配置 VxVM 软件所需执行的任务。

表 B-1 任务表:安装和配置 VxVM 软件

任务 

有关说明,请转到... 

规划 VxVM 配置的布局。 

"规划卷管理"

确定如何在每个节点上创建 rootdg 磁盘组。

"设置 rootdg 磁盘组概述"

安装 VxVM 软件并创建 rootdg 磁盘组。

 

 

方法 1 - 通过使用 scvxinstall 命令安装 VxVM 软件并封装根磁盘,此外,还可以根据需要镜像已封装的根磁盘。

"如何安装 VERITAS Volume Manager 软件并封装根磁盘"

"如何镜像已封装的根磁盘"

方法 2 - 安装 VxVM 软件并在本地非根磁盘上创建 rootdg

"安装和配置 VxVM 软件"

"如何在非根磁盘上创建 rootdg 磁盘组"

创建磁盘组和卷。 

"如何创建并注册磁盘组"

通过分配新的次编号来解决磁盘设备组之间的次编号冲突。 

"如何给磁盘设备组分配新的次编号"

检验磁盘组和卷。 

"如何检验磁盘组配置"

配置群集。 

"配置群集"

设置 rootdg 磁盘组概述

安装 VxVM 之后,每个群集节点都需要创建一个 rootdg 磁盘组。该磁盘组由 VxVM 用来存储配置信息,并具有以下限制。

Sun Cluster 软件支持下列配置 rootdg 磁盘组的方法。

有关详细信息,请参阅 VxVM 安装文档。

从此处可转到何处

根据您将用来创建 rootdg 磁盘组的方法,选择以下安装方法之一来安装 VxVM。

如何安装 VERITAS Volume Manager 软件并封装根磁盘

该过程使用 scvxinstall(1M) 命令,只需一次操作即可完成 VxVM 软件的安装和根磁盘的封装。


注意:

如果要在本地非根磁盘上创建 rootdg 磁盘组,则应转到"如何只安装 VERITAS Volume Manager 软件"


对每个要安装 VxVM 的节点执行此过程。可以在群集的所有节点上安装 VERITAS Volume Manager (VxVM),也可以只在与 VxVM 将管理的存储设备具有物理连接的那些节点上安装它。


注意:

虽然 scvxinstall 实用程序在开始安装处理之初会禁用 "动态多路径传送 (DMP)",但在安装了 VRTSvxvm 软件包之后,VxVM版本 3.1.1 或更高版本会自动重新启用 DMP。而低于此版本的 VxVM 则仍必须在禁用 DMP 的情况下运行。


  1. 确保群集满足下列先决条件。

    • 群集中的所有节点均以群集模式运行。

    • 要安装的节点的根磁盘具有两个空闲(未分配)分区。

  2. 成为要安装 VxVM 的节点上的超级用户。

  3. 确保该节点的 /etc/name_to_major 文件中尚未包含 vxio 项。

    如果存在 vxio 项,请从文件中删除它。如果以前曾在群集的其他节点上安装了 VxVM,则可能存在该项。在安装 VxVM 软件包的过程中,将自动添加正确的 vxio 项。

  4. 将 VxVM CD-ROM 插入节点上的 CD-ROM 驱动器中。

  5. 以交互式模式启动 scvxinstall

    无论何时按 Control-C 都会异常终止 scvxinstall 命令。


    # scvxinstall
    

    有关详细信息,请参阅 scvxinstall(1M) 手册页。

  6. 当得到提示询问是否封装根时,键入 yes


    Do you want Volume Manager to encapsulate root [no]?y
    

  7. 得到提示时,提供 VxVM CD-ROM 的位置。

    • 如果找到了相应的 VxVM CD-ROM,则其位置会作为提示的一部分显示在括号内。按 Enter 键接受此缺省位置。


      Where is the volume manager cdrom [default]?

    • 如果未找到 VxVM CD-ROM,则显示提示时不带缺省位置。键入 CD-ROM 或 CD-ROM 映像的位置。


      Where is the volume manager cdrom?

  8. 得到提示时,键入 VxVM 许可证密钥。


    Please enter license key:  license
    

    scvxinstall 命令自动执行下列任务。

    • 禁用 "动态多路径传送 (DMP)"。

    • 安装 VRTSvxvmVRTSvmdevVRTSvmman 软件包

    • vxio 驱动程序的主编号设置为 210

    • 通过封装根磁盘来创建 rootdg 磁盘组

    • 更新 /etc/vfstab 文件中的 /global/.devices

    有关详细信息,请参阅 scvxinstall(1M) 手册页。


    注意:

    安装过程中有两次自动重新引导。所有安装任务都完成之后,scvxinstall 会第二次自动重新引导节点,除非您在得到提示后按 Control-C。如果按 Control-C 来异常终止第二次重新引导,则稍后必须重新引导该节点才能完成 VxVM 安装。


  9. 如果要启用 VxVM 群集功能,请运行 vxlicense 命令来提供群集功能许可证密钥。

    有关 vxlicense 命令的信息,请参阅 VxVM 文档。

  10. (可选的) 安装 VxVM GUI。


    # pkgadd VRTSvmsa
    

    有关 VxVM GUI 的信息,请参阅 VxVM 文档。

  11. 弹出 CD-ROM。

  12. 安装所有 VxVM 修补程序。

    有关修补程序的位置和安装说明,请参阅《Sun Cluster 3.0 12/01 发行说明》。

  13. (可选的) 如果不希望群集节点上驻留有 VxVM 手册页,可删除该手册页软件包。


    # pkgrm VRTSvmman
    

  14. 是否要在另一个节点上安装 VxVM?

  15. 是否存在一个或多个您打算在其上安装 VxVM 的节点?


    注意:

    如果要启用 VxVM 群集功能,则必须在群集的所节点上安装 VxVM。转到步骤 17


  16. 修改每个非 VxVM 节点上的 /etc/name_to_major 文件。

    1. 成为您打算在其上安装 VxVM 的节点上的超级用户。

    2. 编辑 /etc/name_to_major 文件并添加一项以将 vxio 主编号设置为 210


      # vi /etc/name_to_major
      vxio 210


      注意:

      如果稍后要在该节点上安装 VxVM,则在安装 VxVM 之前首先必须删除 vxio 项。


    3. 初始化 vxio 项。


      # drvconfig -b -i vxio -m 210
      


      注意:

      下一次重新引导此节点时,可能会看到类似如下的消息。 这些消息不会造成损害,因而可以忽略。


      /sbin/rcS: /usr/sbin/vxrecover: not found
      /etc/rc2.d/S75MOUNTGFSYS: /usr/sbin/vxdctl: not found


    4. 在您打算安装 VxVM 的所有其他节点上重复步骤 a步骤 c中的操作。

      完成后,群集中的每个节点在其 /etc/name_to_major 文件中应具有相同的项 vxio

  17. 是否打算镜像封装的根磁盘?


注意:

如果稍后需要取消根磁盘的封装,请按照"如何取消根磁盘的封装"中的过程进行操作。


如何镜像已封装的根磁盘

安装 VxVM 并封装根磁盘后,在要对其已封装的根磁盘进行镜像的每个节点上执行此过程。

  1. 按照 VxVM 文档中的过程来镜像已封装的根磁盘。

    为了获得最高可用性并简化管理,使用本地磁盘进行镜像。 有关其他指导信息,请参阅"镜像根磁盘"


    小心:小心:

    不要使用定额设备来镜像根磁盘。 否则,在某些情况下节点可能无法从根磁盘镜像中进行引导。


  2. 显示设备 ID (DID) 映射。


    # scdidadm -L
    

  3. 从 DID 映射中,定位用于镜像根磁盘的磁盘。

  4. 从根磁盘镜像的 DID 名称中提取原始磁盘设备组名称。

    原始磁盘设备组的名称遵循惯例 dsk/dN,其中 N 是数字。在以下输出中,从中提取原始磁盘设备组名称的那部分 scdidadm 输出行用黑体突出显示。


    N         node:/dev/rdsk/cNtXdY     /dev/did/rdsk/dN
    

  5. 查看原始磁盘设备组的节点列表。

    输出类似于以下内容。


    # scconf -pvv | grep dsk/dN
    Device group name:                                 dsk/dN
    ...
      (dsk/dN) Device group node list:                 phys-schost-1, phys-schost-3
    ...

  6. 节点列表是否包含多个节点名称?

  7. 从原始磁盘设备组的节点列表中,删除所有节点,其根磁盘已镜像的节点除外

    仅在节点列表中保留其根磁盘已镜像的那个节点。


    # scconf -r -D name=dsk/dN,nodelist=node
    
    -D name=dsk/dN

    给原始磁盘设备组指定群集范围内唯一的名称

    nodelist=node

    指定要从节点列表中删除的节点的名称

  8. 启用原始磁盘设备组的 localonly 特性。

    启用了 localonly 特性后,该原始磁盘设备组就由其节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。


    # scconf -c -D name=dsk/dN,localonly=true
    

    有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。

  9. 对群集中要镜像其已封装的根磁盘的每个节点重复该过程的操作。

  10. 创建磁盘组。

    转到"如何创建并注册磁盘组"

示例 - 镜像已封装的根磁盘

以下示例显示了为节点 phys-schost-1 的根磁盘所创建的一个镜像。该镜像在磁盘 c1t1d0 上创建,其原始磁盘设备组名称为 dsk/d2。磁盘 c1t1d0 是多端口磁盘,因此,已从该磁盘的节点列表中删除了节点 phys-schost-3 并启用 localonly 特性。


(显示 DID 映射)
# scdidadm -L 
...
2        phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2     
2        phys-schost-3:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2     
...
 
(显示镜像磁盘的原始磁盘设备组的节点列表)
# scconf -pvv | grep dsk/d2
Device group name:                                 dsk/d2
...
  (dsk/d2) Device group node list:                 phys-schost-1, phys-schost-3
...
 
(从原始磁盘设备组的节点列表中删除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
  
(为镜像磁盘的原始磁盘设备组启用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true

如何只安装 VERITAS Volume Manager 软件

此过程使用 scvxinstall 命令以便只安装 VERITAS Volume Manager (VxVM) 软件。


注意:

要通过封装根磁盘来创建 rootdg 磁盘组,请不要使用此过程。而应转到"如何安装 VERITAS Volume Manager 软件并封装根磁盘",通过一次操作就完成 VxVM 软件的安装和根磁盘的封装。


对要安装 VxVM 的每个节点执行该过程。您可以在群集的所有节点上安装 VxVM,也可以仅在与 VxVM 将管理的存储设备具有物理连接的那些节点上安装它。


注意:

虽然 scvxinstall 实用程序在开始安装处理之初会禁用 "动态多路径传送 (DMP)",但在安装了 VRTSvxvm 软件包之后,VxVM版本 3.1.1 或更高版本会自动重新启用 DMP。低于此版本的 VxVM 则仍必须在禁用了 DMP 的情况下运行。


  1. 确保群集中的所有节点均以群集模式运行。

  2. 成为要安装 VxVM 的群集节点上的超级用户。

  3. 确保该节点的 /etc/name_to_major 文件中尚未包含 vxio 项。

    如果存在 vxio 项,请从文件中删除它。如果以前曾在群集的其他节点上安装了 VxVM,则可能存在该项。在 VxVM 软件包的安装过程中,会自动添加正确的 vxio 项。

  4. 将 VxVM CD-ROM 插入节点上的 CD-ROM 驱动器中。

  5. 在交互式安装模式下启动 scvxinstall


    # scvxinstall -i
    

    scvxinstall 命令自动执行下列任务。

    • 禁用 "动态多路径传送 (DMP)"。

    • 安装 VRTSvxvmVRTSvmdevVRTSvmman 软件包

    • vxio 驱动程序的主编号设置为 210

    有关信息,请参阅 scvxinstall(1M) 手册页。

  6. (可选的) 安装 VxVM GUI。


    # pkgadd VRTSvmsa
    

    有关 VxVM GUI 的信息,请参阅 VxVM 文档。

  7. 弹出 CD-ROM。

  8. 安装所有 VxVM 修补程序。

    有关修补程序的位置和安装说明,请参阅《Sun Cluster 3.0 12/01 发行说明》。

  9. (可选的) 如果不希望群集节点上驻留有 VxVM 手册页,请删除该手册页软件包。


    # pkgrm VRTSvmman
    

  10. 是否要在另一个节点上安装 VxVM?

  11. 是否存在一个或多个您打算在其上安装 VxVM 的节点?


    注意:

    如果要启用 VxVM 群集功能,则必须在群集的所有节点上安装 VxVM。转到步骤 13


  12. 修改每个非 VxVM 节点上的 name_to_major 文件。

    1. 成为您打算安装 VxVM 的节点上的超级用户。

    2. 编辑 /etc/name_to_major 文件并添加一项以将 vxio 主编号设置为 210


      # vi /etc/name_to_major
      vxio 210


      注意:

      如果稍后要在该节点上安装 VxVM,则在安装 VxVM 之前,必须删除 vxio 项。


    3. 初始化 vxio 项。


      # drvconfig -b -i vxio -m 210
      


      注意:

      下一次重新引导此节点时,可能会看到类似如下的消息。 这些消息不会造成损害,因而可以忽略。


      /sbin/rcS: /usr/sbin/vxrecover: not found
      /etc/rc2.d/S75MOUNTGFSYS: /usr/sbin/vxdctl: not found


    4. 在您打算安装 VxVM 的所有其他节点上重复步骤 a步骤 c中的操作。

      完成后,群集中的每个节点在其 /etc/name_to_major 文件中应具有相同的项 vxio

  13. 创建 rootdg 磁盘组。

    转到"如何在非根磁盘上创建 rootdg 磁盘组"

如何在非根磁盘上创建 rootdg 磁盘组

使用此过程,可通过封装或初始化非根磁盘的本地磁盘来创建 rootdg 磁盘组。

  1. 获取 VERITAS Volume Manager (VxVM) 许可证密钥。

  2. 成为节点的超级用户。

  3. (可选的) 如果将要封装磁盘,则确保每个磁盘至少有两个具有 0 柱面的磁盘片。

    如果需要,使用 format(1M) 命令来为每个 VxVM 盘片分配 0 柱面。

  4. 启动 vxinstall(1M) 实用程序。


    # vxinstall
    

    得到提示后,执行下列选择或输入。

    • 提供 VxVM 许可证密钥。

    • 要启用 VxVM 群集功能,请提供群集功能许可证密钥。

    • 选择定制安装。

    • 不要封装根磁盘。

    • 选择要添加到 rootdg 磁盘组的所有磁盘。

    • 不要接受自动重新引导。

  5. 从节点中清空任何资源组或设备组。


    # scswitch -S -h node
    
    -S

    清空所有资源组和设备组

    -h node

    指定要从中清空资源或设备组的节点的名称

  6. 重新引导该节点。


    # shutdown -g0 -y -i6
    

  7. 使用 vxdiskadm(1M) 命令将多个磁盘添加到 rootdg 磁盘组。

    rootdg 磁盘组包含多个磁盘时,则会具有磁盘容错功能。有关过程的信息,请参阅 VxVM 文档。

  8. 创建磁盘组。

    转到"如何创建并注册磁盘组"

如何创建并注册磁盘组

使用此过程来创建 VxVM 磁盘组和卷。


注意:

将磁盘组作为磁盘设备组注册到群集之后,绝对不能使用 VxVM 命令来输入或清除 VxVM 磁盘组。Sun Cluster 软件可以处理所有需要输入或清除磁盘组的情况。有关如何管理 Sun Cluster 磁盘设备组的过程信息,请参阅《Sun Cluster 3.0 12/01 系统管理指南》。


从一个节点执行此过程,该节点与组成要添加的磁盘组的各个磁盘具备物理连接。

  1. 获取下列信息:

    • 存储磁盘驱动器的映射。 有关如何执行存储设备的初始安装的信息,请参阅《Sun Cluster 3.0 12/01 Hardware Guide》中的相应章节。

    • Sun Cluster 3.0 12/01 发行说明》中以下已完成的配置规划工作表。

      • "本地文件系统布局工作表"

      • "磁盘设备组配置工作表"

      • "卷管理器配置工作表"

      有关规划指南的信息,请参阅"规划卷管理"

  2. 成为将拥有磁盘组的节点的超级用户。

  3. 创建 VxVM 磁盘组和卷。

    如果您正在安装 Oracle Parallel Server/Real Application Clusters,请按照《VERITAS Volume Manager Administrator's Reference Guide》中的说明,使用 VxVM 的群集功能来创建共享的 VxVM 磁盘组。否则,请使用 VxVM 文档中介绍的标准过程来创建 VxVM 磁盘组。


    注意:

    可以使用 "脏区域记录 (DRL)" 来缩短节点失败时的卷恢复时间。 但是,使用 DRL 可能减少 I/O 吞吐量。


  4. 是否启用 VxVM 群集功能?

    • 如果是,则转到步骤 7。如果启用 VxVM 群集功能,则不要将共享磁盘组注册为 Sun Cluster 磁盘设备组。

    • 否则转到步骤 5

  5. 将磁盘组注册为 Sun Cluster 磁盘设备组。

    1. 启动 scsetup(1M) 实用程序。


      # scsetup
      

    2. 要使用磁盘设备组,请键入 4(设备组和卷)。

    3. 要注册磁盘设备组,请输入 1(注册 VxVM 磁盘组)。

      按照说明键入要注册为 Sun Cluster 磁盘设备组的 VxVM 磁盘设备组。

    4. 如果在尝试注册磁盘设备组时遇到以下错误,请为磁盘设备组重编次编号。


      scconf: Failed to add device group - in use

      要为磁盘设备组重编次编号,请使用"如何给磁盘设备组分配新的次编号"这一过程。此过程使您能够分配一个新的次编号,该编号不与现有磁盘设备组所使用的次编号冲突。

    5. 完成后,键入 q(退出)以退出 scsetup 实用程序。

  6. 检验是否已注册磁盘设备组。

    使用以下命令查看所显示的新磁盘的磁盘设备信息。


    # scstat -D
    


    注意:

    如果更改 VxVM 磁盘组或卷的任何配置信息,则必须使用 scsetup 来重新注册 Sun Cluster 磁盘设备组。这样的配置更改包括添加或删除卷,以及更改现有卷的组、属主或许可。 配置更改后的注册将确保全局名称空间处于正确的状态。 有关如何重新注册磁盘设备组的过程信息,请参阅《Sun Cluster 3.0 12/01 系统管理指南》。


  7. 检验 VxVM 磁盘组和卷的配置。

    转到"如何检验磁盘组配置"

如何给磁盘设备组分配新的次编号

如果因为次编号与另一磁盘组的次编号冲突而导致磁盘设备组注册失败,则必须给该新磁盘组分配一个未使用过的新次编号。 遵照此过程,为磁盘组重编次编号。

  1. 成为群集中一个节点上的超级用户。

  2. 确定正在使用的次编号。


    # ls -l /global/.devices/node@1/dev/vx/dsk/*
    

  3. 选择其他任何未使用的 1000 的倍数作为新磁盘组的基本次编号。

  4. 将该新的基本次编号分配给磁盘组。


    # vxdg reminor diskgroup base-minor-number
    

  5. 转到"如何创建并注册磁盘组"中的步骤 5,将该磁盘组注册为 Sun Cluster 磁盘设备组。

示例 - 如何为磁盘设备组分配新的次编号

该示例使用次编号 16000-16002 和 4000-4001。vxdg reminor 命令为新磁盘设备组重编次编号以使用基本次编号 5000。


# ls -l /global/.devices/node@1/dev/vx/dsk/*
/global/.devices/node@1/dev/vx/dsk/dg1
brw-------   1 root     root      56,16000 Oct  7 11:32 dg1v1
brw-------   1 root     root      56,16001 Oct  7 11:32 dg1v2
brw-------   1 root     root      56,16002 Oct  7 11:32 dg1v3
 
/global/.devices/node@1/dev/vx/dsk/dg2
brw-------   1 root     root      56,4000 Oct  7 11:32 dg2v1
brw-------   1 root     root      56,4001 Oct  7 11:32 dg2v2
# vxdg reminor dg3 5000

如何检验磁盘组配置

在群集中的每个节点上都执行此过程。

  1. 检验是否只有本地磁盘包含于根磁盘组 (rootdg) 中,并且只在当前主节点中输入磁盘组。


    # vxdisk list
    

  2. 检验是否所有卷都已启动。


    # vxprint
    

  3. 检验所有磁盘组都已注册为 Sun Cluster 磁盘设备组并已联机。


    # scstat -D
    

  4. 配置群集。

    转到"配置群集"

如何取消根磁盘的封装

执行此过程以取消根磁盘的封装。


注意:

此过程对于 Sun Cluster 3.0 配置有效。要在 Sun Cluster 2.2 配置中取消根磁盘的封装,请按照 VxVM 文档中说明的过程进行操作。


  1. 确保根磁盘上只有 Solaris 根文件系统 - root (/)、交换、全局设备名称空间、/usr/var/opt/home

    如果有任何其它文件系统驻留在根磁盘上,则将其备份然后从根磁盘中删除。

  2. 成为要取消封装的节点的超级用户。

  3. 从节点中清空所有资源组和设备组。


    # scswitch -S -h node
    
    -S

    清空所有资源组和设备组

    -h node

    指定要从中清空资源或设备组的节点的名称

  4. 确定该节点的节点 ID 号。


    # clinfo -n
    N
    

  5. 卸载此节点的全局设备文件系统,其中 N 是在步骤 4中返回的节点 ID 号。


    # umount /global/.devices/node@N
    

  6. 查看 /etc/vfstab 文件并确定哪个 VxVM 卷对应于全局设备文件系统。


    # vi /etc/vfstab
    #device           device        mount   FS      fsck    mount   mount
    #to mount         to fsck       point   type    pass    at boot options
    #                       
    #NOTE: volume rootdiskxNvol (/global/.devices/node@N) encapsulated partition cNtXdYsZ
    

  7. rootdg 磁盘组中删除对应于该全局设备文件系统的 VxVM 卷。


    # vxedit -rf rm rootdiskxNvol
    


    小心:小心:

    不要在全局设备文件系统中存储全局设备的设备项以外的数据。删除 VxVM 卷时,全局设备文件系统中的所有数据都会遭到破坏。在根磁盘的封装被取消之后,仅恢复与全局设备项相关的数据。


  8. 取消根磁盘的封装。


    # /etc/vx/bin/vxunroot
    

    有关详细信息,请参阅 VxVM 文档。

  9. 使用 format(1M) 命令向根磁盘中添加 100 兆字节的分区,供全局设备文件系统使用。


    提示:

    使用 /etc/vfstab 文件中指定的同一个盘片,即:该根磁盘被封装之前分配给全局设备文件系统的那个盘片。


  10. 步骤 9中创建的分区上设置一个文件系统。


    # newfs /dev/rdsk/cNtXdYsZ
    

  11. 确定根磁盘的设备 ID (DID) 名称。


    # scdidadm -l cNtXdY
    1        phys-schost-1:/dev/rdsk/cNtXdY   /dev/did/rdsk/dN 
    

  12. /etc/vfstab 文件中,用在步骤 11中确定的 DID 路径来替代全局设备文件系统项中的路径名称。

    原有项应类似于以下内容。


    # vi /etc/vfstab
    /dev/vx/dsk/rootdiskxNvol /dev/vx/rdsk/rootdiskxNvol /global/.devices/node@N ufs  2  no  global

    经过修订后,使用 DID 路径的项应类似于以下内容。


    /dev/did/dsk/dNsX /dev/did/rdsk/dNsX /global/.devices/node@N ufs 2  no  global

  13. 安装全局设备文件系统。


    # mount /global/.devices/node@N
    

  14. 从群集的一个节点上,给所有原始磁盘和 Solstice DiskSuite 设备的设备节点上重新装入全局设备文件系统。

    VxVM


    # scgdevs
    
    设备在下一次重新引导时重新创建。

  15. 重新引导该节点。


    # reboot
    

  16. 在群集的每个节点上重复该过程,以在这些节点上取消根磁盘的封装。