Sun Cluster 系统管理指南(适用于 Solaris OS)

管理群集文件系统

群集文件系统是通过全局方式使用的文件系统,可以从群集的任一节点对其进行读取或访问。

表 5–5 任务表:管理群集文件系统

任务 

指导 

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

如何添加群集文件系统

删除群集文件系统 

如何删除群集文件系统

检查群集中各个节点上的全局挂载点是否一致 

如何检查群集中的全局挂载点

Procedure如何添加群集文件系统

首次安装 Sun Cluster 后,为所创建的每个群集文件系统执行此任务。


注意 – 注意 –

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


在添加其他群集文件系统之前,请确保具备以下先决条件:

如果曾使用 Sun Cluster Manager 安装数据服务,假如用以创建群集文件系统的共享磁盘充足,则系统中已存在一个或多个群集文件系统。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B

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

    在 Solaris 10 OS 上,如果群集中配置有非全局区域,您必须从全局区域中执行此过程。


    提示 –

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


  2. 创建文件系统。


    Caution – Caution –

    创建文件系统时,会毁坏该磁盘上的所有数据。请确保指定的磁盘设备名称是正确的。如果指定的设备名称不正确,可能会删除不打算删除的数据。


    • 对于 UFS 文件系统,请使用 newfs(1M) 命令。


      phys-schost# newfs raw-disk-device
      

      下表显示了 raw-disk-device 参数名称的示例。请注意,卷管理器的命名规则各不相同。

      卷管理器 

      磁盘设备名称样例 

      描述 

      Solaris Volume Manager 

      /dev/md/nfs/rdsk/d1

      nfs 磁盘集中的原始磁盘设备 d1

      Veritas Volume Manager(Veritas 卷管理器) 

      /dev/vx/rdsk/oradg/vol01

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

      无 

      /dev/global/rdsk/d1s3

      原始磁盘设备 d1s3

    • 对于 Veritas 文件系统 (VxFS) 文件系统,请按照 VxFS 文档中提供的过程进行操作。

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

    每个节点上都需要一个挂载点,即使不在该节点上访问群集文件系统也是如此。


    提示 –

    为了便于管理,请在 /global/device-group/ 目录中创建挂载点。该位置允许您很容易地区别群集文件系统,这些文件系统从本地文件系统中全局可用。



    phys-schost# mkdir -p /global/device-group/mountpoint/
    
    device-group

    与包含该设备的设备组的名称相对应的目录名。

    mountpoint

    要在其上挂载群集文件系统的目录的名称。

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

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


    注 –

    如果群集内配置有非全局区域,请确保从全局区域根目录下的某一路径上将群集文件系统挂载到全局区域中。


    1. 在每个条目中,指定所用文件系统类型所需的挂载选项。


      注 –

      对于 Solaris Volume Manager 事务卷,请不要使用 logging 挂载选项。事务卷提供其自己的日志记录。

      此外,会从 Solaris 10 OS 中删除 Solaris Volume Manager 事务卷日志记录。Solaris UFS 日志记录 提供的功能与之相同,但性能更加优异并且系统管理要求和系统开销更低。


    2. 要自动挂载群集文件系统,请将 mount at boot 字段设置为 yes

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

    4. 请确保每个节点的 /etc/vfstab 文件中的条目都以相同顺序列出设备。

    5. 检查文件系统的引导顺序依赖性。

      例如,考虑如下情形: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. 在群集中的任一节点上,运行配置检查实用程序。


    phys-schost# cluster check -k vfstab
    

    配置检查实用程序将检验挂载点是否存在。该实用程序还将检验群集的所有节点上的 /etc/vfstab 文件条目是否正确。如果不出现错误,则不返回任何内容。

    有关更多信息,请参见 cluster(1CL) 手册页。

  6. 挂载群集文件系统。


    phys-schost# mount /global/device-group/mountpoint/
    
    • 对于 UFS,请从群集中的任何节点挂载群集文件系统。

    • 对于 VxFS,从 device-group 的当前主节点挂载群集文件系统,以确保文件系统挂载成功。

      另外,还需要从 device-group 的当前主节点卸载 VxFS 文件系统,以确保成功卸载文件系统。


      注 –

      要在 Sun Cluster 环境下管理 VxFS 群集文件系统,只应从挂载了 VxFS 群集文件系统的主节点运行管理命令。


  7. 在群集的每个节点上检验是否已挂载群集文件系统。

    可以使用 df 命令或 mount 命令列出已挂载的文件系统。有关更多信息,请参见 df(1M) 手册页或 mount(1M) 手册页。

    对于 Solaris 10 OS,从全局区域和非全局区域都可以访问群集文件系统。


示例 5–43 创建 UFS 群集文件系统

以下示例将在 Solaris Volume Manager 卷 /dev/md/oracle/rdsk/d1 上创建一个 UFS 群集文件系统。在每个节点上的 vfstab 文件中,都将添加一个与该群集文件系统对应的条目。随后,将从一个节点运行 cluster check 命令。在配置检查过程成功完成之后,从一个节点上挂载该群集文件系统并在所有节点上对其进行检验。


phys-schost# newfs /dev/md/oracle/rdsk/d1
…
phys-schost# mkdir -p /global/oracle/d1
phys-schost# 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
…
phys-schost# cluster check -k vfstab
phys-schost# mount /global/oracle/d1
phys-schost# mount
…
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles
on Sun Oct 3 08:56:16 2005

Procedure如何删除群集文件系统

您只需卸载群集文件系统就可以将其删除。如果还要移除或删除数据,请从系统中删除底层的磁盘设备(或元设备或卷)。


注 –

当您运行 cluster shutdown 来停止整个群集时,作为系统关闭过程的一部分,群集文件系统会自动卸载。运行 shutdown 来停止单个节点时,将不会卸载群集文件系统。但是,如果只有正关闭的节点与磁盘相连,则对该磁盘上的群集文件系统进行的任何访问尝试均会导致出错。


在卸载群集文件系统之前,请确保具备以下先决条件:

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

  2. 确定已安装的群集文件系统。


    # mount -v
    
  3. 在每个节点上,列出所有正在使用群集文件系统的进程,以便确定要停止哪些进程。


    # fuser -c [ -u ] mountpoint
    
    -c

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

    -u

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

    mountpoint

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

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

    请使用停止进程的首选方法。根据需要,请使用以下命令强制终止与群集文件系统相关的进程。


    # fuser -c -k mountpoint
    

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

  5. 在每个节点上,确保无任何进程正在使用群集文件系统。


    # fuser -c mountpoint
    
  6. 仅从一个节点卸载文件系统。


    # umount mountpoint
    
    mountpoint

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

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

    对于任何群集节点,只要其 /etc/vfstab 文件中有此群集文件系统的条目,就要在该群集节点上执行此步骤。

  8. (可选)删除磁盘设备 group/metadevice/volume/plex

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


示例 5–44 删除群集文件系统

以下示例删除了挂载在 Solaris Volume Manager 元设备或卷 /dev/md/oracle/rdsk/d1 上的 UFS 群集文件系统。


# mount -v
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles 
# 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.]

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


Procedure如何检查群集中的全局挂载点

cluster(1CL) 实用程序检验 /etc/vfstab 文件中群集文件系统条目的语法。如果不出现错误,则不返回任何内容。


注 –

进行了影响设备或卷管理组件的群集配置更改(如删除群集文件系统)后,请运行 cluster check 命令。


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

  2. 检查群集全局安装。


    # cluster check -k vfstab