共计 3904 个字符,预计需要花费 10 分钟才能阅读完成。
NFS(Network FileSystem):网络文件系统,主要作用是访问远程主机上的文件系统。
1. 安装 nfs 服务器
#1. 检查软件安装
[root@jiang ~]# rpm -qa | grep rpcbind
[root@jiang ~]# rpm -qa | grep nfs
#2. 安装必须软件
[root@zhu ~]# yum -y install rpcbind nfs-utils
rpcbind:rpc 程序的软件,在 CentOS5 以前软件名是 portmap,centos6 使用的是 rpcbind
nfs-utils:nfs 服务所需的软件
2. 启动 nfs
[root@zhu ~]# service rpcbind start
正在启动 rpcbind:[确定]
[root@zhu ~]# service nfs start
启动 NFS 服务:[确定]
启动 NFS mountd:[确定]
启动 NFS 守护进程:[确定]
正在启动 RPC idmapd:[确定]
3. 配置 nfs 服务器,nfs 的主配置文件是 /etc/exports,该文件若不存在时,需手动创建。
/etc/exports 文件配置语法:
[root@zhu ~]# cat /etc/exports
/root/myPython *(rw,no_root_squash) www.jiang.com(ro,no_root_squash)
/root/mysource 192.168.56.102(rw,no_root_squash)
###################################################
#1. 以行为单位,每行的第一部分,是分享出来的目录,接下来是允许访问此目录的主机以及访问的权限。
#2. 允许访问的主机可以是 ip 地址或域名,有以下几种写法:
192.168.56.102(rw,no_root_squash)
192.168.56.*(rw,no_root_squash)
*(rw,no_root_squash)
192.168.56.0/24(rw,no_root_squash)
#3. 主机后面应直接跟相应的权限。主机和 () 之间不要有空格。
权限的种类:
# 权限有下面几种:
rw:读写
ro:只读
sync:数据会同步写入到内存与硬盘中,
async:数据会先存于内存中,
root_squash:使用 nfs 时,如果用户是 root,则进行权限压缩,即把 root 用户在 nfs 上创建的文件 属组和属主修改为 nfsnobody
no_root_squash:使用 nfs 时,如果用户是 root,不进行权限压缩,即 root 用户在 nfs 上创建的文件 属组和属主仍然是 root(不安全,不建议使用)
insecure:允许客户端从大于 1024 的 TCP/IP 端口连 NFS 服务器
secure:限制客户端只能从小于 1024 的 TCP/IP 端口连接 NFS 服务器(默认设置)
# 上面这是常用的几种权限,还有其它的权限可以 man exportfs 查看
权限总结:
[root@zhu ~]# cat /etc/exports
/root/mypython *(rw,no_root_squash)
/root/mysource 192.168.56.102(rw)
/tmp *(rw)
1. 针对 nfs 服务器上的 /tmp 目录。
[root@jiang ~]# mount -t nfs 192.168.56.101:/tmp/ /root/zhuzhu/
[root@jiang ~]# cd zhuzhu/
[root@jiang zhuzhu]# ll
总用量 0
[root@jiang zhuzhu]# touch zhu.txt
[root@jiang zhuzhu]# ll
总用量 0
-rw-r–r–. 1 nfsnobody nfsnobody 0 3 月 27 2014 zhu.txt
[root@jiang zhuzhu]# su zhu
[zhu@jiang zhuzhu]$ mkdir zhu
[zhu@jiang zhuzhu]$ ll
总用量 4
drwxrwxr-x. 2 nobody nobody 4096 3 月 27 2014 zhu
-rw-r–r–. 1 nfsnobody nfsnobody 0 3 月 27 2014 zhu.txt
#1. 使用 root 用户时,由于默认是 root_squash 权限,所以 root 用户创建的文件属主会是 nfsnobody
使用 zhu 用户时,由于 nfs 服务器上并没有 zhu 用户,所以创建的文件属主为 nobody
#2. 假如 /tmp 目录对 zhu 用户没有写的权限,即使在 /etc/exports 文件中开放写权限,那么客户端的 zhu 用户仍然不能写。
###############
nfs 客户端选装的软件
yum -y install nfs-utils rpcbind
##########################################
# 与 nfs 服务器有关的指令介绍:
当重新修改了 /etc/exports 文件后,不需要重新启动 nfs 服务器,可以通过 exportfs 指令来管理。
exportfs [-avru]
-a:全部卸载或挂载 /etc/exports 文件内的内容,通常与 - r 或 - u 结合使用
-r:重新挂载 /etc/exports 文件里的内容
-u:卸载某一目录
-v:将分享的目录显示到屏幕上。
#1. 重新挂载 /etc/exports 内的设定
[root@zhu ~]# exportfs -arv
exporting 192.168.56.102:/root/mysource
exporting *:/tmp
exporting *:/root/mypython
此时在客户端可以挂载在 nfs 服务器端分享出来的目录。
[root@jiang ~]# mount -t nfs 192.168.56.101:/tmp/ zhuzhu
#2. 全部卸载在 /etc/exports 文件中的内容
[root@zhu ~]# exportfs -au
此时在客户端不能挂载成功
[root@jiang ~]# mount -t nfs 192.168.56.101:/tmp/ zhuzhu
mount.nfs: access denied by server while mounting 192.168.56.101:/tmp/
[root@zhu ~]# exportfs -ar #在服务器端重新加载
# 此时在客户端便可挂载成功
[root@jiang ~]# mount -t nfs 192.168.56.101:/tmp/ zhuzhu
#3.- v 参数还可用来查看分享的目录的默认权限
[root@zhu ~]# exportfs -v
/root/mysource 192.168.56.102(rw,wdelay,root_squash,no_subtree_check)
/root/mypython <world>(rw,wdelay,no_root_squash,no_subtree_check)
/tmp <world>(rw,wdelay,root_squash,no_subtree_check)
showmount 指令可以查看 nfs 服务器的分享信息,该指令是在客户端使用的。
showmount [-adehv] [host]
-e:显示 nfs 服务器所分享出来的目录
[root@zhu ~]# showmount -e localhost #主机地址是 localhost,所以在 nfs 服务器端执行
Export list for localhost:
/tmp *
/root/mypython *
/root/mysource 192.168.56.102
[root@jiang ~]# showmount -e 192.168.56.101 #在客户端端查看,192.168.56.101 这台机器分享出的目录
Export list for 192.168.56.101:
/tmp *
/root/mypython *
/root/mysource 192.168.56.102
相关阅读:
Ubuntu 12.04 安装 NFS server http://www.linuxidc.com/Linux/2012-09/70728.htm
NFS 服务器安装配置实现 Ubuntu 12.04 与 ARM 文件共享 http://www.linuxidc.com/Linux/2012-10/73159.htm
Ubuntu 搭建 nfs 服务器 http://www.linuxidc.com/Linux/2012-10/71930.htm
文件服务器 NFS 配置详解 http://www.linuxidc.com/Linux/2013-06/86542.htm
Ubuntu 下搭建 NFS 网络文件系统服务器 http://www.linuxidc.com/Linux/2013-07/87367.htm
Heartbeat_ldirector+LB+NFS 实现 HA 及 LB、文件共享 http://www.linuxidc.com/Linux/2013-06/85292.htm
CentOS 5.5 配置 NFS 服务器教程 http://www.linuxidc.com/Linux/2013-03/81737.htm
Ubuntu 12.10 下 NFS 的安装使用 http://www.linuxidc.com/Linux/2013-03/80478.htm