[转]NFS 安装配置

阅读更多

一、NFS的安装

检查linux系统中是否安装了nfs-utils和portmap两个软件包

 

(RHEL4系统默认已经安装了这两个软件包)

命令#rpm –q nfs-utils portmap


二、查看NFS服务器是否启动

命令#service nfs starus

#service portmap status


三、如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)

命令#service nfs start

#service portmap start

 


四、指定NFS服务器的配置文件

NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享

命令#vi /etc/exports

 

格式

/home/work 192.168.0.*(rw,sync,no_root_squash)

添加的内容表示:允许ip 地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。

/home也称为服务器输出共享目录。
括号内的参数意义描述如下:
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。

 

==========================================================================================

下面是一些NFS共享的常用参数:

 

 

        ro                      只读访问 
        rw                      读写访问 
        sync                    所有数据在请求时写入共享 
        async                   NFS在写入数据前可以相应请求 
        secure                  NFS通过1024以下的安全TCP/IP端口发送 
        insecure                NFS通过1024以上的端口发送 
        wdelay                  如果多个用户要写入NFS目录,则归组写入(默认) 
        no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
        hide                    在NFS共享目录中不共享其子目录 
        no_hide                 共享NFS目录的子目录 
        subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 
        no_subtree_check        和上面相对,不检查父目录权限 
        all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
        no_all_squash           保留共享文件的UID和GID(默认) 
        root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认) 
        no_root_squas           root用户具有根目录的完全管理访问权限 
        anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID 
        anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID 

======================================================================================

 

客户端

mount -t nfs 192.168.0.12:/home/work /mnt

 

如果服务器端的防火墙有开着的话,将会提示错误,如:
mount: mount to NFS server '192.168.0.12' failed: System Error: No route to host.

mount: mount to NFS server '192.168.0.12' failed: timed out (retrying).

 

由于nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,需要将这5个服务的端口加到iptables里面。而nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口,那就需要先把这3个服务的端口设置成固定的。

查看当前这5个服务的端口并记录下来 用/usr/sbin/rpcinfo -p
这里显示 nfs 2049, portmapper 111, 将剩下的三个服务的端口随便选择一个记录下来
mountd 976
rquotad 966
nlockmgr 33993

将这3个服务的端口设置为固定端口
vim /etc/services


在文件的最后一行添加:
mountd 1011/tcp #rpc.mountd
mountd 1011/udp #rpc.mountd
rquotad 1012/tcp #rpc.rquotad
rquotad 1012/udp #rpc.rquotad
nlockmgr 33993/tcp
nlockmgr 33993/udp
保存并退出。

重启下nfs服务。 service nfs restart

设置防火墙,打开111,2049,1011,1012,33993端口的tcp和udp

 

重启防火墙。services iptables restart

 

操作后再次挂载即可。

 

原文地址:http://www.iteye.com/topic/642473

你可能感兴趣的:(nfs,linux)