设置标准Linux文件系统和配置NFSv4服务器 - 第2部分

我将向您展示如何配置NFSv4服务器(无认证安全),以便您可以设置网络共享在Linux客户端中使用,就像这些文件

在Linux基金会认证工程师( 联邦经济竞争法 )被训练在Linux系统设置,配置,管理和解决网络服务,并对此负责设计和实施的系统架构和解决日常生活相关的问题。

配置NFS服务器

Linux基础认证工程师 - 第2部分

Linux基础认证计划(LFCE)简介。

在本系列的第1部分中,我们说明了如何安装NFS(网络文件系统)服务器,并将服务设置为在引导时自动启动。 如果您还没有这样做,请参阅该文章,并按照概述的步骤,然后继续。

  1. 安装网络服务和配置引导时的自动启动 - 第1部分

现在我将告诉你如何正确配置NFSv4服务器(无身份验证安全性),这样你可以设置网络共享中的Linux客户端使用,如果这些文件系统进行本地安装。 请注意,您可以使用LDAP或NIS进行身份验证,但这两个选项都超出了LFCE认证的范围。

配置NFSv4服务器

一旦NFS服务器启动并运行,我们将关注:

  1. 指定和配置我们要通过网络共享的本地目录,以及
  2. 自动安装在客户端的网络共享,或者通过/ etc / fstab文件或基于内核的自动挂载实用程序(autofs的)。

我们将在后面解释什么时候选择一种方法或其他方法。

我们虽之前,我们需要确保的idmapd守护进程正在运行和配置。 该服务提供的NFSv4名称映射( 用户@ MYDOMAIN),以用户和组ID,并要求实施NFSv4服务器。

编辑/ etc / default / nfs中常见启用idmapd。

NEED_IDMAPD=YES

和编辑/etc/idmapd.conf您的本地域名(默认为主机的FQDN)。

Domain = yourdomain.com

然后启动idmapd。

# service nfs-common start 	[sysvinit / upstart based systems]
# systemctl start nfs-common 	[systemd based systems]

导出网络共享

/ etc / exports文件包含我们的NFS服务器主要配置指令,定义将被导出到远程主机文件系统,并指定可用的选项。 在此文件中,每个网络共享使用单独的行来指示,默认情况下具有以下结构:

/filesystem/to/export client1([options]) clientN([options])

/文件系统/为/ export是绝对路径导出的文件系统,而客户端1(最高clientN)代表特定的客户端(主机名或IP地址)或网络(允许使用通配符),以该份额正被出口。 最后,options是分别导出共享时考虑的逗号分隔值(选项)的列表。 请注意,每个主机名和其前面的括号之间没有空格。

这里是最常见的选项及其相应描述的列表:

  1. RO(简称只读):远程客户端可以安装具有只读权限导出的文件系统。
  2. RW(简称读写):允许远程主机尽在导出的文件系统写的变化。
  3. wdelay(简称写入延迟):NFS服务器延迟提交更改到磁盘,如果怀疑另一个相关的写请求已迫在眉睫。 但是,如果NFS服务器收到多个小无关请求,此选项会降低性能,所以no_wdelay选项可用于将其关闭。
  4. 同步 :NFS服务器回复的修改已经提交到永久存储(即硬盘)后,才请求。 它的对面,async选项,可以提高性能,但在数据丢失或损坏的不洁服务器重新启动后的成本。
  5. root_squash:从服务器具有超级用户权限,防止远程root用户,并指定他们为用户nobody的用户ID。 如果你想“ 南瓜 ”的所有用户(不只是根),您可以使用all_squash会将选项。
  6. anonuid / anongid:显式设置匿名帐户(一个人)的UID和GID。
  7. subtree_check:如果只有一个文件系统的一个子目录被导出,此选项验证请求的文件位于导出的子目录中。 在另一方面,如果整个文件系统被导出,禁用此选项与no_subtree_check将加快转移。 默认选项时下no_subtree_check作为子树检查往往会造成更多的问题比它的价值,根据人的5出口。
  8. FSID = 0 | (零或根):指定指定的文件系统是多个导出目录的根目录下(仅适用于NFSv4的)。

在这篇文章中,我们将使用目录/ NFS共享/ NFS-SHARE / MYDIR192.168.0.10(NFS服务器)作为我们的测试文件系统。

我们可以使用以下命令总是在NFS服务器中列出可用的网络共享:

# showmount -e [IP or hostname]
检查NFS共享

检查NFS共享

在上面的输出中,我们可以看到/ NFS共享/ NFS-SHARE / MYDIR192.168.0.10已出口到客户端的IP地址为192.168.0.17。

我们对出口目录的初始配置(请参阅您的NFS服务器上的/ etc / exports的目录)如下:

/NFS-SHARE  	192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000)
/NFS-SHARE/mydir    	192.168.0.17(ro,sync,no_subtree_check)

编辑配置文件后,我们必须重新启动NFS服务:

# service nfs-kernel-server restart 		[sysvinit / upstart based system]
# systemctl restart nfs-server			[systemd based systems]
使用autofs安装导出的网络共享

您可能希望参考LFCS系列(“5部分 如何挂载/卸载本地和网络(Samba和NFS)文件系统在Linux中 ”)的详细信息,远程NFS共享的按需使用mount命令或永久通过安装/ etc / fstab文件。

使用这些方法安装网络文件系统的缺点是,系统必须分配必要的资源以保持共享安装在任何时候,或至少直到我们决定手动卸载它们。 另一种方法是自动安装点播所需的文件系统(不使用mount命令)通过autofs的 ,它可以挂载文件系统时使用它们和闲置一段时间后卸载它们。

Autofs的读取/etc/auto.master文件 ,其格式如下:

[mount point]	[map file]

其中[图文件]用来指示在多个安装点[挂载点]。

然后,该主图文件(/etc/auto.master文件 )被用来确定哪些挂载点被定义,然后为每个指定的参数启动automount进程挂载点。

使用autofs安装导出的NFS共享

编辑您的/etc/auto.master文件 ,如下所示:

/media/nfs	/etc/auto.nfs-share	--timeout=60

并创建一个名为/etc/auto.nfs-share包含以下内容映射文件:

writeable_share  -fstype=nfs4 192.168.0.10:/
non_writeable_share  -fstype=nfs4 192.168.0.10:/mydir

请注意,在/etc/auto.nfs-share第一个字段是一个子目录中/媒体/ NFS的名称。 每个子目录由autofs动态创建。

现在,重新启动autofs服务:

# service autofs restart 			[sysvinit / upstart based systems]
# systemctl restart autofs 			[systemd based systems]

最后,使autofs,从而开始启动,运行以下命令:

# chkconfig --level 345 autofs on
# systemctl enable autofs 			[systemd based systems]
在启动autofs守护程序后检查装入的文件系统

当我们重新启动autofs的 ,mount命令向我们展示了地图文件(/etc/auto.nfs-share)被安装在/etc/auto.master文件指定的目录:

已挂载NFS共享

已挂载NFS共享

请注意,没有目录实际上已经安装呢,可是当我们尝试访问/etc/auto.nfs-share指定的股票将自动:

自动挂载NFS共享

自动挂载NFS共享

正如我们所看到的,autofs服务“ 坐骑 ”的地图文件,可以这么说,而是等待,直到请求发送到文件系统进行真正安装它们。

在导出的文件系统中执行写入测试

anonuidanongid选项,并在第一的份额设置root_squash一起,让我们来映射root用户在客户端服务器执行的本地帐户的请求。

换句话说,当客户端中的root用户在导出的目录中创建一个文件时,其所有权将自动映射到UID和GID = 1000的用户帐户,前提是此类帐户存在于服务器上:

执行NFS写入测试

执行NFS写入测试

结论

我希望您能够使用本文作为指南成功设置和配置适合您的环境的NFS服务器。 您可能还需要参考相关的手册页以获得更多帮助( 男出口人idmapd.conf,例如)。

随时可以尝试其他选项和测试用例,如前所述,并且毫不犹豫地使用下面的表单发送您的意见,建议或问题。 我们很高兴听到你的来信。