Sun Cluster 3.0 系统管理指南

3.3 管理磁盘设备组


注意:

scsetup(1M) 公用程序是 scconf(1M) 命令 的一个交互式的接口。当 scsetup 运行时,它生 成 scconf 命令。生成的这些命令展示在一些过程结束部分的 示例中。


表 3-1 任务图:管理磁盘设备组

任务 

有关说明,请转到... 

在不进行重新配置重新引导的情况下更新全局设备名称空间 

- 使用 scgdevs

"3.3.1 如何更新全局设备名称空间"

添加 Solstice DiskSuite 磁盘集并将它们注册为磁盘设备组 

- 使用 metaset

"3.3.2 如果添加并注册一个磁盘设备 组 (Solstice DiskSuite)"

将 VERITAS 卷管理器 磁盘组作为磁盘设备组添加 

- 使用 VxVM 命令和 scsetup

"3.3.3 如何在初始化磁盘时创建新磁盘组 (VERITAS 卷管理器)"

 

"3.3.4 如何在封装磁盘时创建新磁盘组 (VERITAS 卷管理器)"

 

"3.3.5 如何为现有磁盘设备组 (VERITAS 卷管理器) 添加新卷"

 

"3.3.6 如何使现有磁盘组成为磁盘设备组 (VERITAS 卷管理器)"

 

"3.3.7 如何为磁盘设备组指定新次编号 (VERITAS 卷管理器)"

 

"3.3.8 如何将磁盘组注册为磁盘设备组 (VERITAS 卷管理器)"

 

"3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)"

从配置中移除 Solstice DiskSuite 磁盘设备组 

- 使用 metasetmetaclear

"3.3.10 如何移除和取消注册磁盘设备组 (Solstice DiskSuite)"

从配置中移除 VERITAS 卷管理器 磁盘设备组 

- 使用 scsetup(以生成 scconf)

"3.3.11 如何从磁盘设备组移除卷 (VERITAS 卷管理器) "

 

"3.3.12 如何移除和取消注册磁盘设备组 (VERITAS 卷管理器)"

为磁盘设备组 VERITAS 卷管理器 添加节点 

- 使用 scsetup(以生成 scconf)

"3.3.13 如何为磁盘设备组添加节点 (VERITAS 卷管理器)"

更改磁盘设备组特性 

- 使用 scsetup(以生成 scconf)

"3.3.14 如何更改磁盘设备特性"

显示磁盘设备组和特性 

- 使用 scconf

"3.3.15 如何列出磁盘设备组配置"

切换磁盘设备组的主节点 

- 使用 scswitch

"3.3.16 如何切换设备组的主"

3.3.1 如何更新全局设备名称空间

添加新设备时,请通过运行 scgdevs(1M) 来手动更新全局设备名称空间。


注意:

如果运行 scgdevs 命令的节点当前不是节点成员,或者未 安装 /global/.devices/node@nodeID 文件系 统,则该命令不起任何作用。


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

  2. 使用 scgdevs 来重新配置名称空间。


    # scgdevs
    

3.3.1.1 示例-更新全局设备名称空间

以下示例展示成功运行 scgdevs 时生成的输出。


# scgdevs 
Configuring the /dev/global directory (global devices)...
obtaining access to all attached disks
reservation program successfully exiting

3.3.2 如果添加并注册一个磁盘设备 组 (Solstice DiskSuite)

磁盘设备组直接映射到 Solstice DiskSuite 磁盘集。当您使用 metaset(1M) 创建磁盘 集时,同时还创建了同名的磁盘设备组,并将它注册为 Sun Cluster 磁盘设备组。

  1. 成为与您想用它们创建磁盘集的磁盘相连的节点上的超级用户。

  2. 使用 metaset 来添加 Solstice DiskSuite 磁盘集并将它以磁盘设备组的身份 注册到 Sun Cluster。


    # metaset -s diskset -a -h node-list
    
    -s diskset

    指定要创建的磁盘集。

    -a -h node-list

    添加可以主控磁盘集的一列节点。

  3. 检验是否已添加磁盘设备组。

    磁盘设备组名称将与 metaset 指定的磁盘集的名称一致。


    # scconf -p | egrep disk-device-group
    

3.3.2.1 示例-添加 Solstice DiskSuite 磁盘设备组

以下示例展示磁盘集和磁盘设备组的创建,并检验磁盘设备组是否已创建。


# metaset -s dg-schost-1
# scconf -p | egrep dg-schost-1
Device group name: dg-schost-1

3.3.3 如何在初始化磁盘时创建新磁盘组 (VERITAS 卷管理器)


注意:

此过程仅用于初始化磁盘。如果您在封装磁盘,则请遵照"3.3.4 如何在封装磁盘时创建新磁盘组 (VERITAS 卷管理器)"介绍的过程。


在添加 VxVM 磁盘组后,您需要注册磁盘设备组。

  1. 成为与组成要添加的磁盘组的磁盘物理地连接着的群集节点上的超级用户。physically connected to the disks that make up the disk group being added.

  2. 创建 VxVM 磁盘组和卷。

    使用您的首选方法创建磁盘组和卷。


    注意:

    如果您在安装一个镜像卷,我们强烈推荐使用脏区记录 (DRL) 来缩短系统崩溃时的恢复时间。


    有关完成此步操作的过程,请参见 VERITAS 卷管理器 文档。

3.3.3.1 从此处可转到何处

必须将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。请参见"3.3.8 如何将磁盘组注册为磁盘设备组 (VERITAS 卷管理器)"

3.3.4 如何在封装磁盘时创建新磁盘组 (VERITAS 卷管理器)


注意:

此过程仅用于封装磁盘。如果您在初始化磁盘,则请遵照"3.3.3 如何在初始化磁盘时创建新磁盘组 (VERITAS 卷管理器)"介绍的过程。


首先将非根磁盘封装为 VxVM 磁盘组,然后将它们注册为 Sun Cluster 磁盘设备组,就 可以使它们成为 Sun Cluster 磁盘设备组。

仅在最初创建 VxVM 磁盘组时支持磁盘封装。创建并初始化磁盘组后,仅应将那些可以初始化的磁盘添加到磁盘组中。

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

  2. 如果正在封装的磁盘在 /etc/vfstab 文件中有文件系统 项,请确保在根下安装选项已设置为

    将磁盘封装并注册为 Sun Cluster 磁盘设备组后,就可以将此选项的设置恢复为

  3. 封装磁盘。

    可使用 vxdiskadm 菜单或图形用户界面来封装磁盘。VxVM 需要两个空闲分区,还需要在磁盘的开始和结束部分有未分配的柱面。第 2 片还必须设置到整个磁盘。有关 详细信息,请参见 vxdiskadm(1M) 手册页。

  4. 关闭并重新启动节点。

    scswitch(1M) 命令将把所有的资源组和设备组从此节点切换 到下一个优先选择的节点。然后使用 shutdown(1M) 来关闭并重新启动节点。


    # scswitch -S -h node
    # shutdown -g 0 -i 6 -y
    
  5. 如有必要,请将所有资源组和设备组切换回去。

    如果资源组和设备组最初已配置为能够失败返回到主节点,则不需要此步操作。


    # scswitch -z -h node -D devgrp1 [ ,devgrp2,... ]
    # scswitch -z -h node -g resgrp1 [ ,resgrp2,... ]

3.3.4.1 从此处可转到何处

必须将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。请参见"3.3.8 如何将磁盘组注册为磁盘设备组 (VERITAS 卷管理器)"

3.3.5 如何为现有磁盘设备组 (VERITAS 卷管理器) 添加新卷


注意:

添加卷后,需要使用"3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)"中介绍的过程注册配置更改。


为现有 VxVM 磁盘设备组添加新卷后,需要从磁盘设备组的主节点执行上述过程,并且磁盘设备组必须联机。

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

  2. 确定磁盘设备组的主节点。


    # scstat -D
    
  3. 确定磁盘设备组是否脱机。

    • 如果没有脱机,请进行步骤 4

    • 如果已脱机,则使该磁盘组联机。


    # scswitch -z -D disk-device-group -h node
    
    -z -D disk-device-group

    切换指定的设备组。

    -h node

    指定磁盘设备组将切换到的节点的名称。

  4. 从主节点(当前主控磁盘设备组的节点),创建磁盘组中 的 VxVM 卷。

    有关创建 VxVM 卷的过程,请参阅 VERITAS 卷管理器 文档。

3.3.5.1 从此处可转到何处

必须注册对 VxVM 磁盘组所作的更改以更新全局名称空间。请参见"3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)"

3.3.6 如何使现有磁盘组成为磁盘设备组 (VERITAS 卷管理器)

可以使现有 VxVM 磁盘组成为 Sun Cluster 磁盘设备组,方法是先将该磁盘组导入 到当前节点上,然后将该磁盘组注册为 Sun Cluster 磁盘设备组。

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

  2. 将 VxVM 磁盘组导入到当前节点上。


    # vxdg import diskgroup
    

3.3.6.1 从此处可转到何处

必须将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。请参见"3.3.8 如何将磁盘组注册为磁盘设备组 (VERITAS 卷管理器)"

3.3.7 如何为磁盘设备组指定新次编号 (VERITAS 卷管理器)

如果由于与另一磁盘组发生次编号冲突而导致注册 VxVM 磁盘设备组失败,则必须为新的磁盘组 指定一个新的、未用过的次编号。指定新的次编号后,请重新运行将磁盘组注册为 Sun Cluster 磁盘设备组 的过程。

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

  2. 确定使用中的次编号。


    # ls -l /dev/vx/dsk/*
    
  3. 选择 1000 的其他任一当前未使用的倍数作为新磁盘组的基次编号。

  4. 将新的基次编号指定给磁盘组。


    # vxdg reminor diskgroup base_minor_number
    

3.3.7.1 示例-如何为磁盘设备组指定新的次编号

此示例展示正在使用的次编号 16000-16002 和 4000-4001。vxdg reminor 命令使用基次编号 5000 给新的磁盘设备组重编次编号。


# ls -l /dev/vx/dsk/*
/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
 
/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

3.3.7.2 从此处可转到何处

必须将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。请参见"3.3.8 如何将磁盘组注册为磁盘设备组 (VERITAS 卷管理器)"

3.3.8 如何将磁盘组注册为磁盘设备组 (VERITAS 卷管理器)

此过程使用 scsetup(1M) 公用程序将相关的 VxVM 磁盘组注册 为 Sun Cluster 磁盘设备组。


注意:

注册磁盘设备组后,如果更改 VxVM 磁盘组或卷,请 使用"3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)"中介绍的过程来注册磁盘设备组配置更改。这可以确保全局名称空间处于正确的状态中。


注册 VxVM 磁盘设备组的先决条件如下:

当您定义首选次序时,您就指定了在首选节点被关闭然后又返回到群集中时您是否让磁盘设备 组切换回首选节点。

有关节点首选项和失败返回选项的详细信息,请参见 scconf(1M)

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

  2. 输入 scsetup 公用程序。


    # scsetup
    

    出现主菜单。

  3. 要使用 VxVM 磁盘设备组,请输入 3(设备组和卷)。

    出现设备组菜单。

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

    按照说明输入将注册为 Sun Cluster 磁盘设备组的 VxVM 磁盘组。如果在注册磁盘设备组时遇到 以下错误,请使用"3.3.7 如何为磁盘设备组指定新次编号 (VERITAS 卷管理器)"介绍的过程。此过程使您可以指定一个不与磁盘设备组 使用的次编号发生冲突的新次编号。


    scconf: Failed to add device group - in use

  5. 检验是否已注册磁盘设备组并已使之联机。

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


    # scstat -D
    

3.3.8.1 示例-注册 VERITAS 卷管理器 磁盘设备组

以下示例显示注册 VxVM 磁盘设备组 (dg1) 时 由 scsetup 生成的 scconf 命令以及验证步骤。此示例假定 先前已创建 VxVM 磁盘组和卷。


# scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-1:phys-schost-2
# scstat -D
-- Device Group Servers --
 
                         Device Group        Primary             Secondary
                         ------------        -------             ---------
Device group servers:    dg1                 phys-schost-1       phys-schost-2
 
-- Device Group Status --
 
                              Device Group        Status
                              ------------        ------
  Device group status:        dg1                Online

3.3.8.2 从此处可转到何处

要在 VxVM 磁盘设备组中创建一个群集文件系统,请参见"3.4.1 如何添加更多群集文件系统"。如果次编号存在问题,请参见"3.3.7 如何为磁盘设备组指定新次编号 (VERITAS 卷管理器)"

3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)

更改 VxVM 磁盘组或卷的任何配置信息后,需要注册 Sun Cluster 磁盘设备组的配置更改。这可以确保全局名称空间处于正确的状态中。

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

  2. 输入 scsetup(1M) 公用程序。


    # scsetup
    

    出现主菜单。

  3. 要使用 VxVM 磁盘设备组,请输入 3(设备组和卷)。

    出现设备组菜单。

  4. 要注册配置更改,请输入 2(同步化 VxVM 磁盘组的卷信息)。

    按照说明输入已更改配置的 VxVM 磁盘组。

3.3.9.1 示例-注册 VERITAS 卷管理器 磁盘组配置更改

以下示例展示注册一个已更改的 VxVM 磁盘设备 组 (dg1) 时由 scsetup 生成 的scconf 命令。此示例假定先前已创建 VxVM 磁盘组和卷。


# scconf -c -D name=dg1,sync

3.3.10 如何移除和取消注册磁盘设备组 (Solstice DiskSuite)

磁盘设备组直接映射到 Solstice DiskSuite 磁盘集。所以,要移除 Solstice DiskSuite 磁盘设备组,请 使用 metaclear(1M)metaset(1M) 命令。这两个命令会 移除同名的磁盘设备组,并将已注册为 Sun Cluster 磁盘设备组的磁盘组的注册取消。

有关移除磁盘集的步骤,请参考 Solstice DiskSuite 文档。

3.3.11 如何从磁盘设备组移除卷 (VERITAS 卷管理器)


注意:

从磁盘设备组移除卷后,必须按照"3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)"中介绍的过程将配置更改注册到磁盘设备组。


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

  2. 确定磁盘设备组的主节点。


    # scstat -D
    
  3. 确定磁盘设备组是否脱机。

    • 如果没有脱机,请进行步骤 4

    • 如果已脱机,则使该磁盘组联机。


    # scswitch -z -D disk-device-group -h node
    
    -z

    执行切换。

    -D disk-device-group

    将设备组指定给切换。

    -h node

    指定即将成为主节点的节点的名称。

  4. 从主节点(当前主控磁盘设备组的节点),移除磁盘组 的 VxVM 卷。


    # vxedit -g diskgroup -rf rm volume
    
    -g diskgroup

    指定包含该卷的 VxVM 磁盘组。

    -rf rm volume

    移除指定的卷。

3.3.11.1 从此处可转到何处

移除卷后,必须将配置更改注册到磁盘设备组。要注册这些配置更改,请参 见"3.3.9 如何注册磁盘设备组配置更改 (VERITAS 卷管理器)"

3.3.12 如何移除和取消注册磁盘设备组 (VERITAS 卷管理器)

移除 Sun Cluster 磁盘设备组会使相应的 VxVM 磁盘组导出,但不会损坏。但是,除非重新注 册,否则即使 VxVM 磁盘组依然存在,也无法使用它。

此过程使用 scsetup(1M) 实用程序来移除 VxVM 磁盘 组,并取消将它注册为 Sun Cluster 磁盘设备组。

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

  2. 使磁盘设备组脱机。


    # scswitch -F -D disk-device-group
    
    -F

    使磁盘设备组脱机。

    -D disk-device-group

    指定将脱机的磁盘设备组。

  3. 输入 scsetup 公用程序。

    出现主菜单。


    # scsetup
    
  4. 要使用 VxVM 设备组,请输入 3 (设备组和卷)。

    出现设备组菜单。

  5. 要取消注册一个 VxVM 磁盘组,请输入 3(取消 注册 VxVM 设备组)。

    按照说明输入将要取消注册的 VxVM 磁盘组。

3.3.12.1 示例-移除并取消注册 VERITAS 卷管理器 磁盘设备组

以下示例展示已脱机的 VxVM 磁盘设备组 dg1,以及移除并取消注册磁盘设备组时 由 scsetup 生成的 scconf(1M) 命令。


# scswitch -F -D dg1
# scconf -r -D name=dg1

3.3.13 如何为磁盘设备组添加节点 (VERITAS 卷管理器)

此过程使用 scsetup(1M) 公用程序为磁盘设备组添加节点。

为 VxVM 磁盘设备组添加节点的先决条件如下:

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

  2. 输入 scsetup(1M) 公用程序

    出现主菜单。


    # scsetup
    
  3. 要使用 VxVM 磁盘设备组,请输入 3(设备组和卷)。

    出现设备组菜单。

  4. 要为 VxVM 磁盘设备组添加节点,请输入 4(为 VxVM 设备组添加节点)。

    按照说明输入设备组和节点的名称。

  5. 检验是否已添加该节点。

    查看由以下命令显示的新磁盘的设备组信息。


    # scconf -p 
    

3.3.13.1 示例-为 VERITAS 卷管理器 磁盘设备组添加节点

以下示例显示为 VxVM 磁盘设备组 (dg1) 添 加节点 (phys-schost-3) 时由 scsetup 生成 的 scconf 命令以及验证步骤。


# scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-3
# scconf -p 
...
Device group name:                              dg1
   Device type:                                 VXVM
   Failback enabled:                            yes
   Node preference list:                        phys-schost-1, phys-schost-3

3.3.14 如何更改磁盘设备特性

建立一个磁盘设备组的主所有权的方法是基于称为 preferenced 的所有权 首选属性的设置。如果未设置该属性,那么在其他情况下就无法拥有的磁盘设备组的主属主是 第一个尝试访问该组中的磁盘的节点。但是,如果设置了该属性,则必须指定节点尝试建立所有权所按照 的首选顺序。

如果您禁用 preferenced 属性,则 failback 属性也 会自动禁用。但是,如果尝试启用或重新启用 preferenced 属性,您可以选择启用 或禁用 failback 属性。

如果启用或重新启用了 preferenced 属性,则需要重建主所有权首选列表中 的节点的次序。

此过程使用 scsetup(1M) 来设置或取消 设置 Solstice DiskSuite 或 VxVM 磁盘设备组的 preferenced 属性 和 failback 属性。

要运行此过程,需要指定您要更改其属性值的磁盘设备组的名称。

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

  2. 输入 scsetup(1M) 公用程序

    出现主菜单。


    # scsetup
    
  3. 要使用磁盘设备组,请输入 3(设备组和卷)。

    出现设备组菜单。

  4. 要更改设备组特性,请输入 6(更 改 VxVM 或 Solstice DiskSuite 设备组的关键特性)。

    按照说明设置设备组的 preferencedfailback 两个 选项。

  5. 检验磁盘设备组属性是否已更改。

    查看由以下命令显示的设备组信息。


    # scconf -p 
    

3.3.14.1 示例-更改磁盘设备组特性

以下示例展示设置磁盘设备组 (dg-schost-1) 的属性值时 由 scsetup 生成的 scconf 命令。


# scconf -c -D name=dg-schost-1,nodelist=phys-schost-1:phys-schost-2,\
preferenced=true,failback=enabled
# scconf -p
Device group name:                             dg-schost-1
   Device type:                                SDS
   Failback enabled:                           yes
   Node preference list:                       phys-schost-1, phys-schost-2
   Diskset name:                               dg-schost-1

3.3.15 如何列出磁盘设备组配置

列出磁盘设备组配置不需要您是超级用户。

    请使 用 scconf(1M) 来列出磁盘设备组配置。


    % scconf -p
    

3.3.15.1 示例-列出磁盘设备组配置

使用 scconf 命令时,请查看设备组下列出的信息。


# scconf -p
...
Device group name: dg-schost-1
	Device type: SDS
	Failback enabled: yes
	Node preference list: phys-schost-2, phys-schost-3
	Diskset name: dg-schost-1

3.3.16 如何切换设备组的主

此过程也可用来启动一个不活动的设备组(使之联机)。

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

  2. 使用 scswitch(1M) 来切换磁盘设备组的主。


    # scswitch -z -D disk-device-group -h node
    
    -z

    执行切换。

    -D disk-device-group

    将设备组指定给切换。

    -h node

    指定即将成为主节点的节点的名称。

  3. 检验磁盘设备组是否已切换到新的主。

    查看由以下命令显示的设备组的磁盘设备信息。


    # scstat -D
    

3.3.16.1 示例-切换磁盘设备组的主

以下示例展示如何切换磁盘设备组的主并检验此更改。


# scswitch -z -D dg-schost-1 -h phys-schost-1
# scstat -D
...
Device Group Name:                             dg-schost-1
   Status:                                     Online
   Primary:                                    phys-schost-1