CentOS7部署NFS服务

2019-05-26 09:40:20 浏览数 (1)

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://cloud.tencent.com/developer/article/1434707

1、NFS简介

  • NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件 运行模式: C/S 模式 端口:CentOS7以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接

2、配置NFS服务

  • 配置NFS服务器以共享网络上的目录,本实验​基于以下环境: ———————- | ———————- | NFS Server |10.1.1.56 | 10.1.1.53| NFS Client | | vdevops.org ———- ———- linuxprobe.org | ———————- ———————-

3、配置NFS SERVER

代码语言:javascript复制
[root@vdevops ~]# yum -y install nfs-utils
[root@vdevops ~]# vi /etc/idmapd.conf

 - # line 5: uncomment and change to your domain name
Domain = vdevops.org
[root@vdevops ~]# vi /etc/exports
 - # write settings for NFS exports
/home 10.1.1.0/24(rw,no_root_squash)
[root@vdevops ~]# systemctl start rpcbind nfs-server
[root@vdevops ~]# systemctl enable rpcbind nfs-server 
[root@vdevops ~]# showmount -e    #查看NFS共享的目录
Export list for vdevops.org:
/home 10.1.1.0/24
 - 防火墙开启情况下,做如下配置

[root@vdevops ~]# firewall-cmd --add-service=nfs --permanent
success
[root@vdevops ~]# firewall-cmd --reload
success 
  • Option Description
代码语言:javascript复制
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客户端,您可能希望所有请求显示为来自一个用户。例如,在下面的示例部分中考虑/ home / joe的导出条目,它将所有请求映射到uid 150。

4、配置NFS Client

  • 实验环境和NFS Server相同
代码语言:javascript复制
[root@linuxprobe ~]# yum -y install nfs-utils
[root@linuxprobe ~]# vi /etc/idmapd.conf
-- line 5: 取消注释,改变域名
Domain = vdevops.org
[root@linuxprobe ~]# systemctl start rpcbind
[root@linuxprobe ~]# systemctl enable rpcbind
[root@linuxprobe ~]# showmount -e vdevops.org    #查看NFS Server共享的目录,记得本地hosts配置域名解析
Export list for vdevops.org:
/home 10.1.1.0/24
[root@linuxprobe ~]# mount -t nfs vdevops.org:/home /home
[root@linuxprobe ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        18G  4.4G   14G  25% /
devtmpfs                devtmpfs  483M     0  483M   0% /dev
tmpfs                   tmpfs     493M  100K  493M   1% /dev/shm
tmpfs                   tmpfs     493M   13M  480M   3% /run
tmpfs                   tmpfs     493M     0  493M   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  125M  373M  26% /boot
tmpfs                   tmpfs      99M   52K   99M   1% /run/user/0
/dev/sr0                iso9660   4.1G  4.1G     0 100% /run/media/root/CentOS 7 x86_64
vdevops.org:/home       nfs4       18G  1.4G   17G   8% /home
  • –配置NFS开机自动挂载
代码语言:javascript复制
[root@linuxprobe ~]# cat "vdevops.org:/home  /home                   nfs     defaults        0 0" >> /etc/fstab 
--配置自动安装。例如,在/mntdir上设置NFS目录。
[root@linuxprobe ~]# yum -y install autofs
[root@linuxprobe ~]# vi /etc/auto.master
--add follows to the end
/-    /etc/auto.mount
[root@linuxprobe ~]# vi /etc/auto.mount     #此文件默认不存在,需新建
--create new : [mount point] [option] [location]
/mntdir -fstype=nfs,rw  dlp.srv.world:/home
[root@linuxprobe ~]# mkdir /mntdir
[root@linuxprobe ~]# systemctl start autofs
[root@linuxprobe ~]# systemctl enable autofs
--启动到挂载点确认是否挂载成功
[root@linuxprobe ~]# cd /mntdir 
[root@linuxprobe mntdir]# ls
shaon  testuser  wang
[root@linuxprobe mntdir]# ll
total 0
drwx------. 2 shaon shaon 59 Oct 26 01:02 shaon
drwx------. 2  1002  1003 59 Oct 26 20:19 testuser
drwx------. 3 wang  wang  90 Oct 26 15:39 wang
[root@linuxprobe mntdir]# cat /proc/mounts | grep mntdir
/etc/auto.mount /mntdir autofs rw,relatime,fd=18,pgrp=48875,timeout=300,minproto=5,maxproto=5,direct 0 0
vdevops.org:/home /mntdir nfs4 rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.1.53,local_lock=none,addr=10.1.1.56 0 0
--可以看到已经挂载成功

0 人点赞