系统管理指南:网络服务

挂载文件系统

可以采用多种方法挂载文件系统。引导系统时、根据需要使用命令行或通过自动挂载程序都可以自动挂载文件系统。自动挂载程序提供了在引导时挂载或通过命令行挂载的许多优点。但是,许多情况需要将所有这三种方法组合起来。此外,还存在多种启用或禁用进程的方法,具体取决于挂载文件系统时使用的选项。有关与文件系统挂载关联的任务的完整列表,请参见下表。

表 5–2 挂载文件系统的任务列表

任务 

说明 

参考 

在引导时挂载文件系统 

每次重新引导系统时即挂载文件系统的步骤。 

如何在引导时挂载文件系统.

使用命令挂载文件系统 

在系统正在运行时挂载文件系统的步骤。此过程在测试时非常有用。 

如何通过命令行挂载文件系统.

使用自动挂载程序挂载 

在不使用命令行的情况下即时访问文件系统的步骤。 

使用自动挂载程序挂载.

阻止大文件 

阻止在文件系统上创建大文件的步骤。 

如何在 NFS 服务器上禁用大文件.

启动客户端故障转移 

服务器出现故障时实现自动切换至工作文件系统的步骤。 

如何使用客户端故障转移.

禁用对客户机的挂载访问 

禁用某台客户机可访问远程文件系统的能力的步骤。 

如何禁用对某台客户机的挂载访问.

通过防火墙提供对文件系统的访问 

允许使用 WebNFS 协议通过防火墙对文件系统进行访问的步骤。 

如何通过防火墙挂载 NFS 文件系统.

使用 NFS URL 挂载文件系统 

允许使用 NFS URL 对文件系统进行访问的步骤。此过程允许在不使用 MOUNT 协议的情况下访问文件系统。 

如何使用 NFS URL 挂载 NFS 文件系统.

Procedure如何在引导时挂载文件系统

如果要在引导时挂载文件系统,而不使用 autofs 映射,请遵照以下过程执行操作。必须在每台应对远程文件系统具有访问权限的客户机上完成此过程。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. /etc/vfstab 添加文件系统的项。

    /etc/vfstab 文件中的各项使用以下语法:

    special  fsckdev  mountp  fstype  fsckpass  mount-at-boot  mntopts

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


    注意 – 注意 –

    另外还包含 NFS 客户机 vfstab 项的 NFS 服务器必须始终指定 bg 选项,以避免系统在重新引导过程中挂起。有关更多信息,请参见NFS 文件系统的 mount 选项



示例 5–1 客户机的 vfstab 文件中的项

客户机需要从服务器 wasp 挂载 /var/mail 目录。文件系统需要作为 /var/mail 挂载在客户机上,并且客户机需要具有读写访问权限。请向客户机的 vfstab 文件中添加以下项。


wasp:/var/mail - /var/mail nfs - yes rw

Procedure如何通过命令行挂载文件系统

为了测试新的挂载点,通常要通过命令行来挂载文件系统。这类挂载允许对不能通过自动挂载程序使用的文件系统进行临时访问。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 挂载文件系统。

    键入以下命令:


    # mount -F nfs -o ro bee:/export/share/local /mnt
    

    在本示例中,服务器 bee 中的 /export/share/local 文件系统挂载在本地系统的只读 /mnt 上。通过命令行进行挂载允许临时查看文件系统。可以使用 umount 或通过重新引导本地主机来取消挂载文件系统。


    注意 – 注意 –

    从 Solaris 2.6 发行版开始,mount 命令的所有版本都不会提供有关无效选项的警告。该命令将默认忽略无法解释的所有选项。要防止意外行为,请确保验证已使用的所有选项。


使用自动挂载程序挂载

Autofs 管理的任务概述包括有关使用自动挂载程序来建立和支持挂载的特定说明。在不对普通系统进行任何更改的情况下,客户机应该能够通过 /net 挂载点来访问远程文件系统。要挂载上一个示例中的 /export/share/local 文件系统,请键入以下内容:


% cd /net/bee/export/share/local

由于自动挂载程序允许所有用户挂载文件系统,因此不需要 root 访问权限。自动挂载程序还提供了文件系统的自动取消挂载,因此完成后无需取消挂载文件系统。

Procedure如何在 NFS 服务器上禁用大文件

对于支持无法处理超过 2 GB 的文件的客户机的服务器,可能需要禁用创建大文件的能力。


注 –

Solaris 2.6 发行版以前的版本不能使用大文件。如果客户机需要访问大文件,请检查 NFS 服务器的客户机是否正在运行 2.6 发行版(最低版本)。


  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 检查文件系统上是否不存在大文件。

    例如:


    # cd /export/home1
    
    # find . -xdev -size +2000000 -exec ls -l {} \;
    

    如果文件系统上存在大文件,则必须删除这些文件或将其移至其他文件系统。

  3. 取消挂载文件系统。


    # umount /export/home1
    
  4. 重置文件系统状态,前提是已使用 largefiles 挂载了该文件系统。

    如果文件系统上不存在大文件,则 fsck 会重置文件系统状态:


    # fsck /export/home1
    
  5. 使用 nolargefiles 挂载文件系统。


    # mount -F ufs -o nolargefiles /export/home1
    

    可以通过命令行进行挂载,但要使选项更为持久,请将类似以下内容的项添加到 /etc/vfstab 中:


    /dev/dsk/c0t3d0s1 /dev/rdsk/c0t3d0s1 /export/home1  ufs  2  yes  nolargefiles

Procedure如何使用客户端故障转移

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 在 NFS 客户机上,使用 ro 选项来挂载文件系统。

    可以通过命令行、自动挂载程序或通过向 /etc/vfstab 中添加类似以下内容的项来进行挂载:


    bee,wasp:/export/share/local  -  /usr/local  nfs  -  no  ro

    自动挂载程序允许使用此语法。但是,在已挂载文件系统的同时不能进行故障转移,仅在选择了服务器时才能进行此操作。


    注 –

    不能使用命令行或 vfstab 项来混用运行不同版本NFS 协议的服务器。只能使用 autofs 来混用支持 NFS 版本 2、版本 3 或版本 4 协议的服务器。autofs 中会使用版本 2、版本 3 或版本 4 服务器中最适用的一种版本。


Procedure如何禁用对某台客户机的挂载访问

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. /etc/dfs/dfstab 中添加项。

    第一个示例允许对 eng 网络组中的所有客户机进行挂载访问,但名为 rose 的主机除外。第二个示例允许对 eng.example.com DNS 域中的所有客户机进行挂载访问,但 rose 除外。


    share -F nfs -o ro=-rose:eng /export/share/man
    
    share -F nfs -o ro=-rose:.eng.example.com /export/share/man

    有关访问列表的其他信息,请参见使用 share 命令设置访问列表。有关 /etc/dfs/dfstab 的说明,请参见 dfstab(4)

  3. 共享文件系统。

    再次共享文件系统或重新引导 NFS 服务器之前,NFS 服务器不会使用对 /etc/dfs/dfstab 所做的更改。


    # shareall

Procedure如何通过防火墙挂载 NFS 文件系统

要通过防火墙访问文件系统,请使用以下过程。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 使用如下命令手动挂载文件系统:


    # mount -F nfs bee:/export/share/local /mnt
    

    在本示例中,文件系统 /export/share/local 是通过使用公共文件句柄挂载到本地客户机上的。可以使用 NFS URL 来代替标准路径名。如果服务器 bee 不支持公共文件句柄,则挂载操作将会失败。


    注 –

    此过程要求使用 public 选项来共享 NFS 服务器上的文件系统。此外,客户机与服务器之间的所有防火墙都必须允许在端口 2049 上使用 TCP 连接。从 Solaris 2.6 发行版开始,共享的所有文件系统都允许公共文件句柄访问,因此缺省情况下将应用 public 选项。


Procedure如何使用 NFS URL 挂载 NFS 文件系统

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. (可选的)如果使用的是 NFS 版本 2 或版本 3,请使用如下命令手动挂载文件系统:


    # mount -F nfs nfs://bee:3000/export/share/local /mnt
    

    在本示例中,/export/share/local 文件系统是使用 NFS 端口号 3000 从服务器 bee 中挂载的。端口号不是必需的,缺省情况下会使用标准 NFS 端口号 2049。可以选择在 NFS URL 中包括 public 选项。如果没有 public 选项,则在服务器不支持公共文件句柄的情况下会使用 MOUNT 协议。public 选项强制使用公共文件句柄,如果不支持公共文件句柄,则挂载将失败。

  3. (可选的)如果使用的是 NFS 版本 4,请使用如下命令手动挂载文件系统:


    # mount -F nfs -o vers=4 nfs://bee:3000/export/share/local /mnt