在 Oracle® Solaris 11.2 中管理网络文件系统

退出打印视图

更新时间: 2014 年 7 月
 
 

如何在通用目录下整合与项目相关的文件

您可以使用 autofs 将文件整合到在多个系统之间通用的目录中。您可以将与项目相关的文件的目录结构添加到通用目录的 autofs 映射中。通过该目录结构,用户可使用项目文件,而不考虑系统中的物理和硬件更改。

  1. 成为管理员。

    有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  2. 将通用目录的项添加到 auto_master 映射中。
    /common-dir     auto_common-dir     -nosuid

    auto_common-dir 映射可确定通用目录的内容。

  3. 添加 -nosuid 选项作为预防措施,以防止用户运行任何工作区中可能存在的 setuid 程序。
  4. auto_common-dir 映射中添加项。

    auto_common-dir 映射已经过组织,因此每项都能描述一个子项目。首次尝试添加时将生成如下映射:

    project1   system1:/export/common-dir/&
    project2    system1:/export/common-dir/&
    app1      system2:/export/common-dir/&

    每项结尾的和符号 (&) 是该项关键字的缩写。

示例 4-1  /ws 下整合与项目相关的文件

假定您是某个大型软件开发项目的管理员。您计划在名为 /ws 的目录下提供所有与项目相关的文件。此目录将在站点上的所有工作站中通用。

向站点 auto_master 映射添加 /ws 目录的项。

/ws     auto_ws     -nosuid 

auto_ws 映射可确定 /ws 目录的内容。–nosuid 可防止用户运行任何工作区中可能存在的 setuid 程序。向 auto_ws 映射中添加项,以使每项都能描述一个子项目。首次尝试添加时将生成如下映射:

compiler   alpha:/export/ws/&
windows    alpha:/export/ws/&
files      bravo:/export/ws/&
drivers    alpha:/export/ws/&
man        bravo:/export/ws/&
tools      delta:/export/ws/&

每项结尾的和符号 (&) 是该项关键字的缩写。例如,第一项与以下内容等效:

compiler		alpha:/export/ws/compiler 

这第一次尝试提供了看似简单但有必要进行进一步完善的映射。项目组织者决定应提供 man 项中的文档作为每个子项目下的子目录。另外,每个子项目都要求子目录描述该软件的多个版本。必须将其中的每个子目录都指定给服务器上的整个磁盘分区。

请按如下所示修改映射中的各项:

compiler \
    /vers1.0    alpha:/export/ws/&/vers1.0 \
    /vers2.0    bravo:/export/ws/&/vers2.0 \
    /man        bravo:/export/ws/&/man
windows \
    /vers1.0    alpha:/export/ws/&/vers1.0 \
    /man        bravo:/export/ws/&/man
files \
    /vers1.0    alpha:/export/ws/&/vers1.0 \
    /vers2.0    bravo:/export/ws/&/vers2.0 \
    /vers3.0    bravo:/export/ws/&/vers3.0 \
    /man        bravo:/export/ws/&/man
drivers \
    /vers1.0    alpha:/export/ws/&/vers1.0 \
    /man        bravo:/export/ws/&/man
tools \
    /           delta:/export/ws/&

尽管现在映射看起来比较大,但是映射仍然仅包含五个项。由于每项都包含多个挂载,因此每项都比较大。例如,对 /ws/compiler 的引用要求挂载 vers1.0vers2.0man 三个目录。

每一行结尾的反斜杠表明该项会继续进入下一行。实际上,尽管使用了换行符和一些缩进以使该项更具可读性,但该项仍是较长的一行。

tools 目录包含所有子项目的软件开发工具,因此该目录不遵循相同的子目录结构。tools 目录仍然表示单个挂载。

这种安排为管理员提供了许多灵活性。软件项目通常会占用大量磁盘空间。在项目的整个生命周期内,可能需要重新定位并扩展各种磁盘分区。如果这些更改反映在 auto_ws 映射中,则无需通知用户,因为 /ws 下的目录分层结构未被更改。

由于服务器 alphabravo 查看的是同一个 autofs 映射,因此登录到这些系统的任何用户都可以找到预期的 /ws 名称空间。系统将为这些用户提供通过回送挂载(而不是 NFS 挂载)对本地文件的直接访问。