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

管理群集文件系统

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

表 4–3 任务对应关系: 管理群集文件系统

任务  

有关说明,请转到…  

首次安装 Sun Cluster 后添加群集文件系统  

- 使用 newfs(1M)mkdir

如何添加群集文件系统

删除群集文件系统  

- 使用 fuser(1M)umount(1M)

如何删除群集文件系统

检查群集中的全局安装点在各节点是否一致  

- 使用 sccheck(1M)

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

如何添加群集文件系统

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


小心:小心:

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


添加其它群集文件系统的先决条件如下:

如果安装数据服务时使用了 SunPlex Manger,并且有足够的共享磁盘用来创建群集文件系统,则一个或多个群集文件系统业已存在。

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


    提示:

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


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


    注意:

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



    # newfs raw-disk-device
    

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

    表 4–4 原始磁盘设备名样例

    如果您的卷管理器是…  

    则磁盘设备的名称可能是…  

    说明 

    Solstice DiskSuite/Solaris Volume Manager 

    /dev/md/oracle/rdsk/d1

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

    SPARC:VERITAS Volume Manager 

    /dev/vx/rdsk/oradg/vol01

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

    无 

    /dev/global/rdsk/d1s3

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

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

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


    提示:

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



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

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

    mountpoint

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

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

    1. 使用下列必需的安装选项。


      注意:

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


      • Solaris UFS logging – 使用 global,logging 安装选项。 有关 UFS 安装选项的详细信息,请参阅 mount_ufs(1M) 手册页。


        注意:

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


      • Solstice DiskSuite/Solaris Volume Manager trans 元设备或事务卷– 使用 global 安装选项(不要使用 logging 安装选项)。 有关设置 trans 元设备和事务卷的信息,请参阅 Solstice DiskSuite/Solaris Volume Manager 文档。


        注意:

        在以后的 Solaris 版本中,计划将事务卷从 Solaris 操作环境中取消。 自 Solaris 8 版本开始提供的 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/device-group/mountpoint
    

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

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

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

示例 — 添加群集文件系统

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


# newfs /dev/md/oracle/rdsk/d1
...
 
[在每个节点上:]
# 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
[保存并退出]
 
[在一个节点上:]
# 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

如何删除群集文件系统

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


注意:

当运行 scshutdown( 1M) 来停止整个群集时,作为随即发生的系统关闭的一部分,群集文件系统会自动卸装。 运行 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/plex。

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

示例 — 删除群集文件系统

以下示例删除安装在 Solstice DiskSuite/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在每个节点上,删除突出显示的条目:)
# 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
[保存并退出。]

注意:

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


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

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


注意:

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


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

  2. 检查群集全局安装。


     # sccheck