【NFS】CentOS7.x NFS服务器和客户端设置

【NFS】CentOS7.x NFS服务器和客户端设置,第1张

NFS:Network file system,网络文件系统

sun公司1984年推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom) 

设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和 *** 作系统无关的技术

NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使 用NFS的远端文件就象是在使用本地文件一样

FS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)

RPC(Remote Procedure call)

NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这 些传输协议用到这个RPC功能的。

NFS本身就是使用RPC的一个程序,或者说NFS也是一个RPC SERVER所以只要用到NFS的地方都要启动RPC

服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS 是一个文件系统,而RPC是负责负责信息的传输。 

nfs在系统中的后台守护进程: nfs 

nfs服务需要启动的其他进程: 

rpcnfsd:接收从远程系统发来的NFS请求,并将这些请求转化为本地文件系统请求 

rpcmountd:执行被请求的文件系统的挂接和卸载 *** 作 

rpcportmapper:将远程请求映射到正确的NFS守护程序 

rpcstatd:在远程主机重启时,提供加锁服务 

rpcquotaed:提供硬盘容量的管理能力,磁盘限额

在伺服器上使用 rpcinfo -p | grep -iE "service|NFS" 命令,显示伺服器上可使用的 NFS 版本

#  rpcinfo -p | grep -iE "service|NFS"

表示伺服器可提供 NFS V3 和 NFS V4。

如果不需要krb5p,设置完就可以直接可以mount了

如果需要krb5p,在/etc/sysconfig/nfs文件中要设置

RPCNFSDARGS="-N 4"  

-N 表示禁用 ,也可以是"-N 3"或者"-N 2",这是代表NFS版本,NFSv2,3,4,改完这个要将服务restart

这一项必须要填,不然client端会报错access错误,而server端不会有一点反应,连log中都不会出现报错!

CentOS 7 NFS设置

>mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。
Atlas
Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 082版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。
Altas架构:
Atlas是一个位于应用程序与MySQL之间,它实现了MySQL的客户端与服务端协议,作为服务端与应用程序通讯,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,它还维护了连接池。
以下是一个可以参考的整体架构,LVS前端做负载均衡,两个Altas做HA,防止单点故障。
Altas的一些新特性:
1主库宕机不影响读
主库宕机,Atlas自动将宕机的主库摘除,写 *** 作会失败,读 *** 作不受影响。从库宕机,Atlas自动将宕机的从库摘除,对应用没有影响。在mysql官方的proxy中主库宕机,从库亦不可用。
2通过管理接口,简化管理工作,DB的上下线对应用完全透明,同时可以手动上下线。
3自己实现读写分离
(1)为了解决读写分离存在写完马上就想读而这时可能存在主从同步延迟的情况,Altas中可以在SQL语句前增加 /master/ 就可以将读请求强制发往主库。
主库可设置多项,用逗号分隔,从库可设置多项和权重,达到负载均衡。
4自己实现分表
(1)需带有分表字段。
(2)支持SELECT、INSERT、UPDATE、DELETE、REPLACE语句。
(3)支持多个子表查询结果的合并和排序。
这里不得不吐槽Atlas的分表功能,不能实现分布式分表,所有的子表必须在同一台DB的同一个database里且所有的子表必须事先建好,Atlas没有自动建表的功能。
5之前官方主要功能逻辑由使用lua脚本编写,效率低,Atlas用C改写,QPS提高,latency降低。
6安全方面的提升
(1)通过配置文件中的pwds参数进行连接Atlas的用户的权限控制。
(2)通过client-ips参数对有权限连接Atlas的ip进行过滤。
(3)日志中记录所有通过Altas处理的SQL语句,包括客户端IP、实际执行该语句的DB、执行成功与否、执行所耗费的时间 ,如下面例子。

海盗这种职业在中世纪出现,靠着在海上烧杀掠夺、打劫商船为生,甚至在21世纪,索马里海域还存在海盗这种刀尖上舔血的职业。而在Steam这个全球最大的游戏平台上,就存在着不少真实的海盗游戏,《ATLAS》就是这么一款,而且《ATLAS》曝光了全新玩法,也让这款海盗游戏愈发的真实。 海盗游戏《ATLAS》是一款生存沙盒类游戏,简单来说就是塑造出了一个画风和设定都现实类似的大航海时代世界,供玩家们冒险探索。在这款游戏里玩家的一切道具都需要自己造出来,也可以掠夺其他玩家。此前《ATLAS》的核心玩法就是海战,全球各国玩家们在这款游戏里互相掠夺,爆发战争,强者愈强的道理在游戏里体现。

不过在很多人看来,大航海时代的主题是贸易与掠夺,《ATLAS》的掠夺属性满足了,但是贸易玩法却还未出现。而近期《ATLAS》官方就决定为游戏新添贸易玩法,在游戏当中玩家可以建造出市场,并且贩卖自己的货物,买方用金币购买货物后那些货物将通过商船运输到买方的市场当中,这点和现实当中网上购物然后发货比较相像,购买了的商品通过发快递的形式送到买方手里。只不过现实当中的网购安全性能够得以保障,在《ATLAS》里发货的商船还可能遭到玩家的打劫。因为《ATLAS》的服务器是一个个网格状,越过一个网格就是越过一个服务器,而每个服务器当中都存在1-3个贸易中转站,玩家可以占领这些贸易中转站,像路过的商船征税,玩家也可以直接攻击那些贸易的船只,获得商船上的资源。可以说贸易玩法的出现完善了《ATLAS》的玩法,让这款游戏的可玩性更强,对于《ATLAS》曝光的新内容,大家是怎么看的呢?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10786676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存