Linux ❀ RHCE自研教学笔记 - Redhat 8.2 NFS服务教研笔记
Posted 国家级干饭型选手°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ❀ RHCE自研教学笔记 - Redhat 8.2 NFS服务教研笔记相关的知识,希望对你有一定的参考价值。
NFS - Network File System 网络文件系统:允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问;
NFS的工作原理是使用客户端/服务器架构,由一个客户端程序和服务器程序组成;服务器程序向其他计算机提供对文件系统的访问,其过程称为输出;NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器中“输送”出来;文件通常以块为单位进行传输,其大小是8KB(虽然它可能会将操作分成更小尺寸的分片);NFS传输协议用于服务器和客户机之间文件访问和共享的通信,从而使客户机远程地访问保存在存储设备上的数据;基于UDP协议运行;
1、安装服务
[root@localhost ~]# dnf install -y rpcbind
Complete!
[root@localhost ~]# dnf install -y nfs-utils
Complete!
rpcbind是rpc的一个服务,主要是负责通知客户端NFS服务器相关端口号的,为中介服务;
[root@localhost ~]# rpm -qa rpcbind
rpcbind-1.2.5-7.el8.x86_64
[root@localhost ~]# rpm -qa nfs-utils
nfs-utils-2.3.3-31.el8.x86_64
[root@localhost ~]# rpm -qc nfs-utils
/etc/gssproxy/24-nfs-server.conf
/etc/modprobe.d/lockd.conf
/etc/nfs.conf
/etc/nfsmount.conf
/etc/request-key.d/id_resolver.conf
/var/lib/nfs/etab /记录共享目录的权限;
/var/lib/nfs/rmtab
/etc/exports /主配置文件(不存在,需要自己创建);
2、服务配置
(1)配置只读NFS服务
[root@localhost ~]# vim /etc/exports
/nfs/share 192.168.14.0/24(ro)
#共享目录 登录IP范围 (共享权限)
* 参数说明
- rw:对共享目录具有读写权限(最终读写取决于文件权限是否具有rwx);
- ro:对共享目录具有只读权限;
- sync:数据会同步写入到内存与磁盘中;
- async:数据会暂时存储在内存中,而非直接写入磁盘;
- root_squash:客户端使用root访问共享目录时,将root用户的所属用户和所属组映射为匿名用户和组;
- no_root_squash:不映射root用户的所属用户和所属组;
- all_squash:客户端使用任何用户访问共享目录时,将访问用户的所属用户和所属组映射为匿名用户和组;
- no_all_squash:所有用户不映射所属用户和所属组;
- anonuid=:指定客户端上的访问用户映射为本地用户的UID(默认为65534);
- anongid=:指定客户端上的访问用户映射为本地用户的GID(默认为65534);
- Insecure:允许从某个客户端的访问用户非授权访问;
- subtree_check:如果共享/usr/bin类的子目录时,强制服务器检查父目录的权限(默认);
- no_subtree_check:不检查父目录权限;
- wdelay:如果多个用户要写入NFS目录,则归组写入(默认);
- no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置;
- hide:在共享目录中不共享其子目录;
- no_hide:共享其子目录;
- secure:NFS通过1024以下的安全TCP/IP端口发送;
- insecure:NFS通过1024以上的端口发送;
[root@localhost ~]# cat /etc/passwd | grep nobody
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin /内核溢出用户;
[root@localhost ~]# mkdir -pv /nfs/share /创建共享目录,注意权限;
[root@localhost ~]# ls -dl /nfs/share/
drwxr-xr-x. 2 root root 6 Jan 17 17:21 /nfs/share/
[root@localhost ~]# systemctl restart rpcbind.service
[root@localhost ~]# systemctl restart nfs-server
[root@localhost ~]# showmount -e 192.168.14.131 /查看NFS服务器的共享列表;
Export list for 192.168.14.131:
/nfs/share 192.168.14.0/24
- -a:以Host:Directory这样的格式来显示客户主机名和挂载点目录;
- -d:仅显示被客户挂载的目录名;
- -e:显示NFS服务器的输出清单;
[root@localhost ~]# mount 192.168.14.131:/nfs/share /medie /挂载共享文件到本地目录;
[root@redhat8 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
192.168.14.131:/nfs/share nfs4 18G 4.7G 14G 27% /media
[root@localhost ~]# cd /nfs/share/
[root@localhost share]# touch file1
[root@localhost share]# touch file2
[root@localhost ~]# cd /media
[root@localhost media]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 29 14:24 file1
-rw-r--r--. 1 root root 0 Aug 29 14:24 file2
(2)配置读写NFS服务
[root@localhost ~]# vim /etc/exports
/nfs/share 192.168.14.0/24(rw)
[root@localhost share]# chmod o+rwx /nfs/share/ /注意文件权限,有则不加;
[root@localhost share]# ll /nfs/
total 0
drwxr-xrwx. 2 root root 58 Aug 29 14:54 share
[root@localhost share]# exportfs -ra /重新读取exports文件下的所有共享文件;
- -a:全部挂载或者全部卸载;
- -r:重新挂载;
- -u:卸载某一个目录;
[root@localhost media]# touch file3
[root@localhost media]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 29 14:24 file1
-rw-r--r--. 1 root root 0 Aug 29 14:24 file2
-rw-r--r--. 1 nobody nobody 0 Aug 29 14:26 file3
[root@localhost share]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 29 14:24 file1
-rw-r--r--. 1 root root 0 Aug 29 14:24 file2
-rw-r--r--. 1 nobody nobody 0 Aug 29 14:26 file3
(3)客户端配置autofs自动挂载
[root@localhost ~]# dnf install -y autofs
Complete!
[root@localhost ~]# rpm -qc autofs
/etc/auto.master /自动挂载配置文件;
/etc/auto.misc
/etc/auto.net
/etc/auto.smb
/etc/autofs.conf
/etc/autofs_ldap_auth.conf
/etc/sysconfig/autofs /主配置文件;
/usr/lib/systemd/system/autofs.service
[root@localhost ~]# vim /etc/auto.master
/nfs /etc/auto.nfs
#检测目录为 /nfs,该文件不需要存在,autofs可以自动创建该目录;
#对应的数据文件是 /etc/auto.nfs,名称可以自行定义;
[root@localhost ~]# vim /etc/auto.nfs
guazai -ro 192.168.14.131:/data
[root@localhost ~]# vim /etc/exports
/data *(ro)
[root@localhost ~]# mkdir /data
[root@localhost ~]# echo this is zxc > /data/file1
[root@localhost ~]# systemctl restart rpcbind
[root@localhost ~]# systemctl restart nfs-utils.service
[root@localhost ~]# systemctl restart autofs
[root@localhost ~]# mount | grep /nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
/etc/auto.nfs on /nfs type autofs
(rw,relatime,fd=12,pgrp=33359,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=93241)
(4)配置autofs自动离线
[root@localhost ~]# vim /etc/autofs.conf
15 TIMEOUT=3 /修改自动离线时间,默认时间为300s;
[root@localhost ~]# systemctl restart autofs
以上是关于Linux ❀ RHCE自研教学笔记 - Redhat 8.2 NFS服务教研笔记的主要内容,如果未能解决你的问题,请参考以下文章
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SFTP服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SFTP服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Nmcli服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Nmcli服务教研笔记