nfs配置以及System Error No route to host解决

1、开启portmap和nfs服务

     service portmap start

     service nfs start

2、将要共享的目录写到exports文件中 假设共享的目录为 /sharedisk/

     vim /etc/exports

     在exports文件中添加

     /sharedisk    192.168.0.0(rw,no_root_squash,async)

     #表示将/sharedisk这个目录共享给192.168.0.*这些客户机,括号中的参数设置意义为:

     ro                          该主机对该共享目录有只读权限
     rw                         该主机对该共享目录有读写权限
     root_squash         客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
     no_root_squash   客户机用root访问该共享文件夹时,不映射root用户
     all_squash            客户机上的任何用户访问该共享目录时都映射成匿名用户
     anonuid                将客户机上的用户映射成指定的本地用户ID的用户
     anongid                将客户机上的用户映射成属于指定的本地用户组ID
     sync                      资料同步写入到内存与硬盘中
     async                    资料会先暂存于内存中,而非直接写入硬盘
     insecure                允许从这台机器过来的非授权访问

3、重启nfs 或者使用exportfs命令使设置生效

     重启nfs:

     service nfs restart

     用exportfs

     exportfs -rv

     #exportfs用法

     -a :全部mount或者unmount /etc/exports中的内容 
     -r :重新mount /etc/exports中分享出来的目录
     -u :umount 目录
     -v :将详细的信息输出到屏幕上

这样nfs的服务器端就设置好了。

4、在客户端挂载该目录:

     在本地创建挂载的目录

     mkdir /sharedisk

     mount -t nfs 192.168.0.10:/sharedisk  /sharedisk

     #将服务器192.168.0.10上的/sharedisk/ 路径挂载到本地

此时,如果服务器端的防火墙有开着的话,将会提示错误,如:

     mount: mount to NFS server '192.168.1.100' failed: System Error: No route to host.

解决方案:


修改/etc/init.d/netfs在

[ ! -f /var/lock/subsys/portmap ] && service portmap start
action $”Mounting NFS filesystems: ” mount -a -t nfs,nfs4

之间加上下面一行

action $”Sleeping for 30 secs: ” sleep 30


保存后,再测试,OK,你可以需要根据实际的环境来测试,不过30秒基本上能满足需求了。

如果你能在系统日志中看到类似下面的信息,那表示一切正常


kernel: bnx2: eth0 NIC Link is Up, 1000 Mbps full duplex
netfs: Sleeping for 30 secs: succeeded
netfs: Mounting NFS filesystems: succeeded

你可能感兴趣的:(linuxC语言学习)