Centos7-NFS服务配置实战

来源:互联网 发布:linux网络运维 编辑:程序博客网 时间:2024/05/17 18:13

NFS简介

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件 运行模式:C/S 模式 端口:CentOS7以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接
测试环境:Matser:192.168.30.128
                  Client:192.168.30.141
一、配置NFS Master
1)首先关闭selinux&firewalld
# cat /etc/sysconfig/selinux # This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#     enforcing - SELinux security policy is enforced.#     permissive - SELinux prints warnings instead of enforcing.#     disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of three two values:#     targeted - Targeted processes are protected,#     minimum - Modification of targeted policy. Only selected processes are protected. #     mls - Multi Level Security protection.SELINUXTYPE=targeted 

# systemctl stop firewalld.service [root@yankerp ~]# firewall-cmd --statenot running
2)配置NFS
查看并启动rpcbind以及NFS服务,然后加入开机自启
# systemctl status rpcbind ● rpcbind.service - RPC bind service   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled)   Active: inactive (dead)[root@yankerp ~]# systemctl start rpcbind# systemctl start nfs
# systemctl status nfs● nfs-server.service - NFS server and services   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)   Active: active (exited) since 二 2017-10-03 02:04:15 CST; 3s ago  Process: 5871 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)  Process: 5868 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)  Process: 5866 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)  Process: 5921 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)  Process: 5916 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS)  Process: 5913 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 5921 (code=exited, status=0/SUCCESS)   CGroup: /system.slice/nfs-server.service10月 03 02:04:15 yankerp systemd[1]: Starting NFS server and services...10月 03 02:04:15 yankerp systemd[1]: Started NFS server and services.
3)设置nfs&rpcbind开机自启动
# chkconfig nfs on注意:正在将请求转发到“systemctl enable nfs.service”。[root@yankerp ~]# chkconfig rpcbind on注意:正在将请求转发到“systemctl enable rpcbind.service”。
4)创建要共享的文件,并授权
# mkdir /sharedata[root@yankerp ~]# ls -ld /sharedata/drwxr-xr-x. 2 root root 6 10月  3 02:08 /sharedata/[root@yankerp ~]# touch /sharedata/yan.txt[root@yankerp ~]# echo "This is a yankerp" > /sharedata/yan.txtchown -R nfsnobody.nfsnobody /sharedata/[root@yankerp ~]# ls -ld /sharedata/drwxr-xr-x. 2 nfsnobody nfsnobody 21 10月  3 02:08 /sharedata/
注意:由于在NFS服务器端要把共享的NFS目录赋予NFS默认用户nfsnobody用户和用户组权限,如果不设置这个权限,会导致NFS客户端访问时无法通过NFS本地共享目录权限写入数据。
5)写入配置文件
# echo "/sharedata 192.168.30.142/24(rw,sync)" > /etc/exports[root@yankerp ~]# tail /etc/exports/sharedata 192.168.30.142/24(rw,sync)

写入后重新加载配置文件,立即生效
# exportfs -rvexporting 192.168.30.142/24:/sharedata
随后在master上查看挂载情况
# showmount -e  localhostExport list for localhost:/sharedata 192.168.30.142/24
查看nfs server配置文件参数
# cat /var/lib/nfs/etab /sharedata      192.168.30.142/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,root_squash,no_all_squash)
rw  在NFS卷上同时允许读取和写入请求。
ro  在NFS卷上只允许读取请求。
sync    只有在更改已提交到稳定存储后才会对请求进行回复。 (默认)
async   此选项允许NFS服务器违反NFS协议并在该请求所做的任何更改已提交到稳定存储器之前对请求进行回复。
secure  此选项要求请求源自小于IPPORT_RESERVED(1024)的Internet端口。 (默认)
insecure    此选项接受所有端口。
wdelay  如果其怀疑另一个相关的写入请求可能正在进行或可能很快到达,则延迟向磁盘提交写入请求。 (默认)
no_wdelay   如果同时设置了异步,此选项不起作用。如果NFS服务器怀疑另一个相关的写入请求可能正在进行或可能很快到达,则NFS服务器通常会将写入请求延迟提交给磁盘。这允许多个写入请求提交到磁盘,其中一个操作可以提高性能。如果NFS服务器主要接收小的无关请求,这种行为实际上可能会降低性能,因此no_wdelay可用于关闭它。
no_subtree_check    此选项禁用子树检查,它具有温和的安全影响,但可以提高某些情况下的可靠性
root_squash     将请求从uid / gid 0映射到匿名uid / gid。请注意,这不适用于可能同样敏感的任何其他uid或gids,例如用户bin或组工作人员。
all_squash  将所有uids和gids映射到匿名用户。用于NFS导出的公共FTP目录,新闻spool目录等。
no_all_squash   Turn off all squashing. (Default)
anonuid=UID     这些选项显式设置匿名帐户的uid和gid。此选项主要适用于PC / NFS客户端,您可能希望所有请求显示为来自一个用户。
6)把我们共享文件挂载到本地服务端
# mount -t nfs 192.168.30.128:/sharedata/ /mnt/[root@yankerp ~]# df -h文件系统                   容量  已用  可用 已用% 挂载点/dev/sda3                   38G  4.2G   34G   12% /devtmpfs                   474M     0  474M    0% /devtmpfs                      489M  144K  489M    1% /dev/shmtmpfs                      489M  7.1M  482M    2% /runtmpfs                      489M     0  489M    0% /sys/fs/cgroup/dev/sda1                  497M  162M  336M   33% /boottmpfs                       98M   32K   98M    1% /run/user/0/dev/sr0                   4.1G  4.1G     0  100% /run/media/root/CentOS 7 x86_64192.168.30.128:/sharedata   38G  4.2G   34G   12% /mnt
现在master配置已经完成
二、Client配置
1)安装rpcbind
#yum install rpcbind -y# rpm -qa rpcbindrpcbind-0.2.0-12.el6.x86_64
启动rpc服务nfs不需要启动
# systemctl start rpcbind[root@yankerp ~]# systemctl status rpcbind● rpcbind.service - RPC bind service   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled)   Active: active (running) since 二 2017-10-03 02:27:00 CST; 11s ago  Process: 42005 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS) Main PID: 42006 (rpcbind)   CGroup: /system.slice/rpcbind.service           └─42006 /sbin/rpcbind -w10月 03 02:27:00 yankerp systemd[1]: Starting RPC bind service...10月 03 02:27:00 yankerp systemd[1]: Started RPC bind service.
2)查看master服务器共享的文件
# showmount -e 192.168.30.128Export list for 192.168.30.128:/sharedata 192.168.30.142/24

这时候我们已经看到了master共享的文件
3)挂载到client上
# mount -t nfs 192.168.30.128:/sharedata /mnt[root@yankerp ~]# cd /mnt/[root@yankerp mnt]# lsyan.txt[root@yankerp mnt]# cat yan.txt This is a yankerp

这时候我们发现已经看到了master共享的文件 我们现在是有写入权限的,我们在client上写一个文件,再去master服务器中查看
# lsyan.txt[root@yankerp mnt]# touch yankerp.txt[root@yankerp mnt]# echo "祝大家国庆快乐~" > yankerp.txt [root@yankerp mnt]# cat yankerp.txt 祝大家国庆快乐~
这时候我们写入了一个文件,随后master查看。


希望对您有所帮助,再见~









原创粉丝点击