2018年11月5日
16:22
NFS=network fi server
网络文件系统
什么式NFS
主要式通过网络(一般式局域网)让不同的主机系统之间可以共享文件或目录
共享服务器通过tcp/ 挂载到所有用户上从而达到共享的功能
互联网集群构架后端常用NFS进行数据共享
负载均衡器
NFS在企业中的应用场景
在企业集群架构的工作场景中,NFS网络文件系统一般用来存储共享视频,图片附件等静态资源文件。通常网站用户上传都会放到NFS共享里
集群:多台服务器共同作用,来达到分散压力的目的
压力:用户访问过多内存和CPU占用太多
负载均衡器:
1负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、
FTP服务器、企业关键
应用服务器和其它关键任务服务器等,从而共同完成工作任务。
2.需要说明的是:
负载均衡设备不是基础网络设备,而是一种性能优化设备。对于网络应用而言,并不是一开始就需要负载均衡,当网络应用的访问量不断增长,单个处理单元无法满足负载需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。
负载均衡有两方面的含义:首先,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是常说的集群(clustering)技术。第二层含义就是:大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用。通常,负载均衡会根据网络的不同层次(网络七层)来划分。其中,第二层的负载均衡指将多条物理链路当作一条单一的聚合逻辑链路使用,这就是
链路聚合(Trunking)技术,它不是一种独立的设备,而是交换机等网络设备的常用技术。现代
负载均衡技术通常操作于网络的第四层或第七层,这是针对网络应用的负载均衡技术,它完全脱离于交换机、服务器而成为独立的技术设备。这也是将要讨论的对象。近几年来,四到七层
网络负载均衡首先在电信、移动、银行、大型网站等单位进行了应用,因为其网络流量瓶颈的现象最突出。这也就是为何每通一次电话,就会经过负载均衡设备的原因。另外,在很多企业,随着企业关键网络应用业务的发展,负载均衡的应用需求也越来越大了。
3.四个分类
软/硬件
软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。[2]
软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。
硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。
一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。
本地/全局
负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。
本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。
全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet(企业内部互联网)来达到资源统一合理分配的目的。
全局负载均衡有以下的特点:
实现地理位置无关性,能够远距离为用户提供完全的透明服务。
除了能避免服务器、数据中心等的单点失效,也能避免由于ISP专线故障引起的单点失效。
解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访问质量。
4.部署方式
负载均衡有三种部署方式:路由模式、桥接模式、服务直接返回模式。路由模式部署灵活,约60%的用户采用这种方式部署;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。约30%的用户采用这种模式。
路由模式(推荐)
路由模式的部署方式如上图。服务器的网关必须设置成负载均衡机的LAN口地址,且与WAN口分署不同的逻辑网络。因此所有返回的流量也都经过负载均衡。这种方式对网络的改动小,能均衡任何下行流量。
桥接模式
负载均衡桥接模式配置简单,不改变现有网络。负载均衡的WAN口和LAN口分别连接上行设备和下行服务器。LAN口
不需要配置IP(WAN口与LAN口是桥连接),所有的服务器与负载均衡均在同一逻辑网络中。参见下图:
由于这种安装方式容错性差,网络架构缺乏弹性,对广播风暴及其他生成树协议循环相关联的错误敏感,因此一般不推荐这种安装架构。
服务直接返回模式
如上图,这种安装方式负载均衡的LAN口不使用,WAN口与服务器在同一个网络中,互联网的客户端访问负载均衡的虚IP(VIP),虚IP对应负载均衡机的WAN口,负载均衡根据策略将流量分发到服务器上,服务器直接响应客户端的请求。因此对于客户端而言,响应他的IP不是负载均衡机的虚IP(VIP),而是服务器自身的IP地址。也就是说返回的流量是不经过负载均衡的。因此这种方式适用大流量高带宽要求的服务。
秘密通道VPN:
跳板机:
1.概念
跳板机是开发者登录到网站分配给应用服务器的唯一途径。开发者必须首先登录跳板机,再通过跳板机登录到 应用服务器。
2.跳板机认证方式及带来的影响
为了保护业务 机器的安全,将原有的使用固定密码登录跳板机的方式升级为“证书+固定密码+动态验证码”三重认证方式。
新的认证方式通过 证书避免身份伪造,通过动态token避免证书丢失后的身份假冒,能够最大程度保证安全。
企业生产集群为什么需要共享存储角色
企业生产集群没有NFS共享存储访问的示意图。下图是企业生产集群有NFS共享存储的情况
企业生产集群没有NFS共享存储访问的示意图。下图是企业生产集群有NFS共享存储的情况
NFS系统原理介绍
NFS系统挂载结构图解与介绍
下图是企业工作中的NFS服务器与客户端挂载情况结构图
- 可以看到NFS服务器端/video共享目录挂载到了两台NFS客户端上。在客户端查看时,NFS服务器端的/video目录就相当于客户端本地的磁盘分区或目录,几乎感觉不到使用上的区别,根据NFS服务端授予的NFS共享权限以及共享目录的本地系统权限,只要在指定的NFS客户端操作挂载/v/video或者/video的目录,就可以将数据轻松地存取到NFS服务器端上的/video目录中了。
- 从挂载信息来看,和本地磁盘分区几乎没什么差别,只是文件系统对应列的开头是以IP滴噢址开头的形式了。
- 经过前面的介绍,我们知道NFS系统是通过网络来进行数据传输的(所以叫做网络文件系统)因此,NFS会使用一些端口来传输数据,那么,NFS到底使用哪些端口来进行数据传输呢?
- NFS在传输数据时使用的端口会随机选择。可能有同学会纳闷,既然这样,NFS客户端是怎么知道NFS服务端使用的哪个端口呢?
- 答案就是通过RPC(中文意思远程过程调用,英文Remote Procedure Call简称RPC)协议/服务来实现,这个RPC服务的应用在门户级的网站有很多
NFS的RPC服务最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以连接到正确的NFS端口上去,达到实现数据传输交互数据目的。这个RPC服务类似NFS服务端和NFS客户端之间的一个中介。
- 当NFS服务端启动服务时会随机取用若干端口,并主动向RPC服务注册取用的相关端口及功能信息,如此一来,RPC服务就知道NFS每个端口对应的NFS功能了,然后RPC服务使用固定的111端口来监听NFS客户端提交的请求,并将正确的NFS端口信息回复给请求的NFS客户端,这样一来,NFS客户端就可以与NFS服务端进行数据传输了。
- 在启动NFS SERVER之前,首先要启动RPC服务(CentOS5.x下为portmap服务,CentOS6.x下为rpcbind服务,下同),否则NFS SERVER就无法向RPC服务注册了。另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会丢失,因此,此时RPC服务管理的NFS程序也需要重新启动以重新向RPC注册。要特别注意的是,一般修改NFS配置文件后,是不需要重启NFS的,直接在命令行执行/etc/init.d/nfs reload或exportfs -rv即可使修改的/etc/exports生效
实例:
实现网络文件共享
1.要部署NFS
需要在服务端添加一下命令包rpcbind nfs-utile
Yum -y install rpcbind nfs-utils
Rpcbind/ 监听111接口
sunrpc portmap rpcbind Sun RPCPortMapper/Rpcbind。访问portmapper(端口映射器
)是扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有:pc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供 服务的特定端口测试漏洞。记住一定要记录线路中的daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。
nfs
2.启动rpcbind/服务, rpcinfo/查看rpc/
NFS配置文件
默认root降权模式
Vim /etc/exports
NFS配置权限设置常用参数说明
rw | Read-write,表示可读写权限 |
ro | Read-only,表示只读权限 |
sync | (同步,实时)请求或吸入数据时,数据同步写入到NFS Server的硬盘后才返回 |
async | (异步)写入时数据会先写到内存缓冲区,只到硬盘有空档才会写入磁盘,这样可以提升写入速率!风险为若服务器挂掉或不正常关机,会损失缓冲区中未写入磁盘的数据 |
no_root_squash | 访问NFS Server共享目录的用户如果是root,它对该共享目录具有root权限。 |
root_squash | 如果访问目录的是root,则它的权限将被压缩成匿名用户。 |
all_squash | 不管访问共享目录的用户身份如何,它的权限都被压缩成匿名用户。 |
anonuid | 指定共享文件夹里文件所有者的uid号:例如:(rw,squash,anonuid=12306,anongid=12306) |
anongid | 指定共享文件夹里文件所有者的gid号:例如:(rw,squash,anonuid=12306,anongid=12306) |
3
Mkdir /data 共享目录
Id nfsnobody
本地挂载共享目录
.Showmount/查看网络文件能否挂载
参数-e locahost/本地挂载
远程挂载:格式mount+IP号这台机器下的某个目录或文件
netfs服务 强制二次读取fstab文件