Sun Cluster 3.0 安装指南

设置 rootdg 磁盘组概述

每个群集节点要求创建一个 rootdg 磁盘组。该磁盘组由 VxVM 用来 存储配置信息,它有以下限制。

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

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

如何封装根磁盘

遵照此过程,通过封装根磁盘来创建一个 rootdg 磁盘组。

  1. 获取可用的 VERITAS 卷管理器 (VxVM) 许可证密钥。

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

  3. 确保根磁盘至少有两个磁盘片,该磁盘的结尾或开始部分有 0 柱面和一个或两个空闲柱面。

    如有必要,使用 format(1M) 命 令来为每个 VxVM 磁盘片分配 0 柱面。如果盘片 7 被保留给卷管理器使用,则格式化盘片 7 还 将释放磁盘结尾处的所需额外空间。

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


    # vxinstall
    

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

    • 选择定制安装。

    • 封装根磁盘。

    • 为根磁盘选择一个在群集中唯一的名称。命名根磁盘的简单方法是在缺省名称后 添加一个字母。

      例如,如果给定的缺省名称是 rootdisk,则在一个节点上将根磁盘命名 为 rootdiska,将下一个节点上的根磁盘命名 为 rootdiskb,依此类推。

    • 不要向 rootdg 磁盘组中添加任何其他磁盘。

    • 对任何其他控制器,请选择 4(不要动这些磁盘)。

    • 不要接受关机和重新引导。

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


    注意:

    因为禁用了 Dynamic Multipathing (DMP),所以可能生成类似如下的错误消息。您 可以放心地忽略此消息。



    vxvm:vxdmpadm: ERROR: vxdmp module is not loaded on the system. Command invalid.
  5. /global/.devices/node@nodeid 文件系统编辑 /etc/vfstab 文件设备名。


    注意:

    需要进行该修改,以便 VxVM 能识别 出 /global/.devices/node@nodeid 文件系统是不 是位于根磁盘上。


    将现有的设备名称替换为在 /globaldevices 项中使用的名称,后者 被注释掉了。例如,请考 虑 /globaldevices/global/.devices/node@2 的 下列 /etc/vfstab 文件项。


    #device            device             mount         FS   fsck  mount   mount
    #to mount          to fsck            point         type pass  at boot options
    ...
    #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2     yes     -
    ...
    /dev/did/dsk/d4s3  /dev/did/rdsk/d4s3 /global/.devices/node@2 ufs 2 no global

    应将 /global/.devices/node@2 项更改为下列内容。


    #device            device             mount         FS   fsck  mount   mount
    #to mount          to fsck            point         type pass  at boot options
    ...
    #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2     yes     -
    ...
    /dev/dsk/c1t3d0s3  /dev/rdsk/c1t3d0s3 /global/.devices/node@2 ufs 2 no global
  6. 对群集的每个节点重复 步骤 2步骤 5 的操作。

  7. 从一个节点中,使用 scshutdown(1M) 命令关闭群集。


    # scshutdown
    
  8. 非群集模式重新引导每个节点。

    1. 对每个节点运行下列命令以非群集模式重新引导。


      ok boot -x
      

      注意:

      不要以群集方式重新引导节点。


    2. 如果节点显示类似如下的消息,请按下 Control-D 来继续引导。

      忽略手工运行 fsck 的说明。接下 Control-D 以继续引导并且完成剩余的根磁盘封装过程。


      WARNING - Unable to repair the /global/.devices/node@1 filesystem. 
      Run fsck manually (fsck -F ufs /dev/vx/rdsk/rootdisk3vola). Exit 
      the shell when done to continue the boot process.
       
      Type control-d to proceed with normal startup,
      (or give root password for system maintenance): 

      /global/.devices/node@nodeid 文件系统 仍需要作一些修改,群集才能将它全局安装到每个节点上。因为这种要求,除一个节点外,所有其他 节点均将无法在此重新引导过程中安装 /global/.devices/node@nodeid 文 件系统,从而产生一条警告消息。

    VxVM封装根磁盘并且更新 /etc/vfstab 条目。

  9. 卸装在 步骤 8 中成功安装 的 /global/.devices/node@nodeid 文件系统。


    # umount /global/.devices/node@nodeid
    

    卸装该文件系统使您可以在 步骤 10 中给磁盘组重编次编号,而不 必重新引导节点两次以初始化更改。在 步骤 14 中,重新引导时会自动 重新安装此文件系统。

  10. 在群集的每个节点上给 rootdg 磁盘组重编次编号。

    分配一个在群集中唯一并且小于 1000 的 rootdg 次编 号以避免共享磁盘组的次编号冲突。有效的重编次编号方案是在第一个节点上 分配 100,在第二个节点上分配 200,依次类推。


    # vxdg reminor rootdg n
    

    n

    分 配 rootdg 次编号

    执行该命令后,可能显示类似如下的警告信息。您可以放心地忽略此消息。


    vxvm:vxdg: WARNING: Volume swapvol: Device is open, will renumber on reboot

    将新的次编号应用到根磁盘卷。重新引导后会给交换卷重新编号。


    # ls -l /dev/vx/dsk/rootdg
    total 0
    brw------- 1 root       root    55,100 Apr  4 10:48 rootdiska3vol
    brw------- 1 root       root    55,101 Apr  4 10:48 rootdiska7vol
    brw------- 1 root       root    55,  0 Mar 30 16:37 rootvol
    brw------- 1 root       root    55,  7 Mar 30 16:37 swapvol
  11. 在群集的每个节点中,如果未使用根磁盘中的根 (/) 文件 系统配置 /usr 文件系统,则手工更新 /usr 卷的 设备节点。

    1. 移除现有的 /usr 设备节点。


      # rm /dev/vx/dsk/usr
      # rm /dev/vx/dsk/rootdg/usr
      # rm /dev/vx/rdsk/usr
      # rm /dev/vx/rdsk/rootdg/usr
      
    2. 确定分配给 /usr 文件系统的新的次编号。


      # vxprint -l -v usrvol
      Disk group: rootdg Volume:   usrvol
      ...
      device:   minor=102 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol
    3. 使用新的次编号创建新的 /usr 设备节点。


      # mknod /dev/vx/dsk/usr b major_number new-minor-number
      # mknod /dev/vx/dsk/rootdg/usr b major_number new-minor-number
      # mknod /dev/vx/rdsk/usr c major_number new-minor-number
      # mknod /dev/vx/rdsk/rootdg/usr c major_number new-minor-number
      
  12. 在群集的每个节点中,如果未使用根磁盘中的根 (/) 文件 系统配置 /var 文件系统,则手工更新 /var 卷的 设备节点。

    1. 移除现有的 /var 设备节点。


      # rm /dev/vx/dsk/var
      # rm /dev/vx/dsk/rootdg/var
      # rm /dev/vx/rdsk/var
      # rm /dev/vx/rdsk/rootdg/var
      
    2. 确定分配给 /var 文件系统的新的次编号。


      # vxprint -l -v usrvol
      Disk group: rootdg Volume:   usrvol
      ...
      device:   minor=103 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol
    3. 使用新的次编号创建新的 /var 设备节点。


      # mknod b /dev/vx/dsk/var major_number new-minor-number
      # mknod b /dev/vx/dsk/rootdg/var major_number new-minor-number
      # mknod c /dev/vx/rdsk/var major_number new-minor-number 
      # mknod c /dev/vx/rdsk/rootdg/var major_number new-minor-number
      
  13. 从一个节点中关闭群集。


    # scshutdown
    
  14. 将每个节点重新引导到群集模式。


    ok boot
    
  15. (可选的) 镜像群集中每个节点的根磁盘。

    有关镜像根的说明,请参阅 VxVM 文档。

  16. 如果您镜像了根磁盘,则在群集中的每个节点 上,启用与用于镜像此节点的根磁盘的磁盘关联的原始磁盘设备组的 localonly 属 性。

    对于每一个节点,配置一个不同的原始磁盘设备组,此磁盘设备组将唯一地由该节点用来 镜像根磁盘。如果引导设备与多个节点连接,则必须启用 localonly 特性以 防止无意中使一个节点与其引导设备隔离。


    # scconf -c -D name=rawdisk_groupname,localonly=true
    
    -D name=rawdisk_groupname

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

    使用 scdidadm -L 命令来显示原始磁盘设备组的完全 设备 ID (DID) 伪驱动程序名称。在下面的示例中,原始磁盘设备组 名称 dsk/d1 是从输出的第三列中提取的,此名称就是完全 DID 伪驱动程序 名称。scconf 命令然后配置 dsk/d1 原始磁盘设备 组,使之唯一由节点 phys-schost-3 用来镜像其根磁盘。


    # scdidadm -L
    ...
    1         phys-schost-3:/dev/rdsk/c0t0d0     /dev/did/rdsk/d1
    phys-schost-3# scconf -c -D name=dsk/d1,localonly=true
    

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

从此处可转到何处

要创建共享磁盘组,请转到"如何创建并注册共享磁盘组"