NFS+AUTOFS 实验

NFS (network file system) 网络文件系统服务器

能够快速进行文件共享,方便集中管理网络

NFS 并非监听在固定端口,而是随机采用一些未被使用而且小于 1024 的端口,中间经过 RPC 协调实现互联. 而 RPC 工做在 tcp udp 的 111 端口.异步

能够经过 # rpcinfo –p localhost 查看 //rpcbind 的守护进程 //NFS 的守护进程 //NFS mountd 守护进程async

AUTOFStcp

当客户端和服务器端链接后,任何一方离线均可能致使另外一方在不断等待,消耗 NFS 服务器的资源ide

使用 autofs 就能够避免这类问题,让用户仅在访问时可以动态挂载目录测试

试验环境   CentOS版本为 6.7spa

两台虚拟主机便可,关闭防火墙\SElinx,互相能ping通命令行

本人使用的是 vmvare workstation11 . 以前一直没用克隆选项,没想到在11中关闭虚拟机完成克隆后不须要作任何更改.rest

假如原来的主机网卡为eth0.  那么克隆后的主机网卡则为eth1. 两台主机的 MAC 地址也不同. 真是方便  (木哈哈哈哈)

1)  NFS SERVER : 192.168.0.28

2)  NFS CLIENT : 192.168.0.30

首先配置 NFS SERVER

[root@beiyong2 ~]# rpm -qa nfs-utils rpcbind      
nfs-utils-1.2.3-26.el6.x86_64          # NFS 服务主程序
   
rpcbind-0.2.0-9.el6.x86_64             # Centos6.X 下为 RPC 主程序  ( Centos5.X下为 portmap )

↑ # 在 CentOS 6x 桌面版中,默认已经安装了 NFS 服务

[root@beiyong2 ~]# mkdir /shared    
[root@beiyong2 ~]# cp /etc/fstab /shared

↑ # 在 / 目录下建立 shared 目录,做为将要共享出去的目录,复制一个文件,方便后面测试是否可以成功

[root@beiyong2 ~]# /etc/init.d/rpcbind start      
[root@beiyong2 ~]# /etc/init.d/nfs start

↑ # 要想启动 NFS 服务须要启动 rpcbind 服务和 NFS 服务.因为 NFS 在启动时须要进行端口注册,因此须要注意启动程序 先启动 rpcbind 在启动 nfs    

接下来开始配置 /etc/exports 配置文件. 该文件为 NFS 的主要配置文件,可是须要自行建立,手工进行编辑

exports 文件的编辑格式以下

共享目录     [客户端1](选项1,选项2,......)        [客户端2](选项1,选项2,.....)

/shared      192.168.0.0/24(ro)         

↑ # 实验中个人 /etc/exports 内容. 表示共享目录的名称为 /shared   192.168.0.0 中的全部主机能够访问,权限为 只读

该实验中能够访问个人客户端为 192.168.0.0 中全部主机,但也支持主机名与通配符 "*" "?"

客户端地址设置

example                          表示主机名为 example 的主机能够访问

host?.example.com     ?表示为任意一个字符

*.example.com             表示为 example.com 域中的全部主机都可以访问

*                        表示为全部主机都可以访问

选项设置

ro     客户端只能以只读的方式共享目录中的文件

rw    客户端对目录可读写

sync       数据同步写内存与磁盘.效率低

async     异步 IO 方式,数据先存入内存,须要时写入磁盘.效率高,风险大

 

在将 /etc/exports 文件保存退出后能够重启 nfs 服务 (service nfs restart)

[root@beiyong2 ~]# exportfs –rv       (也可使用 /etc/init.d/nfs reload)

↑ # 平滑加载 , 不影响客户也不用重启

[root@beiyong2 ~]# showmount -e 192.168.0.28

Export list for 192.168.0.28:

/shared 192.168.0.0/24  

到此为止 , NFS 服务器端的配置已经完毕 , 经过 showmount 命令得知该服务器共享的目录

如下是几个经常使用命令总结 :

[root@beiyong2 ~]# /etc/init.d/rpcbind status           #检查 rpcbind 服务是否在运行    
rpcbind (pid  5798) is running...

exportfs 命令              -rv : 从新输出 , 不用重启       -au : 取消所有输出    
         
-a : 所有输出或取消所有输出全部的共享目录

          -i : 忽略 /etc/exports 配置文件 , 而使用默认或命令行中指定的选项

          -r : 从新读取 /etc/exports 中的配置

          -u : 取消一个或多个共享目录的输出

          -v : 单独使用时显示共享目录以及现象设置,组合使用时为显示了进行哪些操做

showmount 命令

格式 : showmount    [选项]    [主机或 IP 或名称]

          -a : 显示已经挂载了服务器共享目录的客户端及他们所使用的共享目录

          -e : 显示指定 NFS 服务器输出的共享目录列表. (客户端服务器端都可以使用)

          -d : 与 –a 相似 , 可是只显示目录 , 不显示客户端

经常使用命令总结完毕,接下来配置客户端

---------------来个分割线--------------NFS服务器端配置-------------------------------------

[root@beiyong ~]# rpm -qa rpcbind    

rpcbind-0.2.0-11.el6.x86_64  

↑ # 服务器端一样须要安装 rpcbind 包

[root@beiyong ~]# showmount -e 192.168.0.28

Export list for 192.168.0.28:

/shared 192.168.0.0/24  

↑ # 192.168.0.28 为 NFS 服务器的地址 , 查看有哪些能够挂载的目录

[root@beiyong ~]# mount -t nfs -o nfsvers=3 192.168.0.28:/shared /mnt/nfs

↑ # 开始挂载 –o nfsvers=3 为指定 nfs 的版本 , 在CentOS6中默认版本为4,若不加此选项,在服务器端执行 showmount –a –d 命令没法成功.固然 /mnt/nfs 的目录是提早建立好的,为挂载点

[root@beiyong nfs]# ls

fstab

↑ # 此时进入 /mnt/nfs 目录能够看到 fstab 文件,测试成功

设置开机自动挂载

若须要开机自动挂载能够经过 chkconfig nfs on 命令 , 也能够写入 /etc/fstab 文件中. 格式以下

192.168.0.28:/shared             /mnt/nfs             nfs       defaults               0 0

---------------------再来一个分割线-------------配置autofs---------------------------------

[root@beiyong ~]# rpm -qa autofs

autofs-5.0.5-113.el6.x86_64  

↑ # 客户端须要安装 autofs , 版本中已经默认安装

autofs 服务的主要配置文件为 /etc/auto.master . 须要编辑该文件,添加挂载目录

nfs

↑ # /mnt/nfs 为本机的挂载点    /etc/auto.nfs  该文件原本并不存在,须要一下子手工建立   --timeout=10 动态连接你懂的

[root@beiyong ~]# cat /etc/auto.nfs    

server  -ro  192.168.0.28:/shared

↑ # 在 /etc 中建立文件 auto.nfs 内容如上 .    server目录是不存在,autofs会自动建立

[root@beiyong ~]# service autofs reload    

↑ # 从新载入 maps

[root@beiyong ~]# cd /mnt/nfs

[root@beiyong nfs]# cd server

[root@beiyong server]# ls

fstab  

[root@beiyong server]# pwd

/mnt/nfs/server  

↑ # cd 进 /mnt/nfs 目录后 , cd server 访问挂载成功.

[root@beiyong ~]# chkconfig autofs on

↑ # 实现 autofs 开机自启动

 

最后本身在总结一下权限的问题

挂载后对共享目录的权限有两层,一个是在服务器端挂载时设置的权限,还有一个是共享文件自身的权限,两者取最小的权限

 

写的不对很差的地方,还但愿各位大虾指教,小弟虚心接受.

相关文章
相关标签/搜索