欢迎来到战五渣的博客

人生三重境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

配置一个简单的nfs

一、 服务端配置

1.1 安装包

服务端基本环境Centos6.5

[root@node1 ~]# yum -y install nfs-utils rpcbind

[root@node1 ~]# rpm -qa | grep "rpcbind"

rpcbind-0.2.0-16.el6.x86_64

[root@node1 ~]# rpm -qa | grep "nfs"

nfs-utils-lib-1.1.5-13.el6.x86_64

nfs-utils-1.2.3-78.el6_10.1.x86_64

1.2 配置文件

[root@node1 ~]# vim /etc/exports

/home/data/sharedir  客户端IP(rw,sync,no_root_squash)

1.3 选项介绍

NFS主要有3类选项:

访问权限选项
设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

 

1.4 配置防火墙

[root@web-01 ~]# rpcinfo -p > nfs.txt

[root@node1 ~]# vim nfs.txt

program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  40657  mountd
    100005    1   tcp  46458  mountd
    100005    2   udp  52413  mountd
    100005    2   tcp  53785  mountd
    100005    3   udp  60260  mountd
    100005    3   tcp  44574  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  44067  nlockmgr
    100021    3   udp  44067  nlockmgr
    100021    4   udp  44067  nlockmgr
    100021    1   tcp  44186  nlockmgr
    100021    3   tcp  44186  nlockmgr
    100021    4   tcp  44186  nlockmgr  

[root@node1 ~]# tail -n +2  nfs.txt |awk '{print $3,$4}'|sort -u

tcp 111
tcp 2049
tcp 44186
tcp 44574
tcp 46458
tcp 53785
udp 111
udp 2049
udp 40657
udp 44067
udp 52413
udp 60260

配置防火墙

-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 44186 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 44574 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 46458 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53785 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 40657 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 44076 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 52413 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 60260  -j ACCEPT

1.5 启动服务

[root@node1 ~]# service rpcbind  restart

[root@node1 ~]# service nfs  restart

[root@node1 ~]# service iptables  restart

二、 客户端挂载

2.1 安装nfs

[root@test ~]#  yum install -y nfs-utils

[root@test ~]# cd /

[root@test /]# mkdir   sharedir

[root@test /]# systemctl  restart  nfs

[root@test /]# showmount -e 服务端IP

2.2 挂载

[root@test /]# mount -t nfs  服务端IP:/home/data/sharedir   /sharedir

也可以写进/etc/fstab实现开机挂载

[root@test /]# df -hT

服务端IP:/home/data/sharedir nfs4      110G   39G   67G  37% /sharedir

成功 

 

posted @ 2019-04-05 23:16  梦中泪  阅读(469)  评论(0编辑  收藏  举报