第十二节、NFS服务
2017-11-30 本文已影响0人
妄语莫言
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的。
NFS应用场景,常用于高可用文件共享,多台服务器共享同样的数据,可扩展性比较差,本身高可用方案不完善,取而代之的数据量比较大的可以采用MFS、TFS、HDFS等等分布式文件系统。
安装
yum install nfs* -y
设置共享目录
[root@mini ~]# vim /etc/exports
/data/ *(rw,no_root_squash,no_all_squash,sync)
#目录名
# *表示任意用户 rw可读写
#no_root_squash其他主机挂载不允许使用root权限是nobody权限、no_all_squash、
#sync允许同步
启动NFS服务
备注NFS服务依赖于RPC远程调用服务所以要先启动RPC,命令/etc/init.d/rpcbind restart
启动NFS服务/etc/init.d/nfs start
客户端挂载共享目录到本机
命令mount -t nfs source_ip:directory_name local_directory_name
参数t后面跟协议 ,共享服务器IP:共享目录名,本地目录
示例mount -t nfs 192.168.15.138:/data/ /mnt/
NFS共享目录挂载到本地的优势在于资源的共享,不占用本地的硬盘资源。而且注意如果开放全部权限的话客户端删除数据,服务端也会随之删除!!!!
#######设置开机自动挂载的方法
将mount命令/etc/rc.d/rc.local
里面
#######故障
[root@localhost ~]# mount -t nfs 192.168.15.150:/data/ /usr/local/apache/htdocs/
mount: wrong fs type, bad option, bad superblock on 192.168.15.150:/data/,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
解决过程:
根据错误提示,查看/sbin/mount.<type>文件,果然发现没有/sbin/mount.nfs的文件,安装nfs-utils即可
解决办法:yum install nfs-utils
安装之后,/sbin/下面多了两个mount文件,分别是mount.nfs和mount.nfs4:
-rwsr-xr-x 1 root root 123648 7月 24 16:22 mount.nfs
lrwxrwxrwx 1 root root 9 12月 3 15:09 mount.nfs4 -> mount.nfs
-rwxr-xr-x. 1 root root 1338 2月 22 2013 mount.tmpfs
autofs自动挂载服务(RHEL7环境)
#安装服务
[root@localhost ~]# yum install -y autofs
#编辑主配置文件,添加需要控制的目录及其对应的子配置文件名
[root@localhost ~]# vim /etc/autofs.master
/media /etc/iso.misc #需要控制的目录及对应子配置文件位置
[root@localhost ~]# vim /etc/iso.misc #创建子配置文件
iso -fstype=iso9660,ro : /dev/cdrom
#对/media下的子目录iso进行设置,文件类型iso9660,ro只读,冒号间隔,从/dev/cdrom挂载
[root@localhost ~]# systemctl restart autofs
[root@localhost ~]# systemctl enable autofs
#重启服务并加入开机启动项
[root@localhost ~]# cd /media/iso
#切换该目录时光盘会自动挂载