NFS(Network file System)是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源,对于大多数负载均衡集群来说,使用NFS协议来共享数据存储是一种比较常见而且节省资源,节省设备硬件投入的成本。NFS也是NAS存储设备必然支持的一种协议。
需要一台NFS服务器,两台Web服务器
一、使用NFS发布共享资源(NFS服务器)
NFS服务的实现依赖于RPC机制(Remote Process Call 远程过程调用机制),以完成远程到本地的映射过程,在Centos 7中需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
1、安装nfs-utils、rpcbind软件包
提供RPC支持的服务为rpcbind,提供nfs共享的服务为nfs,完成安装以后建议调整这两个服务器的自启动状态,以便每次开机时自动启动,手动加载NFS共享服务时,应该先启动rpcbind,然后再访问nfs。
[[email protected] ~]# yum -y install nfs-utils rpcbind[[email protected] ~]# systemctl start rpcbind[[email protected] ~]# systemctl start nfs
2、设置共享目录
NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享),在服务器192.168.200.114中的exports文件设置共享资源时,记录格式为 “目录位置 客户机地址 (权限选项)”。 例如:若要将文件夹/opt/wwwroot共享给192.168.200.0/24网段使用,允许读写 *** 作,配置如下所示。
[[email protected] ~]# mkdir -p /opt/wwwroot[[email protected] ~]# vim /etc/exports/opt/wwwroot 192.168.200.0/24(rw,sync,no_root_squash)
===========================================================
sync:同步写入
no_root_squash:客户机以root身份访问时会拥有NFS服务器以root身份对共享目录的权限
其中客户机地址可以是主机名、IP地址、网段地址,允许使用*(任意字符、任意字符串)、?(任意单个字符)通配符,权限中rw表示读写(ro表示只读)
补充:
当需要将同一个目录共享给不同客户机,且分配不同的权限时,只要以空格分隔指定多个 “客户机 (权限设置)” 即可。例如:将/var/ftp/public目录共享给两个客户机,并分别给予只读、读写权限。
[[email protected] ~]# vim /etc/exports/var/ftp/pub 192.168.200.112(ro) 192.168.200.113(rw)
3、重启服务
[[email protected] ~]# systemctl restart rpcbind[[email protected] ~]# systemctl restart nfs
4、查看本机发布的NFS共享目录
[[email protected] ~]# showmount -eExport List for localhost.localdomain:/opt/wwwroot 192.168.200.0/24
在Web机上查看共享目录
[[email protected] ~]# showmount -e 192.168.200.114 //后面加NFS服务器的IP地址Export List for 192.168.200.114:/opt/wwwroot 192.168.200.0/24
二、在Web服务器中访问NFS共享资源(Web服务器)
NFS的目标是提供一种网络文件系统,因此对NFS共享的访问也使用mount命令来进行挂载,对应的文件系统类型为nfs,可以手动挂载也可以加入/etc/fstab配置文件中实现开机自动挂载,考虑到群集系统中的网络稳定性,NFS服务器与客户机之间最好使用专有网络进行连接。
1、安装软件包rpcbind、nfs-utils,并启动服务
通过nfs-utils软件包,客户机也可以使用showmount查看共享目录,格式为 “showmont -e NFS服务器地址”
[[email protected] ~]# yum -y install nfs-utils rpcbind[[email protected] ~]# systemctl start rpcbind[[email protected] ~]# systemctl start nfs
2、手动挂载NFS共享目录
以root用户身份执行mount *** 作,将NFS服务器共享的/opt/wwwroot目录挂载到本地目录/var/www/HTML。与挂载本地文件不同的是,设备位置处应指出服务器地址,完成挂载后,只要访问客户机的/var/www/HTML文件夹,实际就相当于访问NFS服务器中的/opt/wwwroot文件夹。
[[email protected] ~]# mount 192.168.200.114:/opt/wwwroot /var/www/HTML/查看[[email protected] ~]# mount | tail -1192.168.200.114:/opt/wwwroot on /var/www/HTML type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clIEntaddr=192.168.200.112,local_lock=none,addr=192.168.200.114)[[email protected] ~]# tail -1 /etc/mtab 192.168.200.114:/opt/wwwroot /var/www/HTML nfs4 rw,addr=192.168.200.114 0 0
测试
[[email protected] ~]# echo "1111111" > /opt/wwwroot/index.HTML (NFS服务器中)
[[email protected] ~]# cat /var/www/HTML/index.HTML (用客户机查看可以看见共享的内容)1111111
3、fstab自动挂载
[[email protected] ~]# vim /etc/fstab 192.168.200.114:/opt/wwwroot /var/www/HTML nfs defaults,_netdev 0 0
===================================================================
/var/www/HTML:挂载点nfs:文件系统类型第一个 0 :是否要进行备份(0不备份,1备份)第二个 0 :开机是否检查文件系统完整性,检查文件系统的超级快总结
以上是内存溢出为你收集整理的NFS共享存储服务全部内容,希望文章能够帮你解决NFS共享存储服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)