Sun Cluster 3.0 U1 系统管理指南

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
    

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

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

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

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

    说明 

    Solstice DiskSuite 

    /dev/md/oracle/rdsk/d1

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

    VERITAS Volume Manager 

    /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. 使用下列必需的安装选项。


      注意:

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


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


        注意:

        对于 UFS 群集文件系统,不需要 syncdir 安装选项。如果指定了 syncdir,就可以保证 POSIX-compliant 相容文件系统的行为。如果不指定,您会看到与 UFS 文件系统一样的行为。如果不指定 syncdir,可以显著改善分配磁盘块(如向文件附加数据时)的写入性能。但是,在某些情况下,如果不指定 syncdir,就只能在关闭一个文件后才发现空间不足。在不指定 syncdir 时出现问题的情形是很少见的。如果有 syncdir(和 POSIX 行为),空间不够的情况应该在关闭前就已发现了。


      • Solstice DiskSuite trans 元设备 - 使用 global 安装选项(而不使用 logging 安装选项)。有关设置 trans 元设备的信息,请参阅 Solstice DiskSuite 文档。

    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/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 May 3 08:56:16 2001

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