centos6.5中配置nfs服务器
1.nfs服务器的配置 环境:centos 6.7
首先安装nfs套件:
yum install nfs-utils.x86_64(64位系统)
yum install nfs-utils(32位系统)
yum install rpcbind
建立nfs的目录
mkdir –p /mnt/nfs
touch /mnt/nfs/test
配置nfs服务器的:
vim /etc/exports
加入下列语句:
/mnt/nfs (rw,insecure,no_root_squash,no_all_squash)
上面的意思是说nfs共享的路径为/mnt/nfs。(rw,insecure,no_root_squash,no_all_squash)表示权限。我给的是全部的权限!
重新启动nfs服务。
/etc/init.d/rpcbind start
/etc/init.d/nfs start
至此nfs服务应该能用了。
执行
showmount –e
显示
[root@Ideapadbz ~]# showmount -e 192.168.0.46
Export list for 192.168.0.46:
/mnt/nfs (everyone)
可以看到服务器能用了!
在本机上挂载或者局域网上的另一台linux挂载:
mount -t nfs 192.168.0.46:/mnt/nfs /opt/centos6/
ls /opt/centos6/
test
可以看到文件test了!
2.nfs服务器的优化
(1)设置nfs功能的开机自启 执行ntsysv命令,可以在图形化的界面中设置nfs的开机选项:
文章图片
在 nfs和rpcbind前面加上*号,同时将nfslock前面的*去掉!
也可以执行:
chkconfig nfs on
【centos6.5中配置nfs服务器】chkconfig rpcbind on
来开启nfs的开机自启。
(2)防火墙的设置
因为我需要在开发板上挂载centos中的nfs,就需要关闭centos的防火墙,不然会出现no route to host的错误。
nfs用到五个服务: portmapper nfs rquotad nlockmgr mountd
其中nfs和 portmapper的端口号是固定。但是其他三个的端口号是随机的。但是防火墙的设置时需要使用固定的端口号,于是需要把另外的三个端口号也设置成固定。
法一:
临时性将防火墙关掉:
执行命令:service iptables stop
或者永久性关闭:执行chkconfig iptables off或者通过前面的图形化选项来关闭,将iptables前面的*号去掉
法二:(只关闭掉防火墙中对nfs的限制,推荐用这个方法!)
配置/etc/sysconfig/nfs
vim /etc/sysconfig/nfs
将下列几项前面的#号去掉
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
重启nfs服务器:service nfs restart
执行命令:rpcinfo –p
[root@Ideapadbz ~]# rpcinfo -p
program vers protoportservice
1000004tcp111portmapper
1000003tcp111portmapper
1000002tcp111portmapper
1000004udp111portmapper
1000003udp111portmapper
1000002udp111portmapper
1000111udp875rquotad
1000112udp875rquotad
1000111tcp875rquotad
1000112tcp875rquotad
1000051udp892mountd
1000051tcp892mountd
1000052udp892mountd
1000052tcp892mountd
1000053udp892mountd
1000053tcp892mountd
1000032tcp2049nfs
1000033tcp2049nfs
1000034tcp2049nfs
1002272tcp2049nfs_acl
1002273tcp2049nfs_acl
1000032udp2049nfs
1000033udp2049nfs
1000034udp2049nfs
1002272udp2049nfs_acl
1002273udp2049nfs_acl
1000211udp32769nlockmgr
1000213udp32769nlockmgr
1000214udp32769nlockmgr
1000211tcp32803nlockmgr
1000213tcp32803nlockmgr
1000214tcp32803nlockmgr
可以看到相关的服务的端口号已经变成了,我们上面更改的。
有了端口号就可以在防火墙中将相关的端口号设置成允许,nfs就可以很好的使用了。
修改防火墙:
[root@Ideapadbz ~]# vim /etc/sysconfig/iptables
加入如下的语句:
-A INPUT -s 192.168.0.0/16 -p tcp--dport 111 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p tcp--dport 875 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p tcp--dport 2049 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p tcp--dport 32769 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p tcp--dport 32803 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p tcp--dport 892 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p udp--dport 111 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p udp--dport 875 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p udp--dport 2049 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p udp--dport 32769 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p udp--dport 32803 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p udp--dport 892 -j ACCEPT
保存退出。
启动开发板:
[root@Ideapad /testdir]# mount -o nolock 192.168.0.46:/mnt/nfs /testdir
[root@Ideapad /testdir]# ls /testdir
Makefileplat-button.cs3c_button.c
buildroot-2012.08plat_button.kotest_button
可以看到电脑centos中的共享文件夹/mnt/nfs挂载到了开发板上的/testdir目录下。
注:
对于方法二,还有更严谨的做法。(当然你也可以不用管我接下来的介绍了)
因为上面的做法忽视了我们设置的端口号可能centos的其他服务在用着,我们直接将端口号赋予nfs相关服务,可能影响其他的程序的运行。于是对于法二,我们可以先看看系统什么端口是空闲的。
思路:
不修改/etc/sysconfig/nfs这个文件,先开启nfs服务,这样系统就会给nfs随机分配端口号,执行rpcinfo –p就可以看到nfs相关服务被系统赋予的端口号,可以肯定这些端口号是能用的。
于是我们就不修改/etc/sysconfig/nfs这个文件了。而修改/etc/services
vim /etc/services
在文件最后添加:
mountd42288/tcp
mountd42288/udp
rquotad875/tcp
rquotad875/udp
nlockmgr41745/tcp
nlockmgr41745/udp
其中42288 875 41745是我在执行rpcinfo –p这个命令时得到的端口号。
重启nfs服务。查看端口号就会变成上面的。再在/etc/sysconfig/iptables中加入相应的语句就可以了。
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- vue-cli|vue-cli 3.x vue.config.js 配置
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募