1,NFS服务器的安装
在CentOS系统中,默认情况下已经安装了NFS文件系统,如果没有安装就需要手工安装了
#rpm –q nfs-utils portmap
2, 查看NFS是否启动
#service nfs starus #service portmap status
3,启动NFS
#service nfs start #service portmap status
4,修改NFS系统配置文件
#vim /etc/exports
/home/yaronli/nfs_space *(sync,rw)
解释说明:
/home/yaronli/nfs_space:共享目录名
*:表示所有主机都可以连接改NFS
(sync,rw):设置选项
sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项 ro:设置输出的共享目录只读,与rw不能共同使用 rw:设置输出的共享目录可读写,与ro不能共同使用
exports文件中“客户端主机地址”字段可以使用多种形式表示主机地址
192.168.152.13 指定IP地址的主机 nfsclient.test.com 指定域名的主机 192.168.1.0/24 指定网段中的所有主机 *.test.com 指定域下的所有主机 * 所有主机
5,生效配置文件
命令#exportfs –rv 可以让新设置的exports文件内容生效
以上是Server端的配置步骤
Client端的配置步骤如下:
1,直接mount到nfs server即可
# mount -t nfs 10.60.1.91:/home/yangguang/nfs_space /mnt/ 说明: 10.60.1.91:是nfs server的ip地址 /home/yangguang/nfs_space: 是nfs server中的共享目录 /mnt:为本地的目录
执行成功后,即可在/mnt目录中看到nfs server 挂载的内容
2,卸载已经挂载的nfs共享目录
#umount /mnt/
常见问题:
>: mount -o nolock 10.78.28.103:/usr/n300 /mnt
mount: RPC: Unable to receive; errno = No route to host
mount: nfsmount failed: Bad file descriptor
mount: Mounting 10.78.28.103:/usr/n300 on /mnt failed: Bad file descriptor
如果有上面类似错误,有可能是如下原因
a:先ping客户端能否连通服务器ip
RPC: Unable to receive; errno = No route to host 的原因
b:nfs服务器是否有防火墙屏蔽了对应端口
c:/etc/hosts.deny /etc/hosts.allow 是否屏蔽了客户端ip
Bad file descriptor的原因
d:/etc/exports配置有问题,确保文件中的"()"是英文的,如果你从其他地方copy有可能 出现如上问题
解决办法:
[root@localhost n300]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
[root@localhost n300]# service iptables status
Firewall is stopped.
[root@localhost n300]# cat /etc/hosts
hosts hosts.allow hosts.deny
[root@localhost n300]# cat /etc/hosts.deny
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
[root@localhost n300]# cat /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
[root@localhost n300]#
5: 解决上面问题后应该可以正确的mount了
>: mount -o nolock 10.78.28.103:/usr /mnt
mount: 10.78.28.103:/usr failed, reason given by server: Permission denied #还是有错,iptable在作怪
mount: nfsmount failed: Bad file descriptor
mount: Mounting 10.78.28.103:/usr on /mnt failed: Bad file descriptor
>:
>:
>:####自给解决上面的错误
>:
>: mount -o nolock 10.78.28.103:/usr/n300 /mnt ##正确了
>:
>:
>: df
Filesystem Size Used Available Use% Mounted on
/dev/root 6.6M 6.6M 0 100% /
/dev/mtdblock/5 1.0M 68.0k 956.0k 7% /info
/dev/mtdblock/6 42.0M 3.3M 38.7M 8% /apps
/dev/mtdblock/7 5.0M 196.0k 4.8M 4% /logs
10.78.28.218:/home/webserver 8.4G 7.2G 780.8M 90% /tmp/mnt
10.78.28.103:/usr/n300 9.6G 6.7G 2.4G 73% /mnt
常用命令:
显示当前主机中NFS服务器的输出列表 # showmount -e 显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录 # showmount -d 显示NFS服务器的输出 # showmount -e 10.60.1.91