NFS
NFS其目的就是让不同计算机不同操作系统之间可以彼此共享文件。
NFS采用服务器/客户端工作模式
在NFS服务器上将目录设置为输出目录(即共享目录)后,客户端就可以将这个目录挂载到自己系统中的某个目录下
什么是RPC守护进程
1)使用NFS服务,至少需要启动以下3个系统守护进程。
2)rpc.nfsd :它是基本的NFS守护进程,主要功能是管理客户端是否能够登入服务器。
3) rpc.mountd :它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过rpc.nfsd登录NFS服务后,在使用NFS服务所提供的文凭前,还必须通过文件使用权限的验证。它会读取NFS的配置文件letc/exports来对比客户端权限。
4)rpc.portmap :主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
NFS的配置文件:/etc/exports
共享目录的绝对路径 客户端(选项)
列:/share 192.168.0.0/24(ro)
NFS服务的启动
启动rpc守护进程
Systemctl start rpcbind
启动或重启nfs服务
Systemctl restart nfs
Exportfs –r(重读/etc/exports文件)
NFS服务的配置
NFS服务器共享目录时所使用的配置文件为/etc/exports
共享目录的绝对路径 客户端1(选项) 客户端2(选项)…
NFS服务器在共享一个目录的时候,客户端定义只允许哪些主机可以来访问此共享目录。
NFS服务器在共享一个目录的时候,还可以设定许多共享选项,包括访问目录时的权限选择,用户映射选项以及其它访问选项。
权限选项:当客户端在挂载NFS服务器共享的目录时,会根据NFS服务器的权限选项来决定以只读方式或读写方式来挂载文件系统。
Linux客户端访问NFS服务
使用showmount命令测试NFS服务器的输出目录状态
Showmount命令的基本格式为:
Showmount【选项】NFS服务器名称或地址
-e:显示指定的NFS服务器上所有输出的共享目录
列:showmount –e 192.168.1.120
通过挂载来访问NFS共享目录
Mount –t 文件系统类型 NFS服务器上共享目录 客户端本地挂载目录
Mount 192.168.1.200:/share /mnt/nfs
Autofs按需挂载
Autofs按需挂载机制
只要访问挂载点,即触发挂载策略,自动挂载指定设备
闲置超时(默认5分钟)后,自动卸载已挂载设备
环境条件
已安装autofs软件包,启动autofs服务
配置有监控目录(挂载点的父目录),设备挂载策略
Autofs按需挂载
主配置文件/etc/auto.master
监控目录设备挂载策略文件
3.autofs挂载策略
挂载策略文件,比如/etc/auto.misc
挂载点目录名 挂载参数 目标主机IP:共享目录
客户端实现NFS自动挂载共享目录192.168.100.100:/ceshi 到 本地 /share/nfs/
安装软件:autofs
修改配置文件/etc/auto.master
最后一行: /share /etc/auto.misc(策略文件)
修改策略文件:/etc/misc
添加一行: nfs -fstype=nfs4 192.168.100.100:/ceshi
重启服务:autofs
测试方式:df –Ht 查看共享目录是否挂载 切换到/share/nfs后 再查看共享目录是否挂载,挂载成功,则在恒明服务配置正确生效
任务一:公司现在计划搭建一台NFS服务器,服务器的IP地址为192.168.10.254,要求如下所示:
- 共享文件夹/nfs/market 可以共子网192.168.185.0/24的客户端访问,具有读写功能,其他子网只能读取
- 共享文件夹/nfs/sales 只允许IP为192.168.16.20的主机访问,可以读写
- 共享文件夹/nfs/root,允许Lenovo.com这个域中的所有客户端访问,只有读的权限,但是不将root用户映射为匿名用户
- 共享目录/share/cdrom,网段为192.168.10.0/24的子网中的用户均具有读写权限
- 配置10网段中主机自动挂载
任务二、构建一台NFS服务器,并按照以下要求配置输出目录
(1)开放/nfs/shared目录,使所有用户都可以查看其中的资料/nfs/shared *(ro)
(2)开放/nfs/upload目录,作为192.168.10.0/24网段的主机可以上传目录,并将所有的用户及所属的用户组都映射为upload用户,其UID为210,GID为210
创建用户:useradd -u 210 upload
/nfs/upload 192.168.10.0/24(tw,anonuid=210)
(3)将/home/tom目录共享给192.168.10.20这个主机,并且只有root用户可以访问这个目录
Chmod 700 /home/tom
Chown root.root /home/tom
/home/tom 192.168.10.20(ro,no_root_squash)
(4)使用客户端主机挂载连接访问nfs上的共享资源。
任务三:现在企业内部有一台NFS服务器,IP为192.168.10.254,存在一个linux客户端,IP为192.168.10.100,现在根据企业实际生产需求,需要进行如下配置:
- 将/root 目录共享给192.168.10.100,客户端对共享目录可读写,并采用同步方式传输数据,允许客户端以root用户访问
- 将/usr/src目录共享给192.168.10.0/24网段的主机,客户端可读可写,但是不能删除文件,并采用一步方式传输数据。
- 在以上要求的基础上实现客户端的所有用户身份都映射为匿名用户