nfs设置:
NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容:
/home/cotton/data/cotton/zghy 192.168.2.*(rw,sync,no_root_squash)
建立相应的目录
客户端:
建立相应的目录,
挂载:mount -t nfs 192.168.99.55:/home/cotton/data/cotton/zghy /home/cotton/data/cotton/zghy
测试:
showmount –e IP 显示指定NFS服务器上的共享目录列表(或者叫输出列表)
现象:NFS安装之后,客户端访问服务器报No route to host错误,关闭服务端防火墙后成功。分析:防火墙限制了客户端的访问解决:由于NFS会开启mountd,nfs,nlockmgr,portmapper,rquotad五个服务,其中nfs 和 portmapper为固定端口,所以要在防火墙设置,首先要固定其余三个服务的端口。
1- 修改vi /etc/sysconfig/nfs,寻找如下关键字并修改解注:
RQUOTAD_PORT=30001 LOCKD_TCPPORT=30002 LOCKD_UDPPORT=30002 MOUNTD_PORT=30003 STATD_PORT=30004
2- 设置防火墙,增加如下命令:
-A INPUT -p tcp --dport 111 -j ACCEPT-A INPUT -p udp --dport 111 -j ACCEPT-A INPUT -p tcp --dport 2049 -j ACCEPT-A INPUT -p udp --dport 2049 -j ACCEPT-A INPUT -p tcp --dport 30001:30004 -j ACCEPT-A INPUT -p udp --dport 30001:30004 -j ACCEPT
注意放置于原有同样命令之下
3- 设置SELINIX,编辑/etc/selinux/config
SELINUX=enforcing替换为SELINUX=permissive
保存上述文件之后,运行以下命令:setenforce 0
这步可能会报错:setenforce: SELinux is disabled
重启一下服务器再执行
3-重启nfs和iptables服务
service nfs restartservice rpcbind restartservice iptables restart
从客户端访问服务器报错,提示:clnt_create: RPC: Program not registered
解决办法:在服务器上先停止rpcbind,
/etc/init.d/rpcbind stop
然后在停止nfs
/etc/init.d/nfs stop
最后在重启rpcbind和nfs,一定要按顺序启动和停止
/etc/init.d/rpcbind start
/etc/init.d/nfs start
做完这个动作之后,访问成功
4.nfs客户端开机自动挂载
第一种方法:
- /etc/fstab里添加
- server_IP:/remote_dir /local_dir nfs defaults 1 1
第1个1表示备份文件系统,第2个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。第二种方法:将手动挂载命令加入到/etc/rc.local中.
注意事项:生产环境中一般不将其挂载信息写入fstab中,因为开机启动时,网络连接不上nfs server的话,可能会导致客户端主机无法启动过不了fstab这项,可以将其放到/etc/rc.local中来实现开机自动挂载,但也有可能重启nfs客户端后挂载不成功.
5.nfs卸载
umount /data 退出挂载目录再卸载,否则可能会出现device is busyumount -lf /data 强制卸载 或fuse -k /data补充:/etc/fstab就是利用mount进行挂载时,将所有的选项与参数写入到这个文件中。
1. /dev/xvda1 / ext3 defaults 1 1
2. /dev/xvda3 /var ext3 defaults 1 2
3. /dev/xvda2 swap swap defaults 0 0
4. …
第一栏:磁盘设备文件名或该设备的label 第二栏:挂载点mount point 第三栏:文件系统 第四栏:文件系统参数 部分参数说明:
- async/sync 异步/同步 设定磁盘是否以异步方式运作!预定为 async(效能较佳)
- auto/noauto 自动/非自动 当下达mount -a时,此文件系统是否会被主动测试挂载,预设为auto
- rw/ro 读写/只读权限
- exec/noexec 可执行/不可执行权限
- user/nouser 是否允许一般身份的用户使用mount来挂载,默认nouser。因为不安全。
- 允不允许使用者挂载
- suid/nosuid 具有/不具有suid权限 该文件是否允许SUID的存在?一般挂载的数据无此需求,可以取消
- usrquota 在启动 filesystem 支持磁盘配额模式,
- grpquota 启动 filesystem 对群组磁盘配额模式的支持
- defaults 同时具有 rw, suid, dev, exec, auto, nouser, async 等参数。 基本上,预设情况使用 defaults 设定即可!