Sun Cluster 3.0 系统管理指南

第 3 章 管理全局设备和群集文件系统

本章提供管理全局设备和群集文件系统的过程。

以下是本章中包含的过程的列表。

有关本章中相关过程的高水平描述,请参阅表 3-1

有关全局设备、全局名称空间、磁盘设备组和群集文件系统的概念信息,请参 见 Sun Cluster 3.0 概念 文档。

3.1 全局设备和全局名称空间管理概述

Sun Cluster 磁盘设备组的管理依靠群集上安装的卷管理器。Solstice DiskSuite “具有群集 意识”,这样您通过使用 Solstice DiskSuite metaset(1M) 命令添加、注册及移除磁盘设备 组。借助 VERITAS 卷管理器 (VxVM),您通过使用 VxVM 命令来创建磁盘组。然后,通 过 scsetup(1M) 公用程序来注册 Sun Cluster 磁盘设备组。当移除 VxVM 磁盘 设备组时,既要使用 scsetup 公用程序,又要使用 VxVM 命令。

管理磁盘设备组或卷管理器磁盘组时,您需要在充当组的主节点的群集节点上操作。

通常不需要管理全局设备名称空间,因为全局名称空间是在安装时自动设置的,并且会 在 Solaris 操作环境重新配置重新引导时自动更新。然而,如果全局名称空间需要重新生成或需要更 新,可以从任一群集节点运行 scgdevs(1M) 命令。这会导致在所有其他群集节点 成员上以及在将来可能加入群集的节点上更新全局名称空间。

3.1.1 Solstice DiskSuite 的全局设备许可

对全局设备许可所作的更改不会自动传给 Solstice DiskSuite 和磁盘设备的群集中的所有节点。如 果您想在全局设备上更改许可,则必须在群集中的所有设备上手动更改许可。例如,如果想 在全局设备 /dev/global/dsk/d3s0 上将许可更改为 644,则必须在群集中的所 有节点上执行

# chmod 644 /dev/global/dsk/d3s0

来进行更改。

VxVM 不支持 chmod 命令。要更改 VxVM 中的全局设备许可,请参 考 VxVM 管理员指南。

3.1.2 VERITAS 卷管理器 管理注意事项

要使 Sun Cluster 正确维护 VxVM 名称空间,则必须在磁盘组或卷的任何配置信息更改时,注 册 Sun Cluster 磁盘设备组配置更改。这可以确保所有群集节点上的名称空间都得到更新。影响名称空间 的配置更改包括添加卷、重命名卷和移除卷以及更改卷的许可、属主或组 ID。


注意:

一旦磁盘组已作为 Sun Cluster 磁盘设备组注册到群集中,就不要 使用 VxVM 命令导入或导出 VxVM 磁盘组。Sun Cluster 软件将处理需要导入或导出磁盘组的所有情况。


每个 VxVM 磁盘组必须有一个全群集唯一的次编号。缺省情况下,在创建磁盘组 时,VxVM 会选择 1000 倍数中的一个随机数作为该磁盘组的基次编号。对于大多数仅有少量磁盘组的配 置,这已足以保证唯一性。但是,新创建的磁盘组的次编号有可能与另一群集节点上导入的原有磁盘组的次编号 冲突。在这种情况下,尝试注册 Sun Cluster 磁盘设备组将失败。要解决此问题,应当给予新磁盘组一个唯 一值,然后将它注册为 Sun Cluster 磁盘设备组。

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

3.2 群集文件系统管理概述

管理群集文件系统使用的是标准 Solaris 文件系统命 令,如 mountnewfs 等。安装群集文件系统是通过 将 -g 选项指定给 mount 命令。也可以在引导时自动安装群集文件系统。


注意:

群集文件系统的管理不需要任何特殊的 Sun Cluster 命令。管理群集文件系统与管理任何其 他 Solaris 文件系统一样。


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

3.4 管理群集文件系统

表 3-2 任务图:管理群集文件系统

任务 

有关说明,请转到... 

在初始化 Sun Cluster 安装后添加群集文件系统 

- 使用 newfsmakedir

"3.4.1 如何添加更多群集文件系统"

移除群集文件系统 

- 使用 fuserumount

"3.4.2 如何移除群集文件系统"

检查群集中的全局安装点使各节点间保持一致 

- 使用 sccheck

"3.4.3 如何检查群集中的全局安装"

3.4.1 如何添加更多群集文件系统

对初始 Sun Cluster 安装后创建的每个群集文件系统都执行此任务。


小心:小心:

请确保指定正确的磁盘设备名 称。创建一个群集文件系统会损坏磁盘上的所有数据。如果指定的设备名称不正确,则会擦除您不想删除的数据。


添加更多群集文件系统的先决条件如下:

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


    提示:

    要更块地创建文件系统,请成为您要为其创建文件系统的全局设备的当前主上的超级用户。


  2. 使用 newfs(1M) 命令创建一个文件系统。


    # newfs raw-disk-device
    

    表 3-3 列举 raw-disk-device(原始磁盘设备)变量名称的一些示例。请注意,卷管理器的命名惯例各不相同。

    表 3-3 原始磁盘设备名称样例

    如果您的卷管理器是 ... 

    则磁盘设备名称可能是 ... 

    说明 

    Solstice DiskSuite 

    /dev/md/oracle/rdsk/d1

    oracle 元集中的原始磁盘设备 d1

    VERITAS 卷管理器 

    /dev/vx/rdsk/oradg/vol01

    oradg 磁盘组中的原始磁盘设备 vol01

    无 

    /dev/global/rdsk/d1s3

    块片 d1s3 中的的原始磁盘设备。

  3. 在群集中的每一节点上,创建群集文件系统的一个安装点目录。

    每个节点上都需要一个安装点;即使不在某个节点上访问群集文件系统,也需在此节点上安装。


    # mkdir -p /global/device-group/mount-point
    
    device-group

    与设备所在的设备组的名称对应的目录的名称

    mount-point

    要在其上安装群集文件系统的目录的名称


    提示:

    为便于管理,请在 /global/device-group 目录 中创建安装点。这可使您易于区别群集文件系统(全局可用)与本地文件系统。


  4. 在群集中的每个节点上,为安装点的 /etc/vfstab 文件添加一个条目。

    1. 要自动安装一个群集文件系统,请将 mount at boot 字段设置为 yes

    2. 使用以下要求具备的安装点:

      • 所有群集文件系统都要求有 global 安装 选项。此选项将文件系统标识为一个群集文件系统。

      • 所有的群集文件系统都要求有文件系统记录。UFS 记录可以通过 使用 Solstice DiskSuite 元转换设备来进行,也可直接通过 Solaris UFS 安装选项进行。但 是,这两种方法不能合并使用。如果直接使用 Solaris UFS 记 录,则应使用 logging 安装选项。否则,如果使用了元传输文件 系统记录,则不需要其他安装点。

    3. 对于每个群集文件系统,请确保在每个拥有 /etc/vfstab 条目的节 点上,/etc/vfstab 条目中的信息相同。

    4. 注意文件系统对引导次序的依赖性。

      通常,不应当嵌套群集文件系统的安装点。例如,试考虑以下情况,phys-schost-1 将磁盘设 备 d0 安装在 /global/oracle上,而 phys-schost-2 将磁盘 设备 d1 安装在 /global/oracle/logs 上。在这种配置 中,只有在 phys-schost-1 引导并 安装 /global/oracle 后,phys-schost-2 才能 引导并安装 /global/oracle/logs

    5. 确保每个节点的 /etc/vfstab 文件列表普通设备中的 条目次序相同。

      例如,如果 phys-schost-1phys-schost-2d0d1d2 有 一个物理连接,则其各自的 /etc/vfstab 文件中的条目应当排列 为 d0d1d2

    有关详细信息,请参考 vfstab(4) 手册而。

  5. 在群集的每个节点上,检验是否存在安装点以及群集的所有节点上 的 /etc/vfstab 文件条目是否正确。


    # sccheck
    

    如果没有错误,则不返回任何信息。

  6. 从群集中的任一节点上,安装群集文件系统。


    # mount /global/device-group/mount-point
    
  7. 在群集的每个节点上检验是否已安装群集文件系统。

    可以使用命令 df(1M) 或者 mount(1M) 来列出安装的文件系统。

3.4.1.1 示例-添加群集文件系统

以下示例在 Solstice DiskSuite 元设备 /dev/md/oracle/rdsk/d1 上创建 UFS 群集文件系统。


# newfs /dev/md/oracle/rdsk/d1
...
 
[on each node:]
# mkdir -p /global/oracle/d1
 
# vi /etc/vfstab
#device           device       mount   FS      fsck    mount   mount
#to mount        to fsck       point   type    pass    at boot options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging
[save and exit]
 
[on one node:]
# sccheck
 
# mount /global/oracle/d1
# mount
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/
largefiles on Sun Oct 3 08:56:16 1999

3.4.2 如何移除群集文件系统

只需卸装一个群集文件系统,就可以移除它。如果还想移除或删除数据,请从系统中移除基础磁盘 设备(或元设备或卷)。


注意:

当运行 scshutdown(1M) 来关闭整个群集 时,作为随即发生的系统关闭的一部分,群集文件系统会自动卸装。当您 运行 shutdown 来关闭单个节点时,不会卸装群集文件系统。但是,如果关闭的节点是唯一拥有与磁盘的连接的节点,则任何访问该磁盘上的群集文件系统的尝试均会导致出错。


卸装群集文件系统的先决条件如下:

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

  2. 确定安装的是哪个群集文件系统。


    # mount -v
    
  3. 在每个节点上,列出所有正在使用群集文件系统的进程,这样就可以知道您将停止哪些进程。


    # fuser -c [ -u ] mount-point
    
    -c

    报告有关用作文件系统的安装点的文件及安装的文件系统中任何文件的信息。

    -u

    (可选)显示每个进程 ID 的用户登录名称。

    mount-point

    指定您要为其停止进程的群集文件系统的名称。

  4. 在每个节点上,停止群集文件系统的所有进程。

    请使用您首选的停止进程的方法。如有必要,请使用以下命令来强行终止与群集文件系统相关的进程。


    # fuser -c -k mount-point
    

    将向使用群集文件系统的每个进程发出一个 SIGKILL 命令。

  5. 在每个节点上,检验是不是已没有任何进程在使用文件系统。


    # fuser -c mount-point
    
  6. 仅从一个节点上卸装文件系统。


    # umount mount-point
    
    mount-point

    指定要卸装的群集文件系统的名称。这既可以是安装群集文件系统的目录的名称,也可以是文件系统的设备名称路径。

  7. (可选)编辑 /etc/vfstab 文件以删除正要移除的群集文件 系统的条目。

    在每个其 /etc/vfstab 文件中拥有此群集文件系统的条目的群集节点上执行此步操作。

  8. (可选)移除磁盘设备 group/metadevice/plex。

    有关详细信息,请参见卷管理器文档。

3.4.2.1 示例-移除群集文件系统

以下示例移除 在 Solstice DiskSuite metadevice /dev/md/oracle/rdsk/d1 中安装 的 UFS 群集文件系统。


# mount -v
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles on Sun Oct  3 08:56:16 1999
# fuser -c /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c -k /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c /global/oracle/d1
/global/oracle/d1:
# umount /global/oracle/d1
 
(on each node, remove the highlighted entry:)
# vi /etc/vfstab
#device           device        mount   FS      fsck    mount   mount
#to mount         to fsck       point   type    pass    at boot options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging
[Save and exit.]

注意:

要移除群集文件系统中的数据,请移除基础设备。有关详细信息,请参见卷管理器文档。


3.4.3 如何检查群集中的全局安装

sccheck(1M) 公用程序检验 /etc/vfstab 文件 中的群集文件系统条目的语法。如果没有错误,则不返回任何信息。


注意:

在作出影响设备或影响卷管理组件的群集配置更改(如移除一个群集文件系统)后,请运 行 sccheck


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

  2. 检查群集全局安装。


    # sccheck
    

3.4.4 如何从磁盘设备组 (Solstice DiskSuite) 移除节点

遵照此过程从运行 Solstice DiskSuite 的磁盘设备组(磁盘集)中移除一个群集节点。

  1. 确定要移除的节点是其成员的磁盘设备组。


    # scstat -D
    
  2. 成为一个节点的超级用户,此节点当前拥有这样一个磁盘设备组 ― 您要从这个磁盘设备组中移除此节点。

  3. 从磁盘设备组中删除要移除的节点的主机名。

    为每个要从中移除节点的磁盘设备组重复此步骤。


    # metaset -s setname -d -f -h node
    
    -s setname

    指定磁盘设备组(磁盘集)名称

    -f

    强制

    -d

    从磁盘设备组中删除

    -h nodelist

    从可以主控磁盘设备组的节点的列表中移除此节点。


    注意:

    完成更新可能需要几分钟。


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

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


    # scstat -D
    

3.4.4.1 示例-从磁盘设备组 (SDS) 移除节点

以下示例显示从磁盘设备组(元集)移除主机名,并检验节点是否已从磁盘设备组中移除。虽然示例显示的是从单个磁盘设备组移除节点,但一个节点可同时属于不止一个磁盘设备组。对于每个您想从中移除该节点的磁盘设备组,请重复使用 metaset 命令。


[Determine the disk device group(s) for the node:]
# scstat -D
  -- Device Group Servers --
                      Device Group  Primary       Secondary
                      ------------  -------       ---------
  Device group servers: dg-schost-1  phys-schost-1  phys-schost-2
[Become superuser.]
[Remove the hostname from all disk device groups:]
# metaset -s dg-schost-1 -d -f -h phys-schost-2
[Verify removal of the node:]
# scstat -D
  -- Device Group Servers --
                       Device Group  Primary       Secondary
                       ------------  -------       ---------
  Device group servers: dg-schost-1  phys-schost-1  -

3.4.5 如何从磁盘设备组(VERITAS 卷管理器)中移除节点

遵照此过程从一个运行 VERITAS 卷管理器 (VxVM) 的现有群集磁盘设备组(磁盘组)中移除一个群集节点。

  1. 确定要移除的节点是其成员的磁盘设备组。


    # scstat -D
    
  2. 成为一个当前群集成员节点上的超级用户。

  3. 执行 scsetup 公用程序。


    # scsetup
    

    出现主菜单。

  4. 通过输入 3(设备组和卷)来重新配置一个磁盘设备组。

  5. 通过输入 5(从 VxVM 设备组移除节点)来从 VxVM 磁盘设备组中移除此节点。

    按照提示从磁盘设备组中移除此群集节点。将会提示您输入有关以下两点的信息:

    VxVM 设备组

    节点名

  6. 检验是否已从 VxVM 磁盘设备组中移除此节点:


    # scstat -D	
      ...
      Device group name: devicegroupname
      Device group type: VxVM
      Device group failback enabled: no
      Device group node list: nodename
      Diskgroup name: diskgroupname
      ...

3.4.5.1 示例-从磁盘设备组 (VxVM) 移除节点

此示例展示从 dg1 VxVM 磁盘设备组移除名 为 phys-schost-4 的节点。


[Determine the disk device group for the node:]
# scstat -D
  -- Device Group Servers --
                       Device Group  Primary        Secondary
                       ------------  -------        ---------
  Device group servers: dg-schost-1  phys-schost-1  phys-schost-2
[Become superuser and execute the scsetup utility:]
# scsetup
[Select option 3:]
*** Main Menu ***
    Please select from one of the following options:
      ...
      3) Device groups and volumes
      ...
    Option: 3
[Select option 5:]
*** Device Groups Menu ***
    Please select from one of the following options:
      ...
      5) Remove a node from a VxVM device group
      ...
    Option:  5
[Answer the questions to remove the node:]
>>> Remove a Node from a VxVM Device Group <<<
    ...
    Is it okay to continue (yes/no) [yes]? yes
    ...
    Name of the VxVM device group from which you want to remove a node?  dg1
    Name of the node to remove from this group?  phys-schost-4
    Is it okay to proceed with the update (yes/no) [yes]? yes
 
scconf -r -D name=dg1,nodelist=phys-schost-4
 
    Command completed successfully.
    Hit ENTER to continue: 

[Quit the scsetup Device Groups Menu and Main Menu:]
    ...
    Option:  q
[Verify that the node was removed:]
# scstat -D
  ...
  Device group name: 		dg1
  Device group type: 	VxVM
  Device group failback enabled: 	no
  Device group node list: 	phys-schost-3
  Diskgroup name: 	dg1
  ...