NFS 服务器配置

NFS 服务器配置
 
NFS 服务简介
NFS Network File System 的缩写,即网络文件系统。 NFS 是由 Sun 开发并发展起来的一项用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。 NFS server 也可以看作是一个 FILE SERVER, 用于在 UNIX 类系统之间共享文件,可以轻松的挂载 (mount) 到一个目录上,操作起来就像本地文件一样的方便。
 
服务器端配置
 
NFS 配置文件设置
NFS 服务的配置文件是 etc/exports
exports 文件内容格式:
< 输出目录 >  [ 客户端 1 选项(访问权限,用户映射,其他) ] [ 客户端 2 选项(访问权限,用户映射,其他) ]
/ciccdev/fmnp   192.168.193.181(rw,async)
/ciccdev/fmnp   192.168.193.182(rw,async)
1. 输出目录:
输出目录是指 NFS 系统中需要共享给客户机使用的目录;
2. 客户端:
客户端是指网络中可以访问这个 NFS 输出目录的计算机
客户端常用的指定方式
  • 指定ip地址的主机 192.168.0.200
  • 指定子网中的所有主机 192.168.0.0/24
  • 指定域名的主机 a.liusuping.com
  • 指定域中的所有主机 *.liusuping.com
  • 所有主机 *
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 限制客户端只能从小于1024tcp/ip端口连接nfs服务器(默认设置);
  • insecure 允许客户端从大于1024tcp/ip端口连接服务器;
  • sync 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
  • async 将数据先保存在内存缓冲区中,必要时才写入磁盘;加上这个参数拷贝文件时候会很快
  • wdelay 检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);
  • no_wdelay 若有写操作则立即执行,应与sync配合使用;
  • subtree 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置)
  • no_subtree 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
NFS 服务器配置实例
/nfs/public 192.168.0.0/24(rw,async) *(ro)
/nfs/frank 192.168.0.232(rw,sync)
/nfs/root *.liusuping.com(ro,no_root_squash)
/nfs/users *.liusuping.com(rw,insecure,all_squash,sync,no_wdelay)
/mnt/cdrom 192.168.0.*(ro)
         [root@linux-a ~]# chkconfig --level 35 nfs on // 设置 NFS 自动启动方式;
       客户端配置
      
查看服务器共享: showmount �Ce nfsserver
       挂载 mount -t nfs 192.168.0.231:/nfs/frank /mnt/nfs1
  卸载 umount /mnt/nfs1
         通过修改 /etc/fstab 文件可以实现开机自动挂载 nfs 目录
       192.168.0.231:/nfs/frank        /mnt/nfs1       nfs     defaults        0 0
 
常见错误
在客户端使用 mount -t nfs p470-1:/disk1 /disk1
时出现 "mount: mount to NFS server 'p470-1' failed: RPC Error: Program not registered." 错误提示。
出错原因: p470-1 由于网络原因 nfs 服务被中断,重新开启 p470-1 nfs 服务然后在客户端重新 mount disk1 即可
service nfs restart /etc/rc.d/init.d/nfs restart
 
COPY 数据到 NFS 上特别慢
async 将数据先保存在内存缓冲区中,必要时才写入磁盘;
 
 
已经允许某个 IP 或域名挂载 NFS 了,但客户端挂载时依然显示拒绝:
NFS 默认是将 IP 反解成主机名的,挂载不了一般是因为无法正确解析主机名,这时需将 IP 与主机名的对照放到服务器端的 /etc/hosts 文件中,就可以了
 
 
 
有时候开机时在 start NFS 这一步会停很长的时间,这个问题的原因是因为每次客户端 mount NFS 而又没有正 umount 后,在 /var/lib/nfs/rmtab 里会留下记录,每次 NFS 启动的时候都会去 check 以前的 IP ,如果不通,要等到 timeout 才行。我 cat rmtab 看了一下, hoho ,从上海, konka TCL Changhong 用过的 IP 都在里面记着,难怪慢的象蜗牛一样!删了后试了一下,马上就起 来了!

你可能感兴趣的:(职场,nfs,服务器配置,休闲)