利用DRBD和OpenSSI构建高可用集群系统
- 格式:pdf
- 大小:268.43 KB
- 文档页数:5
通过Pacemaker+corosync+DRBD配置Mysql的高可用集群通过Pacemaker+corosync+DRBD配置Mysql的高可用集群平台环境和节点信息:hostname ip 环境s1 192.168.122.10 CentOS 6.3 Linux 2.6.32-279.el6.x86_64 s2 192.168.122.11 CentOS 6.3 Linux 2.6.32-279.el6.x86_64 vip 192.168.122.12=====系统配置(两个节点)=====vi /etc/hosts192.168.122.10 s1192.168.122.11 s2[root@s1 ~]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=s1[root@s2 ~]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=s2[root@s1 ~]# hostname s1[root@s2 ~]# hostname s2关闭iptables(两个节点)[root@s1 ~]# service iptables stop[root@s1 ~]# chkconfig iptables off关闭selinux[root@s1 ~]# setenforce 0[root@s2 ~]# setenforce 0[root@s1 ~]# vi /etc/sysconfig/selinuxSELINUX=permissivessh信任[root@s1 ~]# ssh-keygen[root@s1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ************.122.11然后再反过来做同步时间[root@s1 ~]# yum install ntp[root@s1 ~]# chkconfig ntpd on[root@s1 ~]# ntpdate /doc/df15455318.html[root@s1 ~]# service ntpd start将新增的512M磁盘分区[root@s1 ~]# fdisk -cu /dev/sdbn/p/1/enter/enter/w[root@s2 ~]# fdisk -cu /dev/sdbn/p/1/enter/enter/w=====安装所需软件(两个节点)=====epel源[root@s1 ~]# rpm -ivh /doc/df15455318.html/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm[root@s2 ~]# rpm -ivh /doc/df15455318.html/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm安装pacemaker/corosync[root@s1 ~]# yum install pacemaker corosync -y[root@s2 ~]# yum install pacemaker corosync -y安装drbd[root@s1 ~]# rpm -ivh /doc/df15455318.html/elrepo-release-6-4.el6.elrepo.noarch.rpm[root@s1 ~]# rpm -ivh/doc/df15455318.html/linux/elrepo/el6/x86_64/RPMS/drbd84-utils-8.4.1-2.el6.elrepo.x86_64.rpm [root@s1 ~]# rpm -ivh /doc/df15455318.html/linux/elrepo/el6/x86_64/RPMS/kmod-drbd84-8.4.1-2.el6.elrepo.x86_64.rpm[root@s2 ~]# rpm -ivh /doc/df15455318.html/elrepo-release-6-4.el6.elrepo.noarch.rpm[root@s2 ~]# rpm -ivh /doc/df15455318.html/linux/elrepo/el6/x86_64/RPMS/drbd84-utils-8.4.1-2.el6.elrepo.x86_64.rpm [root@s2 ~]# rpm -ivh /doc/df15455318.html/linux/elrepo/el6/x86_64/RPMS/kmod-drbd84-8.4.1-2.el6.elrepo.x86_64.rpm[root@s1 ~]# rpm -qa | grep -e corosync -e pacemaker -e drbdcorosync-1.4.1-7.el6.x86_64pacemaker-libs-1.1.7-6.el6.x86_64pacemaker-cluster-libs-1.1.7-6.el6.x86_64pacemaker-1.1.7-6.el6.x86_64drbd84-utils-8.4.1-2.el6.elrepo.x86_64corosynclib-1.4.1-7.el6.x86_64pacemaker-cli-1.1.7-6.el6.x86_64kmod-drbd84-8.4.1-2.el6.elrepo.x86_64=====配置DRBD(仅在s1)=====[root@s1 ~]# lsmod | grep drbddrbd 306900 0libcrc32c 1246 1 drbd可以看到在安装完drbd后,drbd模块已经被内核加载了。
如何实现的双机热备如何实现的双机热备2009-01-05 12:19:58一.介绍作为服务器,需要提供一定的24X7的安全保证,这样可以防止关键节点的宕机引起系统的全面崩溃。
春笛公司在长期的邮件系统方案实施过程中,利用OpenSource开源软件,结合金笛邮件系统,成功地为多家单位实施了大容量邮件系统的高可靠双机热备方案。
基于linux的 HA软件可靠稳定,比使用商业版本的HA软件降低成本约9成左右。
在这里我们用 lvs 和 DRBD 实现了一个真实环境下的双机热容错集群。
这里的关键技术是如何实现ip代换, mon/heartbeat检测, 文件同步。
同样这一方法稍加改动就可以实现oracle热备份、ldap热备份等。
二.方案描述将真实服务地址绑定到一个虚拟网卡(eth0:1)上通过检测程序(heartbeat)来将主机或是备份主机的虚拟网卡(eth0:1)激活。
从而实现热备份。
使用网络硬盘RAID来同步文件。
检测程序通过内网进行监控。
金笛高可用邮件系统架构(双机系统)F2 工作模式a) 正常状态:正常工作状态b) 备份激活:node1失效,node2激活状态c) 主机就绪:node1故障排除,恢复状态d) 切换回正常模式:需要手动停止备份服务器的服务,系统会自动切换回正常模式三.软硬件需求两台双网卡主机完全安装 redhat6.2主机IP 10.0.0.126 备份主机IP 10.0.0.250实际服务即浮动IP 202.93.204.68邮件系统:金笛邮件系统Jindi-Mail2.0 ()HA软件:ftp:///pub/ha/piranha-docs-0.4.17-2.i386.rpmftp:///pub/ha/piranha-gui-0.4.17-2.i386.rpm ftp:///pub/ha/piranha-0.4.17-2.i386.rpmftp:///pub/ha/ipvsadm-1.11-4.i386.rpmplang.tuwien.ac.at/reisner/drbd/download/drbd-0.5.8.1.tar.gz安装软件:rpm –Uvh ipvsadm* piranha*两台主机都要装金笛邮件系统安装DRBD 安装Tar zvxf tar -zvxf drbd-0.5.8.1.tar.gzcd drbdmakemake install有如下相关文件/usr/sbin/drbdsetup/lib/modules/2.2.18pre11-va2.1/block/drbd.o/etc/ha.d/resource.d/etc/rc.d/init.d/drbd/sbin/insmod drbd进行测试应返回”Using /lib/modules/2.2.18pre11-va2.1/block/drbd.o” 四.设置编辑/etc/lvs.cf文件#Example of /etc/lvs.cf#还需要smtpd popd这两个启动脚本service = fos # 采用fos模式primary = 10.0.0.126 # 主ip地址(qmail)backup = 10.0.0.250 # 备份主机ip地址(Backup)backup_active = 1 # 激活备份heartbeat = 1 # 激活Heartbeatheartbeat_port = 1050 # Heartbeat端口keepalive = 2 # heartbeat间隔单位秒deadtime = 10 # 判定死机间隔rsh_command = ssh # 文件同步方案选ssh#failovermail服务failover pop {active = 1 # 激活监听服务address = 202.93.204.68 eth0:1 #port = 110 #pop 端口send = "n" #pop 连接特征串expect = "+OK" #pop 反馈特征串timeout = 10start_cmd = "/etc/rc.d/init.d/popd start" #pop 启动命令stop_cmd = "/etc/rc.d/init.d/popd stop" #pop关闭命令}failover smtp {active = 1 #激活监听服务address = 202.93.204.68 eth0:1 #port = 25 #smtp端口send = "n" #smtp 连接特征串expect ="220" #smtp 反馈特征串timeout = 10start_cmd = "/etc/rc.d/init.d/smtpd start" # smtp启动命令stop_cmd = "/etc/rc.d/init.d/smtpd stop" # smtp关闭命令}failover mirror {active = 1timeout = 10start_cmd = "/etc/ha.d/resource.d/datadisk start" # DRBD启动命令stop_cmd = "/etc/ha.d/resource.d/datadisk stop" # DRBD 关闭命令}同步LVS文件scp /etc/lvs.cf 10.0.0.112:/etc/lvs.cf编辑/etc/fstab加入(两台都要加)/dev/nb0 /var/qmail ext2 noauto 0 0 #FOS RAID如下/dev/sda1 /boot ext2 defaults 1 1/dev/sda2 / ext2 defaults 1 1/dev/nb0 /var/qmail ext2 noauto 0 0 #FOS RAID/dev/sda4 swap swap defaults 0 0/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0/dev/fd0 /mnt/floppy auto noauto,owner 0 0none /proc proc defaults 0 0none /dev/pts devpts gid=5,mode=620 0 0编辑/etc/drbd.confresource drbd0 {protocol=Bfsck-cmd=fsck.ext2 -p -yon thost1 {device=/dev/nb0disk=/dev/hda7address=10.0.0.126port=7789}on thost2 {device=/dev/nb0disk=/dev/hda7address=10.0.0.250port=7789}}检查两台主机drbd是否载入#/sbin/lsmodModule Size Used bydrbd 37792 0 (unused)3c59x 20880 1 (autoclean)如果drbd没有载入用如下命令载入/sbin/insmod /lib/modules/2.2.18pre11-va2.1/block/drbd.o在备份主机上挂接镜像盘/usr/sbin/drbdsetup /dev/nb0 disk /dev/sda2/usr/sbin/drbdsetup /dev/nb0 net 10.0.0.250 10.0.0.126 B在主机上挂接镜像盘/usr/sbin/drbdsetup /dev/nb0 disk /dev/sda2/usr/sbin/drbdsetup /dev/nb0 net 10.0.0.126 10.0.0.250 B/usr/sbin/drbdsetup /dev/nb0 primary两台主机安装文件卷/sbin/mkfs -b 4096 /dev/nb0mount /dev/nb0 /var/qmail启动启动主机的drbd/etc/rc.d/init.d/brdb start启动备份主机的drbd将金笛邮件系统安装到 /home/webmail启动主机的邮件系统 startup.sh启动主机的pulse/etc/rc.d/init.d/pulse start启动备份主机的drbd访问主机的smtp pop服务查看是否正常(这点很重要)然后才能启动备份主机的 pules以上顺序不能弄错测试连接qmail测试是否正常工作使用ifconfig 查看虚拟网卡是否工作停止主机的邮件系统服务shutdown.sh连接smtp pop 测试是否正常工作使用 ifconfig 查看备份主机的网卡是否工作正常的话应该将202.93.204.68绑定到这台主机上了然后在停止备份主机的qmail服务 202.93.204.68应该被绑回到主机上了。
DRBD项目实施之NFS高可用架构(NFS+Heartbeat+Drbd)本博文出自51CTO博客huangbo929博主,有任何问题请进入博主页面互动讨论!博文地址:/8355508/1587880由于目前线上的两台NFS服务器,一台为主,一台为备。
主到备的数据同步,靠rsync来做。
由于数据偏重于图片业务,并且还是千万级的碎图片。
在目前的业务框架下,NFS 服务是存在单点的,并且数据的同步也不能做完全实时性,从而导致不能确保一致性。
因此,出于对业务在线率和数据安全的保障,目前需要一套新的架构来解决 NFS 服务单点和数据实时同步的问题。
然后,就没有然后了。
下面是一个丑到爆的新方案架构图,已经在公司测试环境的部署,并且进行了不完全充分的测试。
架构拓扑:简单描述:两台 NFS 服务器,通过 em1 网卡与内网的其他业务服务器进行通信,em2网卡主要负责两台 NFS 服务器之间心跳通信,em3网卡主要负责drbd数据同步的传输。
前面的2台图片服务器通过 NFS 集群提供出来的一个VIP 192.168.0.219 来使用 NFS 集群服务。
一、项目基础设施及信息介绍1、设备信息1.现有的两台 NFS 存储服务器的硬件配置信息:2. CPU: Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz3. MEM: 16G4. Raid: RAID 15. Disk: SSD 200G x 26.网卡:集成的 4 个千兆网卡 Link is up at 1000 Mbps, full duplex7.前端两台静态图片服务器硬件配置信息:8.略2、网络1.浮动 VIP : 192.168.0.219 # 漂浮在M1和M2上,负责对外提供服务2.现有的两台 NFS 存储服务器的网络配置信息:3.主机名:M1.redhat.sx4. em1:192.168.0.210 内网5. em2:172.16.0.210 心跳线6. em3:172.16.100.210 DRBD千兆数据传输7.主机名:M2.redhat.sx8. em1:192.168.0.211 内网9. em2:172.16.0.211 心跳线10. em3:172.16.100.211 DRBD千兆数据传输3、系统环境1.内核版本:2.6.32-504.el6.x86_642.系统版本:CentOS 6.53.系统位数:x86_644.防火墙规则清空5.selinux关闭4、软件版本1.heartbeat-3.0.4-2.el6.x86_642.drbd-8.4.33.rpcbind-0.2.0-11.el6.x86_644.nfs-utils-1.2.3-54.el6.x86_64二、基础服务配置这里仅以 M1 服务的配置为例,M2 服务器配置与此相同。
如何搭建高可用性服务器集群在当今互联网时代,服务器集群已经成为许多企业和网站保证高可用性和性能的重要手段。
搭建高可用性服务器集群可以有效地提高系统的稳定性和可靠性,确保用户能够随时访问网站或应用程序。
本文将介绍如何搭建高可用性服务器集群,以帮助读者更好地理解和应用这一技术。
一、搭建高可用性服务器集群的意义搭建高可用性服务器集群的主要目的是提高系统的稳定性和可靠性,确保系统能够在面对各种故障和攻击时保持正常运行。
通过将多台服务器组成集群,可以实现负载均衡、故障转移和容灾备份,从而降低单点故障的风险,提高系统的可用性和性能。
二、搭建高可用性服务器集群的步骤1. 硬件准备:首先需要准备多台服务器,这些服务器可以是物理服务器或虚拟服务器,需要保证服务器的配置相对均衡,以实现负载均衡的效果。
此外,还需要网络设备如交换机、路由器等来连接服务器,确保服务器之间可以互相通信。
2. 网络配置:在搭建服务器集群之前,需要对网络进行合理的规划和配置。
可以采用专用的网络子网来连接服务器,确保服务器之间的通信稳定和安全。
同时,还需要配置防火墙和安全策略,保护服务器免受网络攻击。
3. 软件安装:选择合适的服务器集群软件,常用的有Nginx、Apache、Tomcat等,根据实际需求和系统环境进行安装和配置。
在安装软件时,需要注意版本的兼容性和稳定性,确保软件能够正常运行并实现负载均衡和故障转移。
4. 配置负载均衡:负载均衡是服务器集群的重要组成部分,可以通过软件或硬件来实现。
常用的负载均衡算法有轮询、加权轮询、最小连接数等,根据实际情况选择合适的算法进行配置,确保服务器能够均衡地分担请求负载。
5. 配置故障转移:故障转移是保证服务器集群高可用性的关键技术,可以通过心跳检测、自动切换等方式实现。
在配置故障转移时,需要考虑服务器的健康状态和故障恢复时间,确保系统能够在出现故障时快速切换到备用服务器,保证服务的连续性。
6. 容灾备份:除了故障转移,还需要进行容灾备份,即定期备份数据和配置文件,以防止数据丢失和系统崩溃。
软件开发知识:利用集群技术构建高可用性的系统随着互联网技术的不断发展,越来越多的企业和组织都在构建自己的高可用性系统,以保证业务的稳定性和数据的安全性。
其中的关键技术之一就是集群技术,通过多台服务器的联合工作,实现高可用性的系统构建。
本文将从以下四个方面深入阐述集群技术构建高可用性系统的要点和步骤。
首先,介绍集群技术的基本概念和原理。
其次,探讨如何利用集群实现系统的负载均衡和故障转移,同时介绍相关的软件和工具。
第三,详细解释如何选用适合的硬件设备和网络结构来搭建集群系统。
最后,对常见的集群系统故障进行分析,提出应对方法。
一、集群技术概述集群技术是一种将多台计算机联合起来构成一个高性能、高可用性、高扩展性的计算机系统的技术。
集群系统通常由多个相互独立的服务器节点组成,节点之间通过特定的网络通信协议进行数据的交换和共享。
在集群系统中,任何一个计算机节点都可以以工作节点的身份进入到整个集群体系中,从而实现任务的分配和执行。
而整个集群系统也可以通过编程、配置等方式实现负载均衡和故障转移,从而提高系统的可用性和稳定性。
二、集群技术实现高可用性系统的原理和步骤2.1负载均衡负载均衡是集群技术中最基本的概念之一。
在一个系统或服务中,用户的请求往往是随机分布的,不同请求的负载也会有所差异。
而通过负载均衡技术,可以将不同请求分配到不同计算机节点中进行处理,从而实现系统的负载均衡。
负载均衡可以分为硬件负载均衡和软件负载均衡两种类型。
硬件负载均衡一般采用专用网络交换机或路由器来实现,比如F5、NetScaler等;而软件负载均衡通常采用虚拟网络设备或软件来实现,比如Nginx、HAProxy等。
2.2故障转移故障转移指在集群系统中,如果某个节点出现了故障,如何及时将请求转发到其他节点,以保证系统的可用性和稳定性。
故障转移也可以分为硬件故障转移和软件故障转移两种类型。
硬件故障转移一般采用专用的硬件设备或热插拔设备来实现,比如磁盘阵列设备或高可用性存储系统。
利用DRBD和OpenSSI构建高可用集群系统*龚念袁由光(武汉数字工程研究所武汉430074)摘要为提高集群系统的可靠性和计算性能并降低成本,提出将单一系统映像的集群系统(S i ng l e Syste m I m age)和分布式复制块设备技术(DRBD)结合起来构建一种高可用集群(SSI-DRBD集群)。
这种利用单一系统映像和DRBD技术所构建的集群具有高性能、高可靠、实时性强、易管理和低成本等特点,可作为周期性、高强度和多元信息处理的平台。
关键词DR BD O penSSI LV S SSI root fa il ove r中图分类号TP3911引言集群是利用现有的工作站或高档微机资源,通过高速网络连接构成的并行系统,由于具有用户投资风险小、结构可扩展性好、用户可继承原有的软件资源、编程方便并且构造简单等特点,目前已成为并行处理发展的主流。
现在常用的集群大致分为科学集群、负载均衡集群和高可用性集群三种。
在军用指控系统中,必须采用高可用集群以满足作战要求。
在高可用集群中,为了保证数据的高可靠性,数据的保存大多依赖SAN,NAS等共享存储设备。
一旦采用SAN,NAS,就意味着整个集群成本的提高。
为了满足指控系统的要求并降低成本,本文提出一种利用DRBD技术和两台普通商用PC来构建高可靠的存储设备的方法,以满足我们对数据的高可靠性要求。
除了数据的高可靠性之外,集群的可管理性和易用性对于集群的管理员和用户来说也是一个非常重要的问题,利用分布式系统中的单一系统映像技术,使得管理员和用户像使用一台虚拟的大型计算机一样来管理整个集群,从而具有很好的可管理性和易用性。
2SSI系统设计单一系统影响SSI是由中间件层实现的,处于操作系统和用户层环境中间。
集群中间件负责为独立但互连的计算机对外提供统一的系统映像(单一系统映像)。
整个系统分为三部分,具体个部分的功能如下:第一层:前端机和备份机,运行LVS来进行调度,两者互为备份以提高系统的可用性,是整个系统的信息入口,负责接收客户端请求,并将这些请求按照一定的策略(8种调度算法)分配到集群内部的各处理节点。
第二层:集群内部处理节点的本地操作系统内核和本地进程。
集群内部处理节点的本地操作系统内核以及本地进程负责各个节点的系统自举,提供基本的OS底层调用以及基本的应用软件支持,逻辑上位于集群系统SSI的边界之外。
第三层:SSI(S i n gle Syste m I m age)层,集群系统中间件层,包括全局I PC,全局工作进程S I O S,逻辑上位于集群系统SSI的边界之内。
SSI实现在操作系统内核层,通过修改与I PC对象,进程信号相关的系统调用,集群内部节点相互协作,统一调度,透明的对用户层应用程序提供SSI服务。
3关键技术3.1单一系统映像(OpenSSI)OpenSS I的目标是建立一个可扩展、可用性高、可管理的集群环境。
其核心技术体如下:(一)全局进程I D号:运行在集群环境中的每个进程在整个集群范围内都有自己唯一的PI D。
特别是对于用户、管理人员或某个进程,集群中所有节点上的所有进程都可见、可访问的(/proc目录展示所有进程),就像运行在一台机器上,因此用户可以启动远程节点上的进程,甚至可以将某个节点上正在运行的进程迁移到其它节点上。
(二)文件系统的单一映像:整个集群只有一45第35卷(2007)第8期计算机与数字工程*收到本文时间:2006年10月20日作者简介:龚念,男,硕士研究生,研究方向:并行计算与系统结构。
袁由光,男,研究员,研究方向:计算机系统结构。
个根文件系统(root filesyste m ),该文件系统的目标是让所有节点上的进程看到相同的文件树(fil e sys -te m tree),并且根文件系统在集群范围内都是可见的。
其中/etc /fstab 文件用于记录所有节点上的文件系统,这样可以明确每个节点上有哪些文件系统,还可以记录文件系统在节点间的转移情况,除此之外,系统用/ect/m tab 文件来记录每个文件系统挂接的位置。
(三)全局进程间通讯对象:OpenSSI 集群上所有进程间通讯对象(I PC)在整个集群范围内部都是可共享、可命名的。
这意味着对于信号量、消息队列、共享内存等,它们都在一个名字空间(na m espace)中,并且所有节点都可以使用这些对象。
虽然SSI 集群支持远程设备访问,但每个节点仍然有自己的一组设备(通过dev fs 管理)、设备目录和自己的交换空间(s w ap space)。
(四)虚拟I P 技术:首先,每个节点有多个地址,其中一个地址是用于内核通讯(kerne l-to -kerne l co mm un i c ation)。
这个地址还可以用于MPI 或不同节点上应用程序之间的通讯。
其次,当某个节点发生故障或是从集群中离开时,集群将该节点机网卡的工作转移到其它节点的网卡上,这样集群就能对外提供不间断的服务。
3.2 分布式复制块设备分布式复制块设备技术(DRBD )是由内核模块和相关脚本构成,它可用于构建高可用性集群。
其实现方式是通过网络镜像整个设备,以达到提供高可靠数据服务的目的。
DRBD 和OpenSSI 的搭配使用能够为各种机构和组织提供一个经济有效的高可靠集群服务平台,并且增强应用程序、数据传输和网络服务的可靠性。
DRBD 的工作模式如下:每个设备(drbd 提供了不止一个设备)都有一个状态,可能是/主0状态或/辅助0状态。
在具有主状态设备的节点上,应用程序应能运行和访问设备/dev /nbX (dr bd 的低级别设备)。
每次写入都会发往本地低级别块设备和带有/辅助0状态设备的节点中。
辅助设备只能简单地把数据写入它的低级别块设备上。
读取数据通常在本地进行。
如果主要节点发生故障,利用心跳机制把辅助设备转换到主状态,并启动其上的应用程序。
如果你将它和无日志FS 一起使用,则需要运行文件系统检查程序(fsck)。
如果发生故障的节点恢复工作,它就会成为新的辅助节点,而且必须使自己的内容与主节点的内容保持同步。
当然,这些操作不会干扰到后台的服务。
目前大部分主流高可用性集群(如:惠普、康柏等等)使用的都是共享存储器,存储器连接集群多个节点(用共享的SCSI 总线或光纤通道就可以做到)。
DRB D 也可以作为一个共享设备,但它并不需要任何不常见的硬件。
它在I P 网络中运行,而且在价格上I P 网络比专用存储网络经济的多。
下面我们将利用OpenSSI 和DRBD 这两种技术来搭建一个高可用的SSI-DRBD 集群,并从系统的拓扑结构和配置与测试对整个集群系统作一个详细的介绍。
4 SSI-DRBD 集群拓扑结构与实验结果图1 SSI-DRBD 集群体系结构我们构建的SSI-DRBD 集群的拓扑结构如图1所示。
该集群由n 个计算节点组成,分别是ROOT 1,ROOT 2,NODE 3,NODE 4,,NODE n-1和NODE n 。
其中ROOT 1和ROOT 2是OpenSSI 的监控节点(M on ito r),也是根文件系统(Root F ilesyste m )的挂接点。
在图1中:n 个节点通过交换机连接构成集群,其中配备了DRBD 软件的ROOT 1和ROOT 2成为集群的根文件系统,同时也负责管理、控制整个集群。
它们当中一个作为主控节点(Pr-i m ary node ),另一个作为从控节点(Secondar y node),这两个节点同时可充当计算节点。
实际试验过程当中,我们利用七台普通商用PC 机按照如图一中的拓扑结构构建了一个SSI-DRBD 的集群系统,其中两台计算机作为客户机(CLI E NT )、两台计算机作为主控节点和从控节点,其他三台计算机作为集群的计算节点。
在正常情况下,只有主控节点对外提供集群服务,而从控节点处于热备状态(S tandby),主/从节点上分别配有两块网卡,其中一个作为集群内部联接,另一个对外提供集群服务。
两块对外提供集群服务的网卡应用集群虚拟I P 技术与外网连接,为46龚 念等:利用DRBD 和OpenSSI 构建高可用集群系统 第35卷用户提供单一的虚拟I P地址。
如果正在对外提供服务的主控结点宕机,那么从控节点将立刻接替它的工作,继续对外提供服务,从而提高了整个系统的可靠性和可用性。
4.1系统配置硬件需求:7台普通商用PC机(其中两台需配有双网卡并作为互备根节点)软件需求:DRBD软件、基于OpenSSI的内核源码包、OpenSSI软件和刻有etherboot可光盘引导的光盘(所有软件包拷贝到/usr/src目录下)(1)安装操作系统选取其中一台拥有双网卡的计算机作为节点1,安装RedhatH at Fedora Core2,安装过程中硬盘分区时请注意,/boot区和根目录区必需分开,并且在扩展分区中建立一个drbd的次级设备分区。
最后为两块网卡配置I P地址并修改host n a m e。
(2)安装OpenSS I解压缩OpenSSI软件,进入其目录执行安装命令,安装过程中有两点要注意:首先安装过程中选择的网卡是内联的网卡,用于连到N ode2,其次,一定要选择启用根文件系统失效转移(roo t fa ilover)的功能。
(3)安装DRBD解压缩drbd软件,进入其目录执行m ake in-stall命令安装。
最后创建initrd文件,并修改GRUB启动目录使其能够以新的L i n ux内核启动。
(4)配置节点2将另外一台拥有双网卡的计算机用e t h er boo t 启动,这台计算机作为节点1的备份节点,在N ode1上利用ssi-addnode命令添加第二个节点,注意在配置过程中选择roo t fa ilover。
在N ode2上对其硬盘进行分区使其与节点1的硬盘分区相一致,最后进入Node2的GRUB编辑器修改Node2从本地硬盘启动。
在配置完节点1和节点2后,在节点1上利用ssi-addnode命令集群添加其他三台计算机作为集群系统的计算节点,剩下的两台计算机负责从外网访问整个集群系统,最后启动整个集群系统(ROOT1和ROOT2都从本地磁盘启动)。
至此,整个集群系统配置完毕。
配置过程中需要注意的问题:(1)对于异构的集群系统,根文件系统节点ROOT1和ROOT2非常重要,请选择同为超线程和非超线程的机器,目前为止,DRBD对于超线程和非超线程的机器做DRB D还存在bug,配置将失败。
(2)特别注意在对ROOT1和ROOT2进行硬盘分区时,/boot分区和根目录分区必须划分为两个独立的分区,并且ROOT1和ROOT2的硬盘分区顺序要匹配,容量最好也相当,否则数据镜像将失败。