Ⅰ GBase 8a集群由哪些组件组成,其作用是什么
GBase 8a MPP Cluster采用MPP + Shared Nothing 的分布式联邦架构,节点间通过 TCP/IP 网络进行通信,每个节点采用本地磁盘来存储数据。实现非对称部署,分布式管理集群和分布式调度集群部署在一个集群;分布式计算集群部署在另外一个集群。系统中的每一个节点都是相对独立的、自给的,整个系统中不存在单点瓶颈,具有非常强的扩展性。
由于没有资源共享,增加节点就可以线性地扩展数据容量和计算能力,可以从几个节点扩展到上百节点,满足业务规模增长的要求。
GBase 8a MPP Cluster产品总共包含三大核心组件,分布式管理集群GCWare、分布式调度集群GCluster和分布式存储集群GNode。它们的功能分别为:
GCluster:
GCluster负责SQL的解析、SQL优化、分布式执行计划生成、执行调度。
GCWare:
GCWare用于各节点GCluster实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,控制各节点数据一致性状态。
通常Gclusterd与GCWare组件部署在相同的物理节点上,统称Coordinator 集群:作为整个数据库的管理者与统一入口。
GNode:
GNode是GBase 8a MPP Cluster中最基本的存储和计算单元。GNode是由GCWare管理的一个8a实例,每个数据节点上有一个GNode实例运行。GNode负责集群数据在节点上的实际存储,并从GCluster接收和执行经分解的SQL执行计划,执行结果返回给GCluster。数据加载时,GNode直接从集群加载服务接收数据,写入本地存储空间。采用虚拟集群部署策略时,可以将不同节点按不同业务特点进行物理隔离,形成不同的VC。
VC(Virtual Cluster):实现单个业务的独立管理,包括database、表等数据库对象。
Free Nodes (闲置节点):不属于任何VC的gnode节点,通常是备机或待扩容或节点替换的节点。
除了以上核心组件外,还有GCMonit组件,用于定期监测GBase 8a MPP Cluster服务程序的运行状态, 一旦发现某个服务程序的进程状态发生变化,就会根据配置文件中的内容来执行相应的服务启停脚本命令,从而保证服务程序健康运行。
Ⅱ 求集群管理的相关知识!
集群技术案例介绍和具体操作
集群技术案例介绍和具体操作
中国科学院西安网络中心 中科红旗linux培训认证中心
集群技术
1.1 什么是集群
简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提
供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的
集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一
个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群
系统的节点。
1.2 为什么需要集群
集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就
开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并
不为大家所熟知。直到Linux集群的出现,集群的概念才得以广为传播。
对集群的研究起源于集群系统良好的性能可扩展性(scalability)。提高CPU
主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性能的
提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了
向量机,对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,象SMP这些
多处理机系统的可扩展性就变的极差。主要瓶颈在于CPU访问内存的带宽并不能
随着CPU个数的增加而有效增长。与SMP相反,集群系统的性能随着CPU个数的
增加几乎是线性变化的。图1显示了这中情况。
图1. 几种计算机系统的可扩展性
对于关键业务,停机通常是灾难性的。因为停机带来的损失也是巨大的。下
面的统计数字列举了不同类型企业应用系统停机所带来的损失。
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
应用系统每分钟损失(美元)
呼叫中心(Call Center) 27000
企业资源计划(ERP)系统13000
供应链管理(SCM)系统11000
电子商务(eCommerce)系统10000
客户服务(Customer Service Center)系统27000
图2:停机给企业带来的损失
随着企业越来越依赖于信息技术,由于系统停机而带来的损失也越拉越大。
集群系统的优点并不仅在于此。下面列举了集群系统的主要优点:
高可扩展性:如上所述。
高可用性:集群中的一个节点失效,它的任务可传递给其他节点。可以有效防止单点失效。
高性能:负载平衡集群允许系统同时接入更多的用户。
高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。
2.1 集群系统的分类
虽然,根据集群系统的不同特征可以有多种分类方法,但是一般把集群系统分为两类:
(1)、高可用(High Availability)集群,简称HA集群。
这类集群致力于提供高度可靠的服务。就是利用集群系统的容错性对外提供7*24小时不间
断的服务,如高可用的文件服务器、数据库服务等关键应用。
目前已经有在Linux下的高可用集群,如Linux HA项目。
负载均衡集群:使任务可以在集群中尽可能平均地分摊不同的计算机进行处理,充分利
用集群的处理能力,提高对任务的处理效率。
在实际应用中这几种集群类型可能会混合使用,以提供更加高效稳定的服务。如在一个使
用的网络流量负载均衡集群中,就会包含高可用的网络文件系统、高可用的网络服务。
(2)、性能计算(High Perfermance Computing)集群,简称HPC集群,也称为科学计算
集群。
在这种集群上运行的是专门开发的并行应用程序,它可以把一个问题的数据分布到多
台的计算机上,利用这些计算机的共同资源来完成计算任务,从而可以解决单机不能胜任
的工作(如问题规模太大,单机计算速度太慢)。
这类集群致力于提供单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油
藏模拟、分子模拟、生物计算等。这些应用通常在并行通讯环境MPI、PVM等中开发,由于MPI
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
是目前的标准,故现在多使用MPI为并行环境。
比较有名的集群Beowulf就是一种科学计算集群项目。
3、集群系统转发方式和调度算法
3.1转发方式
目前LVS主要有三种请求转发方式和八种调度算法。根据请求转发方式的不同,所构
架集群的网络拓扑、安装方式、性能表现也各不相同。用LVS主要可以架构三种形式的集群,
分别是LVS/NAT、LVS/TUN和LVS/DR,可以根据需要选择其中一种。
(1)、网络地址转换(LVS/NAT)
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
(2)、直接路由
(3)、IP隧道
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
三种转发方式的比较:
3.2、调度算法
在选定转发方式的情况下,采用哪种调度算法将决定整个负载均衡的性能表现,不同
的算法适用于不同的应用场合,有时可能需要针对特殊场合,自行设计调度算法。LVS的算
法是逐渐丰富起来的,最初LVS只提供4种调度算法,后来发展到以下八种:
1.轮叫调度(Round Robin)
调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均
等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
2.加权轮叫(Weighted Round Robin)
调度器通过“加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求。这样
可以保证处理能力强的服务器能处理更多的访问流量。调度器可以自动询问真实服务器的
负载情况,并动态地调整其权值。
3.最少链接(Least Connections)
调度器通过“最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器
上。如果集群系统的真实服务器具有相近的系统性能,采用“最小连接”调度算法可以较
好地均衡负载。
4.加权最少链接(Weighted Least Connections)
在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自
动询问真实服务器的负载情况,并动态地调整其权值。
5.基于局部性的最少链接(Locality-Based Least Connections)
“基于局部性的最少链接”调度算法是针对目标IP地址的负载均衡,目前主要用于Cache
集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务
器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且
有服务器处于一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求
发送到该服务器。
6. 带复制的基于局部性最少链接( Locality-Based Least Connections with
Replication)
“带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要
用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务
器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目
标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一
台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接
”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服
务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,
以降低复制的程度。
7.目标地址散列(Destination Hashing)
“目标地址散列”调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分
配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,
否则返回空。
8.源地址散列(Source Hashing)
“源地址散列”调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的
散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则
返回空。
了解这些算法原理能够在特定的应用场合选择最适合的调度算法,从而尽可能地保持
Real Server的最佳利用性。当然也可以自行开发算法,不过这已超出本文范围,请参考有
关算法原理的资料。
4.1、什么是高可用性
计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性
(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,
用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
MTTF/(MTTF+MTTR)*100%
业界根据可用性把计算机系统分为如下几类:
可用比例
(Percent
Availability)
年停机时间
(downtime/year
)
可用性分类
99.5 3.7天
常规系统
(Conventional)
99.9 8.8小时可用系统(Available)
99.99 52.6分钟
高可用系统(Highly
Available)
99.999 5.3分钟Fault Resilient
99.9999 32秒Fault Tolerant
为了实现集群系统的高可用性,提高系统的高可性,需要在集群中建立冗余机制。一个功
能全面的集群机构如下图所示
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
负载均衡服务器的高可用性
为了屏蔽负载均衡服务器的失效,需要建立一个备份机。主服务器和备份机上都运行
High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运
行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并
继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息是,它就释放
服务IP地址,这样的主管理器就开开始再次进行集群管理的工作了。为在住服务器失效的
情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,
保持二者系统的基本一致。
HA的容错备援运作过程
自动侦测(Auto-Detect)阶段 由主机上的软件通过冗余侦测线,经由复杂的监听程序。逻
辑判断,来相互侦测对方运行的情况,所检查的项目有:
主机硬件(CPU和周边)
主机网络
主机操作系统
数据库引擎及其它应用程序
主机与磁盘阵列连线
为确保侦测的正确性,而防止错误的判断,可设定安全侦测时间,包括侦测时间间隔,
侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供
维护参考。
自动切换(Auto-Switch)阶段 某一主机如果确认对方故障,则正常主机除继续进行原来的
任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服
务。
自动恢复(Auto-Recovery)阶段 在正常主机代替故障主机工作后,故障主机可离线进行修
复工作。在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回修复完成的
主机上。整个回复过程完成由EDI-HA自动完成,亦可依据预先配置,选择回复动作为半自
动或不回复。
4.2、HA三种工作方式:
(1)、主从方式 (非对称方式)
工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,
待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的
一致性通过共享存储系统解决。
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
(2)、双机双工方式(互备互援)
工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另
一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存
储系统中。
(3)、集群工作方式(多服务器互备方式)
工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用
主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
相关文档
http://tech.sina.com.cn/it/2004-04-09/1505346805.shtml
http://stonesoup.esd.ornl.gov
LINUX下的集群实列应用
最近有客户需要一个负载均衡方案,笔者对各种软硬件的负载均衡方案进行了调查和
比较,从IBM sServer Cluster、Sun Cluster PlatForm 等硬件集群,到中软、红旗、
TurboLinux的软件集群,发现无论采用哪个厂商的负载均衡产品其价格都是该客户目前所
不能接受的。于是笔者想到了开放源项目Linux Virtual Server(简称LVS)。经过对LVS的研
究和实验,终于在Red Hat 9.0上用LVS成功地构架了一组负载均衡的集群系统。整个实
现过程整理收录如下,供读者参考。
选用的LVS实际上是一种Linux操作系统上基于IP层的负载均衡调度技术,它在操
作系统核心层上,将来自IP层的TCP/UDP请求均衡地转移到不同的服务器,从而将一组
服务器构成一个高性能、高可用的虚拟服务器。使用三台机器就可以用LVS实现最简单的集
群,如图1所示。
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
图1 LVS实现集群系统结构简图
图1显示一台名为Director的机器在集群前端做负载分配工作;后端两台机器称之为
Real Server,专门负责处理Director分配来的外界请求。该集群的核心是前端的Director
机器,LVS就是安装在这台机器上,它必须安装Linux。Real Server则要根据其选用的负
载分配方式而定,通常Real Server上的设置比较少。接下来介绍Director机器上LVS的
安装过程。
安装
LVS的安装主要是在Director机器上进行,Real Server只需针对不同的转发方式做简单
的设定即可。特别是对LVS的NAT方式,Real Server惟一要做的就是设一下缺省的网关。
所以构架集群的第一步从安装Director机器开始。
首先,要在Director机器上安装一个Linux操作系统。虽然早期的一些Red Hat版本,
如6.2、7.2、8.0等自带Red Hat自己的集群软件,或者是在内核中已经支持LVS,但是为
了更清楚地了解LVS的机制,笔者还是选择自行将LVS编入Linux内核的方式进行安装,
Linux版本采用Red Hat 9.0。
如果用户对Red Hat的安装比较了解,可以选择定制安装,并只安装必要的软件包。
安装中请选择GRUB 做为启动引导管理软件。因为GRUB 在系统引导方面的功能远比
LILO强大,在编译Linux内核时可以体会它的方便之处。
LVS是在Linux内核中实现的,所以要对原有的Linux内核打上支持LVS的内核补丁,
然后重新编译内核。支持LVS 的内核补丁可以从LVS 的官方网
http://www.linuxvirtualserver.org 下载,下载时请注意使用的Linux核心版本,必须下载和
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
使用的Linux内核版本相一致的LVS内核补丁才行。对于Red Hat 9.0,其Linux内核版本
是2.4.20,所以对应内核补丁应该是http://www.linuxvirtualserver.org/software/kernel-
2.4/linux-2.4.20-ipvs-1.0.9.patch.gz。笔者经过多次实验,使用Red Hat 9.0自带的Linux
源代码无法成功编译LVS 的相关模组。由于时间关系笔者没有仔细研究,而是另外从
kernel.org上下载了一个tar包格式的2.4.20内核来进行安装,顺利完成所有编译。下面是
整个内核的编译过程:
1.删除Red Hat自带的Linux源代码
# cd /usr/src
# rm -rf linux*
2.下载2.4.20内核
# cd /usr/src
# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2
3.解压到当前目录/usr/src
# cd /usr/src
# tar -xjpvf linux-2.4.20.tar.bz2
4.建立链接文件
# cd /usr/src # ln -s linux-2.4.20 linux-2.4 # ln -s linux-2.4.20 linux
5.打上LVS的内核补丁
# cd /usr/src
#wget http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-
1.0.9.patch.gz
# gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz
# cd /usr/src/linux
# patch -p1 < ../linux-2.4.20-ipvs-1.0.9.patch
在打补丁时,注意命令执行后的信息,不能有任何错误信息,否则核心或模组很可能
无法成功编译。
6.打上修正ARP问题的内核补丁
# cd /usr/src
# wget http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff
# cd /usr/src/linux
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
# patch -p1 < ../hidden-2.4.20pre10-1.diff
这一步在Director机器上可以不做,但是在使用LVS/TUN和LVS/DR方式的Real Server
上必须做。
7.为新核心命名
打开/usr/src/linux/Makefile。注意,在开始部分有一个变量EXTRAVERSION可以自行定
义。修改这个变量,比如改成“EXTRAVERSION=-LVS”后,编译出的核心版本号就会显
示成2.4.20-LVS。这样给出有含义的名称将有助于管理多个Linux核心。
8.检查源代码
# make mrproper
这一步是为确保源代码目录下没有不正确的.o文件及文件的互相依赖。因为是新下载的内
核,所以在第一次编译时,这一步实际可以省略。
9.配置核心选项
# make menuconfig
命令执行后会进入一个图形化的配置界面,可以通过这个友好的图形界面对内核进行定制。
此过程中,要注意对硬件驱动的选择。Linux支持丰富的硬件,但对于服务器而言,用不到
的硬件驱动都可以删除。另外,像Multimedia devices、Sound、Bluetooth support、Amateur
Radio support等项也可以删除。
注意,以下几项配置对LVS非常重要,请确保作出正确的选择:
(1)Code maturity level options项
对此项只有以下一个子选项,请选中为*,即编译到内核中去。
Prompt for development and/or incomplete code/drivers
(2)Networking options项
对此项的选择可以参考以下的配置,如果不清楚含义可以查看帮助:
<*> Packet socket
[ ] Packet socket: mmapped IO
< > Netlink device emulation
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
Network packet filtering (replaces ipchains)
[ ] Network packet filtering debugging
Socket Filtering
<*> Unix domain sockets
TCP/IP networking
IP: multicasting
IP: advanced router
IP: policy routing
[ ] IP: use netfilter MARK value as routing key
[ ] IP: fast network address translation
<M> IP: tunneling
IP: broadcast GRE over IP
[ ] IP: multicast routing
[ ] IP: ARP daemon support (EXPERIMENTAL)
[ ] IP: TCP Explicit Congestion Notification support
[ ] IP: TCP syncookie support (disabled per default)
IP: Netfilter Configuration --->
IP: Virtual Server Configuration --->
(3)Networking options项中的IP: Virtual Server Configuration项
如果打好了LVS的内核补丁,就会出现此选项。进入Virtual Server Configuration选项,
有以下子选项:
<M> virtual server support (EXPERIMENTAL)
IP virtual server debugging
(12) IPVS connection table size (the Nth power of 2)
--- IPVS scheler
<M> round-robin scheling
<M> weighted round-robin scheling
<M> least-connection scheling scheling
<M> weighted least-connection scheling
<M> locality-based least-connection scheling
<M> locality-based least-connection with replication scheling
<M> destination hashing scheling
<M> source hashing scheling
<M> shortest expected delay scheling
<M> never queue scheling
--- IPVS application helper
<M> FTP protocol helper
以上所有项建议全部选择。
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
(4)Networking options项中的IP: Netfilter Configuration项
对于2.4版本以上的Linux Kernel来说,iptables是取代早期ipfwadm和ipchains的
更好选择,所以除非有特殊情况需要用到对ipchains和ipfwadm的支持,否则就不要选它。
本文在LVS/NAT方式中,使用的就是iptables,故这里不选择对ipchains和ipfwadm的
支持:
< > ipchains (2.2-style) support
< > ipfwadm (2.0-style) support
10. 编译内核
(1)检查依赖关系
# make dep
确保关键文件在正确的路径上。
(2)清除中间文件
# make clean
确保所有文件都处于最新的版本状态下。
(3)编译新核心
# make bzImage
(4)编译模组
# make moles
编译选择的模组。
(5)安装模组
# make moles_install
# depmod -a
生成模组间的依赖关系,以便modprobe定位。
(6)使用新模组
# cp System.map /boot/System.map-2.4.20-LVS
# rm /boot/System.map
# ln -s /boot/System.map-2.4.20-LVS /boot/System.map
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-LVS
# rm /boot/vmlinuz
# ln -s /boot/vmlinuz-2.4.20-LVS /boot/vmlinuz
# new-kernel-pkg --install --mkinitrd --depmod 2.4.20-LVS
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
(7)修改GRUB,以新的核心启动
执行完new-kernel-pkg命令后,GRUB的设置文件/etc/grub.conf中已经增加了新核心的
启动项,这正是开始安装Linux时推荐使用GRUB做引导程序的原因。
grub.conf中新增内容如下:
title Red Hat Linux (2.4.20-LVS)
root (hd0,0)
kernel /boot/vmlinuz-2.4.20LVS ro root=LABEL=/
initrd /boot/initrd-2.4.20LVS.img
将Kernel项中的root=LABEL=/改成 root=/dev/sda1 (这里的/dev/sda1是笔者Linux的根
分区,读者可根据自己的情况进行不同设置)。
保存修改后,重新启动系统:
# reboot
系统启动后,在GRUB的界面上会出现Red Hat Linux(2.4.20-LVS)项。这就是刚才编译的
支持LVS的新核心,选择此项启动,看看启动过程是否有错误发生。如果正常启动,ipvs
将作为模块加载。同时应该注意到,用LVS的内核启动后在/proc目录中新增了一些文件,
比如/proc/sys/net/ipv4/vs/*。
11.安装IP虚拟服务器软件ipvsadm
用支持LVS的内核启动后,即可安装IP虚拟服务器软件ipvsadm了。用户可以用tar包或
RPM 包安装,tar 包可以从以下地址http://www.linuxvirtualserver.org/software/kernel-
2.4/ipvsadm-1.21.tar.gz 下载进行安装。
这里采用源RPM包来进行安装:
# wget http://www.linuxvirtualserver.org/software/kernel-2.4/ipvsadm-1.21-7.src.rpm
# rpmbuild --rebuild ipvsadm-1.21-7.src.rpm
# rpm -ivh /usr/src/redhat/RPMS/i386/ipvsadm-1.21-7.i386.rpm
注意:高版本的rpm命令去掉了--rebuild这个参数选项,但提供了一个rpmbuild命令来实
现它。这一点和以前在Red Hat 6.2中以rpm—rebuild XXX.src.rpm来安装源RPM包的习
惯做法有所不同。
安装完,执行ipvsadm命令,应该有类似如下的信息出现:
# ipvsadm
中科红旗linux技术支持服务中心---西安站 http://linux.xab.ac.cn
中国科学院西安网络中心 中科红旗linux培训认证中心
IP Virtual Server version 1.0.9 (size=4096)
Prot LocalAddress:Port Scheler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
出现类似以上信息,表明支持LVS 的内核和配置工具ipvsadm 已完全安装,这台
Director机器已经初步安装完成,已具备构架各种方式的集群的条件。
实例
理解了上述关于请求转发方式和调度算法的基本概念后,就可以运用LVS来具体实现
几种不同方式的负载均衡的集群系统。LVS的配置是通过前面所安装的IP虚拟服务器软件
ipvsadm来实现的。ipvsadm与LVS的关系类似于iptables和NetFilter的关系,前者只是
一个建立和修改规则的工具,这些命令的作用在系统重新启动后就消失了,所以应该将这
些命令写到一个脚本里,然后让它在系统启动后自动执行。网上有不少配置LVS的工具,
有的甚至可以自动生成脚本。但是自己手工编写有助于更深入地了解,所以本文的安装没
有利用其它第三方提供的脚本,而是纯粹使用ipvsadm命令来配置。
下面就介绍一下如何配置LVS/NAT、LVS/TUN、LVS/DR方式的负载均衡集群。
1.设定LVS/NAT方式的负载均衡集群
NAT是指Network Address Translation,它的转发流程是:Director机器收到外界请求,
改写数据包的目标地址,按相应的调度算法将其发送到相应Real Server上,Real Server
处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Dire
Ⅲ 集群存储的集群存储相对传统NAS和SAN的优势
传统的SAN与NAS分别提供的是数据块与文件两个不同级别的存储服务,集群存储也分为提供数据块与文件两个不同级别存储服务的集群存储系统。
集群存储的优势主要体现在提高并行或分区I/O的整体性能,特别是工作流、读密集型以及大型文件的访问,通过采用更低成本的服务器来降低整体成本。
SAN系统具有很高的性能,但是构建和维护起来很复杂。由于数据块和网络需求的原因,SAN系统也很难扩容。NAS系统的构建和维护虽然比较简单,但是由于其聚合设备(又叫做NAS头)是其架构上的瓶颈,造成其性能很有限。集群存储提供了SAN和NAS结构的优点。在大多数使用集群存储的案例中,随着存储系统的扩容,性能也随之提升。一个大的集群存储的性能往往胜过一个SAN系统,但是价格也会更高。集群存储系统像NAS系统一样易于构建、操作和扩容。大多数集群存储系统没有传统NAS系统的固有瓶颈。
集群存储有两种实现方式:一种是硬件基础架构加上软件,典型代表是SAN架构+IBM GPFS;另一种是专用集群存储,典型代表是Isilon、NetApp GX以及Panasas,其中NetApp GX是构建在NAS基础架构之上的,但是通过操作系统实现集群存储。从这个角度讲,集群存储与SAN或NAS不存在竞争关系,是实现不同存储需求的解决方案。”
集群存储和NAS的概念是在文件系统层面上的,而SAN是在LUN层面上的,集群存储可以利用SAN环境实现。因此,集群存储与SAN解决的问题不同。如果一定要比较这两者的优缺点的话,可以说SAN做到的是多个服务器节点可以同时看到SAN环境中的同一个LUN,还不能做到多服务器节点间的文件级共享。
集群存储在性能、可靠性及扩展性等多个方面都远远优于 NAS。
Ⅳ 集群存储的特点
1. 开放式架构(高扩展性)
它针对集群存储内部构成元素而言。一般集群存储应该包括存储节点、前端网络、后端网络等三个构成元素,每个元素都可以非常容易地采用业界最新技术而不用改变集群存储的架构,且扩展起来非常方便,像搭积木一样进行存储的扩展。特别是对于那些对数据增长趋势较难预测的用户,可以先购买一部分存储,当有需求的时候,随时添加,而不会影响现有存储的使用。
2. 分布式操作系统
这是集群存储的灵魂所在。所有对集群存储的操作都经由分布式操作系统统一调度和分发,分散到集群存储各个存储节点上完成。使用分布式操作系统带来的好处是各节点之间没有任何区别,没有主次、功能上的区别,所有存储节点功能完全一致,这样才能真正做到性能最优。
3. 统一命名空间
统一命名空间在很多厂家的存储概念中都出现过。在集群存储中,统一命名空间强调的是同一个文件系统下的统一命名空间。它同样可以支持上PB级别的存储空间。如果是通过将若干有空间上限的卷挂载到某一个根目录的方式来达到统一命名空间,其效率和出现存储热点时的性能将会大大低于把上PB级别的存储空间置于同一个文件系统下管理的统一命名空间。
4. 易管理性
目前存储业界的管理方式都是通过各厂商的管理工具,或通过Web界面进行管理和配置,往往客户端还需要安装相关软件才能访问到存储上的空间。随着需要管理的存储空间逐渐增大,管理存储的复杂度和管理人员的数量也将会随之增加。而集群存储应该提供一种集中的、简便易用的管理方式,对客户端没有任何影响,采用业界标准的访问协议(比如NFS,CIFS)访问集群存储。
5. 负载均衡
集群存储通过分布式操作系统的作用,会在前端和后端都实现负载均衡。前端访问集群存储的操作,通过几种负载均衡策略,将访问分散到集群存储的各个存储节点上。后端访问数据,通过开放式的架构和后端网络,数据会分布在所有节点上进行存放和读取。
6. 高性能
关于高性能领域,目前对集群存储的讨论还仅局限在高带宽、高并发访问的应用模式下。毫无疑问,集群存储对于该类应用可以提供比传统存储架构更优的性能。但目前应用除了高带宽、高并发访问类的之外,还有高IOPS、随机访问、小文件访问以及备份归档等其他类的应用,集群存储应该在以上领域同样提供高性能的解决方案。
Ⅳ 分布式存储支持多节点,节点是什么,一个磁盘还是一个主控
节点是什么?
节点是存储节点的简称,一般来说1个节点是1个存储服务器。
其中一个存储节点坏了是否影响数据的访问?
这个主要取决于你采取的数据保护措施,主要有以下几种:
多副本:同一份数据会保存多份(通常设置为 2 副本或 3 副本),即使副本所在的节点宕机也不会造成数据丢失;
HA(高可用):节点宕机时,该节点上的虚拟机自动迁移至集群内其它节点,降低业务中断时间;
机架感知:根据机房物理拓扑结构,将副本分配在不同的机架、机箱、主机上,有效减少甚至避免物理硬件(电源、交换机等)故障导致的数据丢失。理论上,3 副本结合机架感知配置,系统可最多容忍 2 个机架上的主机全部失效;
快照:为虚拟机打快照,在其发生故障时将数据恢复至快照状态;
双活:同城双数据中心,灾难时无损快速恢复业务(RPO=0);
备份:异地主备数据中心,灾难时尽可能挽回数据损失。
Ⅵ redis 集群为什么至少3主节点
redis sentinel集群为什么要3个以上
3个以上是通过增加 sentinel
节点的个数提高对于故障判断的准确性,因为领导者选举需要至少一半加1个节点,奇数个节点可以在满足该条件的基础上节省一个节点, 简单的说:
如果有3个节点的 sentinel 当一个 redis 出现问题的时候, sentinel
会马上进投票选举,只有选票超过半数才主观下线哦!,最后客观下线 , 所以要3个sentinel节点.
Ⅶ Hadoop集群的主节点会存储数据吗
主节点不会存储数据,数据节点专门存储数据,主节点存储了元数据信息。
主节点的磁盘中存储了文件到块的关系,集群启动后,数据节点会报告名字节点 机器和块的关系,这两个关系组合起来便可找到文件所在机器的位置。
如果名字节点所在的机器也配置到slave文件里,那么此台机器即是名字节点也是数据节点!
Ⅷ 什么是集群存储
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集
群应用、网格技术或分布式文机房集中监控系统件系统等功能,将网络中大量各种不同类
型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的
一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就
需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一
个以数据存储和管理为核心的云计算系统。他们基于虚拟化技术和集群架构,具有强大的
横向扩展能力。云存储设备横向扩展的方式让存储系统具有了无限扩展的能力,它能够实
现控制器与硬盘的同时扩展,也就是性能与容量可以同时实现线性扩展。
集群存储是通过将数据分布到集群中各节点的存储方式,提供单一的使用接口与界面,使
用户可以方便地对所有数据进行统一使用与管理。集群中所有磁盘设备整合到单一的共享
存储池中提供给前端的应用服务器,极大提高了磁盘利用率,可以为非结构化数据提供具
备极高IO带宽和灵活可扩展性的存储解决方案。
Ⅸ 快速了解集群和双机热备相关知识
简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。 高可用集群不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。 什么是双机热备 所谓双机热备,其实可以认为是集群的最小组成单位,就是将中心服务器安装成互为备份的两台服务器,并且在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会迅速的自动启动并运行(一般为 为数分钟左右),从而保证整个网络系统的正常运行!双机热备的工作机制实际上是为整个网络系统的中心服务器提供了一种故障自动恢复能力。 您为什么需要集群 随着全球经济的增长,世界各地各种各样的组织对IT系统的依赖都在不断增加,电子贸易使得商务一周七天24小时不间断的进行成为了可能。新的强大的应用程序使得商业和社会机构对日常操作的计算机化要求达到了空前的程度,趋势非常明显,我们无时无刻不依赖于稳定的计算机系统。 这种需求极速的增长,使得对系统可用性的要求变得非常重要,许多公司和组织的业务在很大程度上都依赖于计算机系统,任何的宕机都会造成严重的损失,关键IT系统的故障可能很快造成整个商业运作的瘫痪,每一分钟的宕机都意味着收入、生产和利润的损失,甚至于市场地位的削弱。高可用集群的实现模式 集群中节点可以以不同的方式来运行,这要看它们是如何设置的。在一个理想的两个节点的集群中,两个服务器都同时处于活动状态,也就是在两个节点上同时运行应用程序,当一个节点出现故障时,运行在出故障的节点上的应用程序就会转移到另外的没有出现故障的服务器上,这样一来,由于两个节点的工作现在由一个服务器来承担,自然会影响服务器的性能。 针对这种情况的解决方案是,在正常操作时,另一个节点处于备用状态,只有当活动的节点出现故障时该备用节点才会接管工作,但这并不是一个很经济的方案,因为你不得不买两个服务器来做一个服务器的工作。虽然当出现故障时不会对性能产生任何影响,但是在正常运行时的性能价格比并不太好。 从上面的工作方式出发,我们可以把集群分为下面几种(特别是两节点的集群) 主/主 (Active/active) 这是最常用的集群模型,它提供了高可用性,并且在只有一个节点在线时提供可以接受的性能,该模型允许最大程度的利用硬件资源。每个节点都通过网络对客户机提供资源,每个节点的容量被定义好,使得性能达到最优,并且每个节点都可以在故障转移时临时接管另一个节点的工作。所有的服务在故障转移后仍保持可用,但是性能通常都会下降。 主/从(Active/passive) 为了提供最大的可用性,以及对性能最小的影响,Active/passive模型需要一个在正常工作时处于备用状态,主节点处理客户机的请求,而备用节点处于空闲状态,当主节点出现故障时,备用节点会接管主节点的工作,继续为客户机提供服务,并且不会有任何性能上影响。 混合型(Hybrid) 混合是上面两种模型的结合,只针对关键应用进行故障转移,这样可以对这些应用实现可用性的同时让非关键的应用在正常运作时也可以在服务器上运行。当出现故障时,出现故障的服务器上的不太关键的应用就不可用了,但是那些关键应用会转移到另一个可用的节点上,从而达到性能和容错两方面的平衡。 传统双机热备的发展方向 由于用户核心业务越来越多,有不停机需求的应用也越来越密集,用户的网络及存储环境从普通的电缆及直联式存储升级到光纤及SAN或ISCSI环境,使得原本可以使用双机热备方案满足的高可用应用开始力不从心, 用户纷纷寻求新的解决方案,能够兼容原有双机热备系统,又有很强大扩展能力的高可用集群方案逐渐成为了用户的首选,集群系统可以利用最新的SAN及ISCSI链路,形成多个可用点的核心系统,而且可以方便的增减节点,带来很强的扩展性。用户对核心系统的调配更加灵活,统一管理,减少投资,而且可以使用更多的策略保障最为关键的应用,甚至可以实现远距离的集群系统,令整个关键系统具有很强的容灾能力。因此,多节点高可用集群将成为双机热备用户的未来潜在选择。 它们都是为实现系统的高可用性服务的,都解决了一台服务器出现故障时,由其他服务器接管应用,从而持续可靠地提供服务的问题。 它们都是通过心跳技术在进行系统检测,一些比较高端的集群软件拥有多种检测链路,如比较高端的MLDC集群检测系统。 但是,双机软件只能支持两台服务器以主从方式或互备方式工作。而集群软件除了支持双机工作外,还可以支持多台服务器(Multi Node)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。 在两种情况下需要使用集群软件:一是有超过两个应用,本身就需要部署三台或更多的服务器。二是只有两个应用,但每个应用的负载均较大,不宜采用双机互备的方式,而是需要由第三台服务器来作为这两个应用的备机。 一般地讲,集群软件具有更多的技术含量,具备更高的可靠性。同时,往往价格(平均到每台服务器)也高于双机软件。 在选择产品时,应根据应用的实际情况来确定。最理想的方式,则是在应用数量少、负载不是很大时先使用双机软件,然后在应用数量增多、负载增大时平滑过渡到集群软件。 集群软件一定需要配合磁盘阵列柜才能正常运行吗 并非所有集群都需要使用共享的存储系统(如阵列柜),纯软技术(镜像技术)的出现和发展,使得集群系统必须拥有一致的数据源的问题有了另外一种实现方式。 目前联鼎集群系统拥有有两种典型的运行方式,一种是比较标准的,数台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装集群软件,实现高可用集群,称为共享方式。另一种方式是通过纯软件(如联鼎LanderSync软件)的方式,一般称为纯软件方式或镜像方式(Mirror)。 对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据,这种方式由于数据的一致性由共享存储设备来保障,不占用系统资源,而且没有数据传输的延迟,因此是中高端用户,及拥有大量关键数据的用户的首选方案。 对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。 由于可以节省共享存储硬件部分的大量投资,纯软件方式可以在一定程度上降低成本,并且由于在多个地方拥有数据的副本,数据的可靠性反而有所加强,另外由于脱离了直联存储的模式而使用TCP/IP协议,使得纯软双机在理论上能够实现远程容灾。 但是纯软方式也有一些不足: 1.需要占用部分系统资源,需要占用部分网络资源。 2.大数据量环境初始镜像时间较长,对于较大的并且变化频繁的数据,可能会存在传输延迟现象 因此,在选择使用何种集群方式之前,需要对用户的应用进行一定的评估,选择最理想的解决方案。
Ⅹ 电脑中一些专业的词汇,节点和集群 是指什么含义请教高人。
节点是一个很抽象和应用很广泛的概念,通俗的说就是某个大环境中的一个点或者一段,好比公交车线路中的一个站台。
一、在XML语言中
节点是XML文件中有效而完整的结构的最小单元。内含标示组的节点,加上必要属性、属性值及内容,便可构成一个元素。节点的标志符<>。
二、在互联网络中
节点可能代表的是一台计算机这样的物理节点,也有可能代表一个城市的网络。在有数据传入和输出的点都也可以叫节点。
三、在PhotoShop中等一些图象声音处理软件中
“钢笔工具”、“磁性钢笔工具”、“自由钢笔工具”都可以定义一个节点的开始结束,它们的功能是用来定义节点和初步画出路径的
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需求。
而集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低整体方案的运维成本(运行、升级、维护成本)。只要在其他技术不能达到以上的目的,或者虽然能够达到以上的目的,但是成本过高的情况下,就可以考虑采用集群技术。