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

管理群集文件系统

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

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

任务 

指导 

使用 newfs(1M)mkdir 在完成 Sun Cluster 初始安装后添加群集文件系统

如何添加群集文件系统

使用 fuser(1M)umount(1M) 删除群集文件系统

如何删除群集文件系统

使用 sccheck(1M) 检查群集中的全局挂载点在各个节点上是否一致

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

Procedure如何添加群集文件系统

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


注意 – 注意 –

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


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

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

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

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


    提示 –

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


  2. 使用 newfs 命令创建文件系统。


    注 –

    newfs 命令仅适用于创建新的 UFS 文件系统。要创建新的 VxFS 文件系统,请按 VxFS 文档中所述的过程操作。



    # newfs raw-disk-device
    

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

    卷管理器 

    磁盘设备名称 

    描述 

    Solaris Volume Manager 

    /dev/md/oracle/rdsk/d1

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

    SPARC:VERITAS 卷管理器 

    /dev/vx/rdsk/oradg/vol01

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

    无 

    /dev/global/rdsk/d1s3

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

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

    每个节点上均需要挂载点,即使节点上的群集文件系统不会被访问。


    提示 –

    为了便于管理,请在 /global/devicegroup 目录中创建挂载点。使用此位置,您可以很容易地将本地文件系统和群集文件系统区别开来,后者在全局范围内都可用。



    # mkdir -p /global/devicegroup mountpoint
    
    devicegroup

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

    mountpoint

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

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

    1. 使用下列必需的挂载选项。


      注 –

      对于所有群集文件系统,记录是必需的。


      • Solaris UFS 日志记录 – 使用 global,logging 挂载选项。有关 UFS 挂载选项的更多信息,请参见 mount_ufs(1M) 手册页。


        注 –

        对于 UFS 群集文件系统,不需要 syncdir 装载选项。如果指定 syncdir,则可保证文件系统的行为符合 POSIX。否则,您将看到与 UFS 文件系统一样的行为。如果不指定 syncdir,则用于分配磁盘块的写入性能(例如向文件附加数据时)会显著提高。但是,在某些情况下,如果没有 syncdir,空间不足的情况在文件关闭前就无法发现。在不指定 syncdir 的情况下很少会出现问题。如果具有 syncdir(和 POSIX 行为),空间不足的情况在文件关闭前就可以发现。


      • Solaris Volume Manager 事务卷 – 使用 global 挂载选项(不使用 logging 挂载选项)。有关设置事务卷的信息,请参见 Solaris Volume Manager 文档。


        注 –

        在以后的 Solaris 软件发行版中,事务卷按计划将从 Solaris OS 中删除。“Solaris UFS 记录”可提供相同的功能,而且性能更加出众,系统管理要求和系统开销更低。


      • VxFS 记录 – 使用 globallog 挂载选项。有关详细信息,请参阅 VxFS 软件附带的 mount_vxfs 手册页。

    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

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

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


     # sccheck
    

    如果不出现错误,则不返回任何内容。

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


    # mount /global/devicegroup mountpoint
    
  7. 在群集的每个节点上检验是否已装载群集文件系统。

    可以使用 dfmount 命令来列出已装载的文件系统。

    要在 Sun Cluster 环境中管理 VxFS 群集文件系统,请只从挂载有 VxFS 群集文件系统的那个主节点运行管理命令。


示例 5–42 添加群集文件系统

以下示例显示了在 Solaris Volume Manager元设备或卷 /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 /dev/md/oracle/dsk/d1 /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 2001

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–43 删除群集文件系统

以下示例删除了安装在 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如何检查群集中的全局挂载点

sccheck(1M) 实用程序可对 /etc/vfstab 文件中的群集文件系统条目的语法进行检查。如果不出现错误,则不返回任何内容。


注 –

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


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

  2. 检查群集全局安装。


     # sccheck