Sun Cluster 软件安装指南(适用于 Solaris OS)

在群集中创建磁盘组

本节介绍了如何在群集中创建 VxVM 磁盘组。下表介绍了可在 Sun Cluster 配置中配置的 VxVM 磁盘组类型及其特性。

磁盘组类型 

使用 

是否已在 Sun Cluster 中注册? 

存储要求 

VxVM 磁盘组 

用于故障转移、可伸缩数据服务、全局设备或群集文件系统的设备组 

是 

共享的存储 

本地 VxVM 磁盘组 

不具备高可用性且限于单个节点的应用程序 

否 

共享或非共享的存储 

VxVM 共享磁盘组 

Oracle RAC(还要求使用 VxVM 群集功能) 

否 

共享的存储 

下表列出了在 Sun Cluster 配置中创建 VxVM 磁盘组所需执行的任务。

表 5–2 任务表:创建 VxVM 磁盘组

任务 

参考 

1. 创建磁盘组和卷。 

如何创建磁盘组

2. 将那些不是本地磁盘组且不使用 VxVM 群集功能的磁盘组注册为 Sun Cluster 设备组。 

如何注册磁盘组

3. 如有必要,请通过分配新的次编号来解决设备组之间的次编号冲突。 

如何给设备组分配新的从设备号

4. 检验磁盘组和卷。 

如何检验磁盘组配置

Procedure如何创建磁盘组

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

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

开始之前

请执行以下任务:

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

  2. 创建 VxVM 磁盘组和卷。

    请遵循以下特殊说明:


    注 –

    如果节点出现故障,则可使用脏区记录 (Dirty Region Logging, DRL) 来缩短卷的恢复时间。但是,使用 DRL 可能减少 I/O 吞吐量。


  3. 对于本地磁盘组,请设置 localonly 属性,并向磁盘组的节点列表中添加单个节点。


    注 –

    配置为仅本地的磁盘组不具备高可用性也无法进行全局访问。


    1. 启动 clsetup 实用程序。


      phys-schost# clsetup
      
    2. 选择菜单项 "Device groups and volumes"。

    3. 选择菜单项“在 VxVM 磁盘组上设置 localonly”。

    4. 按照说明设置 localonly 属性并指定将独自控制该磁盘组的单个节点。

      在任意时刻,仅允许一个节点控制该磁盘组。此后可以更改所配置的控制节点。

    5. 完成后,退出 clsetup 实用程序。

接下来的操作

确定下一个步骤:

Procedure如何注册磁盘组

如果启用 VxVM 群集功能,请执行以下过程将非本地磁盘组注册为 Sun Cluster 设备组。


注 –

SPARC:如果启用了 VxVM 群集功能或者创建了本地磁盘组,请勿执行此过程。而应继续执行如何检验磁盘组配置中的操作。


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

  2. 将全局磁盘组注册为 Sun Cluster 设备组。

    1. 启动 clsetup 实用程序。


      phys-schost# clsetup
      
    2. 选择菜单项 "Device groups and volumes"。

    3. 选择菜单项“注册 VxVM 磁盘组”。

    4. 按照说明指定要注册为 Sun Cluster 设备组的 VxVM 磁盘组。

    5. 完成后,退出 clsetup 实用程序。

  3. 检验是否已注册设备组。

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


    phys-schost# cldevicegroup status
    
接下来的操作

转至如何检验磁盘组配置

故障排除

栈溢出 – 如果将设备组联机时发生了栈溢出,则可能是由于线程栈大小的默认值不够大。在每个节点上,将条目 set cl_comm:rm_thread_stacksize=0xsize 添加到 /etc/system 文件中,其中 size 为大于 8000(默认设置)的数字。

配置更改 – 如果更改了 VxVM 设备组或其卷的任何配置信息,则必须使用 clsetup 实用程序注册这些配置更改。必须注册的配置更改包括添加或删除卷,以及更改现有卷的组、所有者或权限。有关注册对 VxVM 设备组所做的配置更改的过程,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的“管理设备组”

Procedure如何给设备组分配新的从设备号

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

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

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


    phys-schost# ls -l /global/.devices/node@1/dev/vx/dsk/*
    
  3. 选择其它任何未使用的 1000 的倍数作为新磁盘组的基本次编号。

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


    phys-schost# vxdg reminor diskgroup base-minor-number
    

示例 5–2 如何给设备组分配新的从设备号

以下示例使用了 16000 到 16002 以及 4000 到 4001 的次编号。vxdg reminor 命令为新设备组重新分配了次编号以使用基本次编号 5000。


phys-schost# 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
phys-schost# vxdg reminor dg3 5000

接下来的操作

将磁盘组注册为 Sun Cluster 设备组。请转至如何注册磁盘组

Procedure如何检验磁盘组配置

请在群集的各个节点上都执行此过程。

  1. 成为超级用户。

  2. 列出磁盘组。


    phys-schost# vxdisk list
    
  3. 列出设备组。


    phys-schost# cldevicegroup list -v
    
  4. 检验是否已正确配置所有磁盘组。

    确保满足以下要求:

    • 根磁盘组仅包含本地磁盘。

    • 仅在当前的主节点上导入了所有磁盘组和所有本地磁盘组。

  5. 检验是否已启动了所有卷。


    phys-schost# vxprint
    
  6. 检验是否所有的磁盘组都已被注册为 Sun Cluster 设备组并且都处于联机状态。


    phys-schost# cldevicegroup status
    

    输出中不应显示任何本地磁盘组。

  7. (可选的)捕获磁盘分区信息,以供将来参考之用。


    phys-schost# prtvtoc /dev/rdsk/cNtXdYsZ > filename
    

    应将该文件存储在群集外部的某个位置。如果对磁盘配置进行了任何更改,请再次运行此命令以捕获更改后的配置信息。如果磁盘发生故障需要更换,则可以使用此信息来恢复磁盘分区配置。有关更多信息,请参见 prtvtoc(1M) 手册页。

  8. (可选的)对群集配置进行备份。

    对群集配置的归档备份有助于您更方便地恢复群集配置。

    有关更多信息,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的“如何备份群集配置”

有关管理 VxVM 磁盘组的指导信息

请遵循以下指导信息来管理 Sun Cluster 配置中的 VxVM 磁盘组:

故障排除

如果 cldevicegroup status 命令的输出中包含任何本地磁盘组,则说明没有正确配置所显示的磁盘组以进行仅本地访问。请返回如何创建磁盘组,以重新配置该本地磁盘组。

接下来的操作

查看以下列表以确定下一项要执行的任务(该任务应适用于您的群集配置)。如果需要执行此列表中的多项任务,请转至其中在列表中排在最前面的那项任务。