把Linux高可用性请入你的数据中心

网友投稿 271 2022-10-19


把Linux高可用性请入你的数据中心

当运转一个对于你的IT环境具有重要意义的服务时,有必要保证它使用高可用性(high-availability,HA)技术,包含配置软硬件。本文会教你如何使用Corosync和Pacemaker,为Linux的环境配置高可用性。

Linux HA 软件

Corosync和Pacemaker是Linux HA的实际执行标准。Corosync核对群集中所有的节点,确保其可用,Pacemaker负责群集中资源的位置。

你可以把两个软件都安装到所有的Linux发行套件中去,来创建一个可以保护重要服务的HA stack。本篇技巧中,我们将以OpenSUSE作为Linux套件的例子,因为它可以做一个免费的test drive。决定让OpenSUSE来保障服务之后,你可以为你的企业Linux套件买一个支持版的。SUSE和红帽都有HA版本的Linux,可用额外的企业级支持。

我们来学习一下如何安装,并观察其中一些功能。

安装软件

输入以下命令,可以为OpenSUSE安装Pacemaker和Corosync:

zypper install pacemaker pacemaker-mgmt

这条命令会在你服务器上安装所有运行Linux HA环境必要的Pacemaker软件,一般来说,这条命令覆盖所有在HA群集上使用的节点,但是对于安装测试环境来说,最好只在一个节点上使用该命令。完成之后,你就可以开始配置软件,构建节点。

群集的更低层面有Corosync进程服务,这需要一个在/etc/corosync/corosync.conf的主配置文件。这个文件用来指定群集中的节点如何互相保持关联。安装过程,会给你一个名字类似corosync.conf.example的文件,包含了你需要用来启动群集的所有东西。只有一项需要调整,那就是界面设置,这在配置文件的totem section之中。使用命令ip address show来确定群集中每个系统的IP地址,还要确保网络设置与使用中的实际网络地址相一致:

totem {

...

interface {

ringnumber: 0

bindnetaddr: 192.168.1.0

mcastaddr: 226.94.1.1

mcastport: 5405

}

}

第一点:确保改变界面设置,以反映你的当前网络设置。

创建corosync.conf文件之后,就得开始openais service,这负责在OpenSUSE上启动Corosync。使用service openais start命令:

service openais start

启动了openais service之后,可以启动crm_mon命令。这个命令能显示你的群集stack是否可用,告诉你群集中现有节点的数量。如果你在output中看到其他东西,那也不妨,即使群集中的节点被标记为offline。

图1:确保Corosync layer在继续工作之前已经可用。

为服务配置Linux HA

一旦Corosync layer能行了,你就可以继续创建HA的下一步。为了便于理解,我先告诉你如何创建高可用性IP地址。首先为用户hacluster(在群集环境中的默认用户账号)创建密码,使用passwd hacluster命令,输入你要设的密码。

ID: testip

Class: ocf

Provider: heartbeat

Type: IPaddr2

图2:配置完HA的资源,你可以通过crm_gui命令的管理部分确定它是否成功。

现在可以做最终测试了:IP地址已经配置好了,可以被群集管理了,这意味着群集在停止运转后,启动了IP地址。你可以手动停止IP地址,来测试运行情况。比如说,如果你使用了192.168.1.169作为地址,与界面eth0相关联,使用ip addr del dev eth0 192.168.1.169命令。几秒钟后,使用ip addr show检查IP地址是否存在。群集正常情况下应该在那段IP地址重启节点。

这篇技巧中,你已经知道如何配置基本的HA群集。这个群集还不能为产品服务,因为你还没有弄好重要服务,比如STONITH和共享的存储,但是这已经给配置Linux HA群集的重要步骤打下了基础。在我们下一篇文章中,你会学到如何使用你的Linux HA中的共享文件。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:罗森伯格参加中国智能建筑技术发展应用巡回重庆,合肥论坛
下一篇:@Accessors(chain = true)注解报错的解决方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~