第十六章 网络文件系统(NFS) | ||||||||
16.1. 为什么使用 NFS? | ||||||||
16.2. 挂载 NFS 文件系统(客户端)
16.2.1. 使用 /etc/fstab 来挂载 NFS 文件系统 16.2.2. 使用 autofs 来挂载 NFS 文件系统 |
||||||||
16.3. 导出 NFS 文件系统(服务器端)
16.3.1. 命令行配置 16.3.2. 主机名格式 16.3.3. 启动和停止服务器(nfs) |
||||||||
网络文件系统(NFS)是一种在网络上的机器间共享文件的方法,文件如同在客户的本地硬盘一样。Red Hat Linux 既可以是 NFS 服务器也可以是 NFS
客户,它可以把文件系统导出给其它系统,也可以挂载从其它机器导出的文件系统。 |
||||||||
16.1. 为什么使用 NFS? NFS 对于在同一网络上的多个用户间共享目录很有用途。譬如,一组致力于同一工程项目的用户可以通过使用 NFS 文件系统(通常被称作 NFS 共享)中的一个挂载为 /myproject 的共享目录来存取该工程项目的文件。要存取共享的文件,用户进入各自机器上的 /myproject 目录。这种方法既不用输入口令又不用记忆特殊命令,就仿佛该目录位于用户的本地机器上一样。 |
||||||||
16.2.
挂载 NFS 文件系统
使用 mount 命令来挂载另一个机器 physics.njnu.edu.cn 上的 NFS 文件系统 /misc/export (本地机器上的挂载点目录 /misc/local 必须存在):
在这项命令中, physics.njnu.edu.cn 是 NFS 文件服务器的主机名; /misc/export 是 physics 要导出的文件系统; /misc/local 是该文件系统在本地机器上的挂载位置。 mount 命令运行之后(而且如果客户具有来自 shadowman.example.com NFS 服务器的正确权限的话),客户用户可以执行 ls /misc/local 命令来显示 physics.njnu.edu.cn 上的 /misc/export 目录中的文件列表。 |
||||||||
16.2.1. 使用 /etc/fstab 来挂载 NFS 文件系统
另一种方法是在 /etc/fstab 文件中添加一行。这一行中必须声明 NFS 服务器的主机名,要导出的目录,以及要挂载 NFS 共享的本地机器目录。你必须是根用户才能修改 /etc/fstab 文件。 /etc/fstab 中每行的一般语法如下所示:
挂载点 /pub 在客户机器上必须存在。在客户系统的 /etc/fstab 文件中把这一行添加完毕后,在 shell 提示下键入命令 mount /pub ,以及将会从服务器中挂载的挂载点 /pub 。 16.2.2. 使用 autofs 来挂载 NFS 文件系统 第三种方法是使用 autofs。autofs 使用 automount 守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。 autofs 咨询主映射配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后,它使用适用于各个挂载点的参数来启动 automount 进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。譬如, /etc/auto.misc 文件可能会定义 /misc 目录中的挂载点;这种关系在 /etc/auto.master 文件中会被定义。 auto.master 文件中的每个项目都有三个字段。第一个字段是挂载点。第二个字段是映射文件的位置,第三个字段可选。第三个字段可以包括超时数值之类的信息。 譬如,要在你的机器上的 /misc/myproject 挂载点上挂载远程机器 physics.njnu.edu.cn 上的 /project52 目录,在 auto.master 文件中添加以下行:
在 /etc/auto.misc 文件中添加以下行:
/etc/auto.misc 中的第一个字段是 /misc 子目录的名称。该目录被 automount 动态地创建。它不应该在客户机器上实际存在。第二个字段包括挂载选项,如:rw 代表读写访问权。第三个字段是要导出的 NFS 的位置,包括主机名和目录(目录 /misc 在本地文件系统中必须存在。在本地文件系统的 /misc 目录中不应该有子目录)。 autofs 是一种服务。要启动这项服务,在 shell 提示下,键入以下命令:
要查看活跃的挂载点,在 shell 提示下键入以下命令:
如果你在 autofs 运行时修改了 /etc/auto.master 配置文件,你必须在 shell 提示下键入以下命令来通知 automount 守护进程重新载入配置文件:
|
||||||||
16.3.
输出 NFS 文件系统
NFS 服务器配置工具可以用来把系统配置成 NFS 服务器,输出目录。要使用 NFS 服务器配置工具,你必须运行 X 窗口系统,具备根特权,并且安装了 redhat-config-nfs RPM 软件包。要启动这个程序,点击面板上的「主菜单」 => 「系统设置」 => 「服务器设置」 => 「NFS 服务器」,或键入 redhat-config-nfs 命令。 要添加 NFS 共享,点击「添加」按钮。如图所示的对话框会出现。 「基本」活页标签要求以下信息:
「常规选项」活页标签允许你配置以下选项:
「用户访问」活页标签允许你配置以下选项:
要编辑 NFS 共享,从列表中选择它,然后点击「属性」按钮。要删除某个现存 NFS 共享,从列表中选择它,然后点击「删除」按钮。 点击了「确定」来从列表中添加、编辑、或删除某个 NFS 共享后,改变就会立即生效 — 服务器守护进程被重新启动,原有的配置文件被保存为 /etc/exports.bak 。新的配置文件被写入 /etc/exports 。 NFS 服务器配置工具直接读写 /etc/exports 配置文件。因此,这个文件在使用该工具后可以被手工修改;手工修改了该文件后也可以使用这个工具(假定手工修改时使用了正确的语法)。 |
||||||||
16.3.1. 命令行配置
也可以直接修改配置文件。 /etc/exports 文件控制 NFS 服务器要导出哪些目录。它的格式如下:
唯一需要指定的选项是 sync 和 async 之一(建议使用 sync )。如果指定了 sync ,服务器在请求所做的改变被写入磁盘之前就不会回复这些请求。例如:
会允许来自 speedy.example.com 的用户使用默认的只读权限来挂载 /misc/export ,但是:
将会允许来自 speedy.example.com 的用户使用读写权限来挂载 /misc/export 。 请谨慎处理 /etc/exports 文件中的空格。如果主机名和括号内的选项之间没有空格,这些选项就只应用于这个主机名。如果在主机名和选项之间有空格,这些选项就是全局应用的。例如,请仔细查看以下行:
第一行给来自 speedy.example.com 的用户以读写权限并拒绝所有其他用户。第二行给来自 speedy.example.com 的用户以只读权限(默认设置),并给予所有其他用户以读写权限。 在你每次改变 /etc/exports 的时候,使用以下命令来重新载入配置文件:
|
||||||||
16.3.2. 主机名格式
主机可以使用以下格式:
|
||||||||
16.3.3. 启动和停止服务器
在导出 NFS 文件系统的服务器上, nfs 服务必须在运行。 使用以下命令来查看 NFS 守护进程的状态:
使用以下命令来启动 NFS 守护进程:
使用以下命令来停止 NFS 守护进程:
要在引导时启动 nfs 服务,使用以下命令:
|
||||||||