Sun Cluster 3.0 系统管理指南

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
  ...