MooseFS--分布式文件系统,它由4个部分组成:master、metalogger、chunkserver、client。各种角色的作用:1.(master)管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷贝等。2.(metalogger)元数据日志服务:负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题时接替其进行工作。3.(chunkserver)数据储存服务器:负责链接管理服务器,听从管理服务器调度。提供存储空间,并为客户提供数据传输。4.(client)客户端:通过fuse内核接口挂载远程服务器上管理的存储服务器(chunkserver),看起来共享的文件系统和本地linux文件系统使用一样的效果。
Puppet是一种Linux,Unix平台的集中配置管理系统,此系统能够管理机器里面诸如文件,用户,进程,软件包等资源,其设计目标就是简化对这些资源的管理以及妥善处理资源之间的依赖关系。 使用puppet,可以运行一个服务器端,然后每个客户端通过ssl证书连接服务器,得到本机的服务配置列表,然后更新配置列表来完成本机的配置工作,在大规模的生产环境中,如果只有一台puppetmaster是忙不过来的,因为puppet是用ruby语言写的,而ruby是解析型语言,每个客户端来访问,都要解析一次,客户端多了就忙不过来了,可以通过利用web代理软件来配合做puppetmaster作集群配置,扩展成一个服务器组。
redis+主从复制+集群配置 redis是一个key-value存储系统。和memcached类似,不过redis支持的value类型更多,主要有:string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型)。redis和memcached一样,为了保证
redis是一个key-value存储系统。和memcached类似,不过redis支持的value类型更多,主要有:string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型)。redis和memcached一样,为了保证效率,都是把数据缓存在内存中。区别是redis会周期性的把更新的数据写入磁盘或者把修改的操作写入追加的记录文件,并且在此基础上实现master-slave主从同步。 简单的比较redis和memcached的区别,主要就是以下几点: 1、redis不仅支持简单的键值类型的数据,同时提供string、set、zset、hash等数据结构的存储。 2、redis支持数据的备份,即 master-slave模式的数据备份。 3、redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Mysql的主从复制又叫做AB复制,主要作用就是将主服务器上的数据及时复制到从服务器上,来实现数据的同步,这样做的好处有,在进行数据备份时,可以减轻主服务器的运行压力,另外即使主服务器宕机了,也能从从服务器上取得主服务器的数据,从而保证数据不会丢失。这对于一个企业来说是至关重要的。一般在实际生产环境中,由单台mysql作为独立的数据库是完全不能满足实际需要的,无论在安全性,高可用性以及高并发等方面,一般是通过主从复制(Master-Slave)的方式来同步数据,再通过keepalived组件或者pacemaker来解决单点故障,实现高可用性,最后通过读写分离(Mysql-Proxy)来提升数据库的并发负载能力。
Fullnat其实也就是nat类似原理,只是需要在调度器DR上进行进行源目地址转发,首先介绍一下,CIP:客户端请求ip,DIP:调度器端的ip,RIP:提供服务的真实主机的ip,由于DIP和RIP之间可以经过路由转换,所以后端提供服务的real-server可以进行无限扩展,再通过调度器对后端服务的调用,可以完美解决负载均衡,但是存在单点故障,因此还需要结合类似:heartbeat,keepalived,pacemaker,以及红帽rhcs套件来解决单点故障。这样系统就非常健壮了,言归正传,当客户端请求报文到达源目IP分别为CIP和VIP。达到调度器DR后,经过ipvs通过算法调度后台的真机real-server,但是由于DIP和RIP并不在同一个网段,所以IPVS会将请求的报文源目IP分别改为DIP和RIP,RS收到报文后,就会将相应报文发给DR,DR通过内部追踪nat表后,在将响应的报文源目IP分别改为VIP和CIP,于是响应的报文就发给了客户端client,这种对源目IP均做修改的LVS类型就称为FULNAT模式。
Haproxy:是一款基于TCP(第四层)和HTTP(第七层)的代理软件,支持双机热备和支持虚拟主机,具有良好的负载均衡能力,并且它的配置也是十分简单,拥有非常好的后端服务健康检查功能,当其代理的后端服务器出现故障时,HAproxy会自动将该服务器摘除,故障恢复后再自动匹配,其中的frontend、backend.非常灵活好用,fronten会根据HTTP请求头内容做规则匹配,然后再把请求定向到backend.
Haproxy+keepalived或者haproxy+pacemaker的结合,实现负载均衡与高可用的完美结合,既解决了提供服务的负载均衡,又解决了作负载均衡器的单点故障问题。这样就使得搭建的服务架构就很健壮了。
本次实验做得是章文嵩博士创立的开源项目LVS(LinuxVirtual Server)。 Linux虚拟服务器,是一个虚拟的集群系统,目的是为了加强系统的可用性以及可伸缩性。本次实验使用四台虚拟机,其中两台作为提供服务的真机(real server)另外两台作调度器,实现ip负载均衡,其实实现ip负载均衡主要是有ipvs这个模块来实现的。LVS中有四种ip负载均衡技术,(“VS/NAT”、“VS/TUN”、“VS/DR”、“VS/FULLNAT”)以及相应的10种调度算法:轮叫算法(RR)、加权轮叫算法(WRR)、目标地址散列(DH)、源地址散列(SH)等属于静态调度算法,动态调度算法有:最少链接(LC)、加权最少链接(WLC)、最短期望链接(SED)、从不排队never quene (NQ)、基于局部性的最少链接(LBLC)、带复制的基于局部的最少链接(LBLCR)等动态调度算法。
HA:High Availability 高可用性:主要目的就是让运行在服务器上的服务尽可能减少的中断的技术,保证服务运行的连续性;原理如上图所示,本文实现双机集群系统,首先通关管理虚拟机LUCI服务对ClusterVM1、ClusterVM2进行管理,维护等工作,而他们之间沟通的桥梁是RICCI服务,所以ClusterVM1、ClusterVM2均安装RICCI服务。主要工作原理是ClusterVM1、ClusterVM2构成集群的双机,将其中一台作为活动机,也就是运行服务的主机(ClusterVM1),另外一台作为备份机(ClusterVM2),两台服务器主机共用一个网络存储服务器。 当ClusterVM1出于某种原因突然坏掉了,无法运行服务,则备份机ClusterVM2立即接管ClusterVM1上面运行的服务,从而保证服务运行的连续性,且不影响用户对数据的读取和存储。从而达到高可靠性的目的
Ganglia是一个开源集群监视项目,设计用于测量数以千计的节点,ganglia的核心有gmond,gmetad.web前端,主要用来监控系统性能,包括:cpu,mem,硬盘利用率,i/o负载,网络流量监控,通过曲线显示每个节点工作状态。基本原理为:集群内的节点通过运行的gmond收集发布节点的状态信息,gmetad周期性的轮询gmond收集到的信息,数据传格式采用xml压缩格式进行传输,然后存入到rrd数据库,通过web服务器就可以对其进行查询结果展示。
Nagios是一款开源的监控软件,与cacti,zabbix等开源监控软件并驾齐驱,它能够有效监控windows,linux,unix,交换机和路由器的主机状态和相关运行的服务,在系统或者服务异常时发出邮件或者短信报警,通知运维人员解决问题。ngios本身并没有监控功能,他是通过nagios-plugin插件完成的,插件将结果返回给nagios,然后nagios再以web界面的方式将信息呈现出来,出错了就告警,通过轻量级服务nrpe和nagios-plugin可以实现对远程服务器主机状态和网络服务的监控。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号