《第8章配置与管理NFS网络文件系统课件.ppt》由会员分享,可在线阅读,更多相关《第8章配置与管理NFS网络文件系统课件.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LinuxLinux操作系统与实训操作系统与实训( (第四版第四版)杨云杨云 编著编著中国铁道出版社中国铁道出版社国家精品课程国家精品课程/国家精品资源共享课程国家精品资源共享课程配套教材配套教材第8章 配置与管理NFS网络文件系统第8章 配置与管理NFS网络文件系统 项目描述:在Windows主机之间可以通过共享文件夹来实现存储远程主机上的文件,而在Linux系统中通过NFS实现类似的功能。 学习要点:NFS服务的基本原理。NFS服务器的配置与调试。NFS客户端的配置。NFS故障排除8.1 NFS基本原理8.3 安装、启动和停止NFS服务器8.4 配置NFS服务8.5了解NFS服务的文件存取
2、权限8.6 在客户端挂载NFS文件系统第8章 NFS网络文件系统 8.2 项目设计与准备 8.1 NFS基本原理8.1.1 NFS服务概述 Linux和Windows之间可以通过Samba进行文件共享,那么Linux之间怎么进行资源共享呢?这就要说到NFS(Network File System,网络文件系统),它最早是UNIX操作系统之间共享文件和操作系统的一种方法,后来被Linux操作系统完美继承。 NFS最早是由Sun公司于1984年开发出来的,其目的就是让不同计算机、不同操作系统之间可以彼此共享文件。由于NFS使用起来非常方便,因此很快得到了大多数UNIX/Linux系统的广泛支持,而
3、且还被IETE(国际互联网工程组)制定为RFC1904、RFC1813和RFC301O标准。8.1.1 NFS服务概述1使用NFS的好处 (1)本地工作站可以使用更少的磁盘空间,因为通常的数据可以存放在一台机器上,而且可以通过网络访问到。 (2)用户不必在网络上每个机器中都设一个home目录,home目录可以被放在NFS服务器上,并且在网络上处处可用。 (3)诸如CD-ROM、DVD-ROM之类的存储设备可以在网络上被其他的机器使用。这可以减少整个网络上可移动介质设备的数量。 8.1.1 NFS服务概述2NFS和RPC RPC最主要的功能就是记录每个NFS功能所对应的端口,它工作在固定端口11
4、1,当客户端需求NFS服务时,就会访问服务器的111端口(RPC),RPC会将NFS工作端口返回给客户端,如图所示。 客户端可以将服务器上的分享目录直接加载到本地 NFS和RPC合作为客户端提供服务 8.1.1 NFS服务概述常规的NFS服务是按照如下流程进行的 (1)NFS启动时,自动选择工作端口小于1 024的1011端口,并向RPC(工作于111端口)汇报,RPC记录在案。(2)客户端需要NFS提供服务时,首先向111端口的RPC查询NFS工作在哪个端口?(3)RPC回答客户端,它工作在1011端口。(4)于是,客户端直接访问NFS服务器的1011端口,请求服务。(5)NFS服务经过权限
5、认证,允许客户端访问自己的数据。思考:RPC服务重新启动后,为何要重新启动NFS服务?8.1.2 NFS服务的组件 Linux下的NFS服务主要由以下6个部分组成。其中,只有前面3个是必需的,后面3个是可选的。 1rpc.nfsd2pc.mounted3portmap4rpc.locked5rpc.stated6rpc.quotad8.2 项目设计及准备 在VMWare虚拟机中启动两台Linux系统,一台作为NFS服务器,主机名为RHEL7-1,规划好IP地址,比如;一台作为NFS客户端,主机名为Client,同样规划好IP地址,比如。配置NFS服务器,使得客户机client可以浏览NFS服务
6、器中特定目录下的内容。8.3安装、启动和停止NFS服务器1所需要的套件 对于Red Hat Enterprise Linux 7来说,要启用NFS服务器,我们至少需要两个套件,它们分别是: (1)rpcbind。 (2)nfs-utils。 就是提供rpc.nfsd和rpc.mounted这两个守护进程与其他相关文档、执行文件的套件。这是NFS服务的主要套件。2安装NFS服务建议在安装NFS服务之前,使用如下命令检测系统是否安装了NFS相关性软件包:rootRHEL7-1 # rpm qa|grep nfs-utilsrootRHEL7-1 # rpm qa|grep rpcbind如果系统还
7、没有安装NFS软件包,我们可以使用yum命令安装所需软件包。 使用yum命令安装NFS服务rootRHEL7-1 # yum clean all /安装前先清除缓存rootrhel7-1 # yum install rpcbind yrootrhel7-1 # yum install nfs-utils -y 所有软件包安装完毕之后,可以使用rpm命令再一次进行查询:rpm -qa | grep nfs、rpm -qa | grep rpcbind。rootRHEL7-1 # rpm -qa|grep nfsrootRHEL7-1 # rpm -qa|grep rpcnfs-utils和rpc
8、bind组件已经正确安装。 3启动NFS服务查询一下NFS的各个程序是否在正常运行,命令如下。rootRHEL7-1 # rpcinfo -p 如果没有看到nfs和mounted选项,则说明NFS没有运行,需要启动它。使用以下命令可以启动。rootRHEL7-1 # systemctl start rpcbindrootRHEL7-1 # systemctl start nfsrootRHEL7-1 # systemctl start nfs-serverrootRHEL7-1 # systemctl enable nfs-serverrootRHEL7-1 # systemctl enabl
9、e rpcbind8.4 配置NFS服务 1exports文件的格式 某些Linux发行套件并不会主动提供/etc/exports文件(比如Red Hat Enterprise Linux 7就没有),此时就需要我们自己手动创建了。rootRHEL7-1 # mkdir /tmp1rootRHEL7-1 # vim /etc/exports/tmp1 192.168.10.20/24(ro) localhost(rw) *(ro,sync)#共享目录 第一台主机(权限) 可用主机名 其他主机(可用通配符)8.4 配置NFS服务 在设置/etc/exports文件时需要特别注意“空格”的使用,因
10、为在此配置文件中,除了分开共享目录和共享主机以及分隔多台共享主机外,其余的情形下都不可使用空格。例如,以下的两个范例就分别表示不同的意义: /home Client(rw)/home Client (rw) 思考:上述两行含义有何不同呢?8.4 配置NFS服务 2主机名规则 (1)可以使用完整的IP地址或者网段,例如、或都可以接受。 (2)可以使用主机名称,这个主机名称要在/etc/hosts内或者使用DNS,只要能被找到就行(重点是可以找到IP地址)。如果是主机名称,那么它可以支持通配符,例如*或?均可以接受。8.4 配置NFS服务 3权限规则 至于权限方面(就是小括号内的参数),常见的参数
11、则有以下几种。rw:read-write,可读/写的权限。ro:read-only,只读权限。sync:数据同步写入到内存与硬盘当中。async:数据会先暂存于内存当中,而非直接写入硬盘。no_root_squash:登录NFS主机使用共享目录的用户,如果是root,那么对于这个共享的目录来说,它就具有root的权限。这个设置“极不安全”,不建议使用。8.4 配置NFS服务 3权限规则root_squash:在登录NFS主机使用共享目录的用户如果是root,那么这个用户的权限将被压缩成匿名用户,通常它的UID与GID都会变成nobody(nfsnobody)这个系统账号的身份。all_squa
12、sh:不论登录NFS的用户身份如何,它的身份都会被压缩成匿名用户,即nobody(nfsnobody)。anonuid:anon是指anonymous(匿名者),前面关于术语squash提到的匿名用户的UID设定值,通常为nobody(nfsnobody),但是你可以自行设定这个UID值。当然,这个UID必须要存在于你的/etc/passwd当中。anongid:同anonuid,但是变成Group ID就可以了。8.5 了解NFS服务的文件存取权限8.6 在客户端挂接NFS文件系统 1. 配置配置NFS客户端客户端配置NFS客户端的一般步骤如下。 安装nfs-utils软件包 识别要访问的远
13、程共享 showmount -e NFS服务器IP 确定挂载点 mkdir /mnt/nfstest 使用命令挂载NFS共享 mount -t nfs NFS服务器IP:/gongxiang /mnt/nfstest 修改fstab文件实现NFS共享永久挂载 vim /etc/fstab8.6在客户端挂接NFS文件系统 2查看NFS服务器信息-a:查看服务器上的输出目录和所有连接客户端信息。显示格式为“host:dir。-d:只显示被客户端使用的输出目录信息。-e:显示服务器上所有的输出目录(共享资源)。8.6 在客户端挂接NFS文件系统 比如,如果服务器的IP地址为,如果想查看该服务器上的N
14、FS共享资源,则可以执行以下命令:rootRHEL7-1 # 8.6 在客户端挂接NFS文件系统 注意:出现错误的原因是NFS服务器的防火墙阻止了客户端访问NFS服务器。由于NFS使用许多端口,即使开放了NFS4 服务,仍然可能有问题,读者可以把防火墙禁用。禁用防火墙的命令如下:rootRHEL7-1 # systemctl stop firewalld3加载NFS服务器共享目录 8.6 在客户端挂接NFS文件系统 rootClient # mount -t NFS 服务器名称或地址服务器名称或地址:输出目录输出目录 挂载目录挂载目录比如,要加载这台服务器上的/tmp1目录,则需要依次执行以下
15、操作。(1)创建本地目录。首先在客户端创建一个本地目录,用来加载NFS服务器上的输出目录。rootClient # mkdir /mnt/nfs(2)加载服务器目录。再使用相应的mount命令加载。rootClient # mount -t nfs 192.168.10.1:/tmp1 /mnt/nfs4卸载NFS服务器共享目录要卸载刚才加载的NFS共享目录,则执行以下命令:rootClient # umount /mnt/nfs5在客户端启动时自动挂载NFS8.6 在客户端挂接NFS文件系统 我们知道,Red Hat Enterprise Linux 7下的自动加载文件系统都是在/etc/fstab中定义的,NFS文件系统也支持自动加载。(1)编辑fstab。用文本编辑器打开/etc/fstab,在其中添加如下一行:192.168.10.1:/tmp1 /mnt/nfs nfs default 0 0(2)使设置生效。执行以下命令重新加载fstab文件中定义的文件系统。rootClient # mount -a其他需要说明的信息其他需要说明的信息本项目后的实训视频、其他文件请详见随书光盘。本教材电子教案、试卷等全套资源提供群: 414901724作者QQ:68433059教材教材ISBN:9787113-27064-3