Articles of 高可用性

具有自动服务启动的冷备用的高可用性负载平衡

我正在尝试在AWS中为正在运行的应用程序设置高可用性群集。 该应用程序位于Oracle RDS前面的EC2实例上。 如果我使用传统的负载均衡,并且同时运行两个实例,那么数据库就会损坏,因为这两个实例将对数据库进行更改,但不会彼此识别,所以我需要执行主动/被动负载平衡。 我的问题是,如果被动实例正在运行应用程序,即使没有stream量进入,它也会在0.1%左右的时间内对数据库进行更改。 这意味着我需要确保当主节点健康时应用程序服务没有在备份节点上运行。 我的理想场景是运行主动/被动故障转移,可以执行以下操作: 运行状况检查主节点 如果主节点健康,则将stream量转发到主节点 如果主节点不健康,请运行启动服务的脚本,然后将stream量转发到辅助节点 我一直在研究HAProxy,但是我还没有看到在主节点出现故障的情况下让HAProxy在备份服务器上运行任意脚本的方法。 我见过关于使用keepalived的一些讨论。 我在Keepalived中build议可能吗? 还有什么可以做到的吗?

HAProxy – 从命令行清除粘贴表

我正在使用HAProxy为LDAP服务器执行自动故障转移,但我不希望自动故障恢复。 场景是我有2个节点,s1和s2。 我希望所有的stream量去s1,除非它失败,当它失败,我希望所有的stream量去s2。 当s1再次变得健康的时候,我不希望自动将stream量发送回去,因为有些条目将在s2上生成。 我希望确保所有数据都已经同步,然后再使s1处于活动状态。 我像这样configurationHAProxy: backend bk_app stick-table type ip size 1 nopurge stick on dst option httpchk server s1 10.37.226.118:80 check server s2 10.37.226.113:80 check backup 这似乎工作,即使s1健康了,连接仍然继续到s2。 我的问题是 – 如何从命令行清除stick-table,换句话说,如何将stream量redirect到s1? 我看到了一些build议,如果我强制s2失败,HAProxy会将stream量redirect回s1。 这似乎工作,但是当s2再次变得健康的时候,HAProxy将stream量再次引导回到s2,换句话说,stick-table仍然有效。 我看到一些build议,说我只需要重新启动HAProxy,完美的工作,但这看起来像核选项! 是否有某种命令行选项来清除粘贴表?

如何让Pacemaker在一个组中重新启动服务

我已经安装了2台安装了Pacemaker和Corosync的机器。 在那里我有一个PostgreSQL主/从设置运行。 Master拥有一个拥有虚拟IP的资源组和两个应该在主服务器上运行的附加服务。 如果通过杀死数据库主服务器触发故障切换,则会将组中的所有服务迁移到另一个节点,这正是我期望和希望的。 然而,额外的服务将被标记为失败,当我杀了他们多数民众赞成它。 因为我只想在数据库失败的时候发生迁移,所以实际上没有问题。 但是,我希望Pacemaker重新启动这些服务,以防万一他们失败,而不仅仅是标记为失败。 我的期望是,当我将on-fail = restart标志添加到这些服务的监视器操作时,它确实会这样做,但事实并非如此。 这个小组看起来像这样: Group: master-group Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2) Attributes: ip=1.2.3.4 cidr_netmask=24 nic=ens1f0 Operations: start interval=0s timeout=20s (VirtualIP-start-interval-0s) stop interval=0s timeout=20s (VirtualIP-stop-interval-0s) monitor interval=30s (VirtualIP-monitor-interval-30s) Resource: additional-resource1 (class=ocf provider=heartbeat type=additional-resource1) Operations: stop interval=0s timeout=20s (additional-resource1-stop-interval-0s) monitor interval=60s timeout=20s (additional-resource1-monitor-interval-60s) start interval=0s on-fail=restart timeout=20s (additional-resource1-start-interval-0s) Resource: additional-resource2 […]

起搏器集群问题 – 如果从主防火墙拔下网线,备用防火墙不会接pipe

我有一个与心脏起搏器群集有关的问题。 我在Active / Backup HA中使用了两个防火墙。 检测信号IP在专用networking上为10.0.0.1 (FW 1)和10.0.0.2 (FW 2)。 局域网上的stream量IP为131.107.2.2 (FW 1), 131.107.2.3 (FW 2),虚拟IP为131.107.2.101 。 广域网上的stream量IP为192.168.100.98 (FW 1), 192.168.100.99 (FW 2),虚拟IP为192.168.100.101 。 如果FW 1断电,则FW 2将按照预期进行接pipe,但是如果LANnetworking上的网线断开,则不会发生切换。 以下组件正在集群中使用: 起搏器 corosync DRBD contrackd 任何帮助是极大的赞赏。

加载mod_cluster问题,同时重新启动Apache

我正在configurationmod_cluster,使用apache 2.4,Redhat 7.0,Jboss EAP 6.3。 解压mod_cluster-1.2.6.Final-linux2-x64-so.tar并将mod_advertise.so , mod_manager.so , mod_slotmem.so , mod_proxy_cluster.so复制到/etc/httpd/modules目录下。 下面改成httpd.conf文件: LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule slotmem_module modules/mod_slotmem.so LoadModule manager_module modules/mod_manager.so #LoadModule proxy_cluster_module modules/mod_proxy_cluster.so <IfModule manager_module> ManagerBalancerName mycluster Listen 127.0.0.1:1001 <VirtualHost 127.0.0.1:1001> <Directory /> Order deny,allow Allow from all </Directory> KeepAliveTimeout 300 MaxKeepAliveRequests 0 #AdvertiseFrequency 5 #ServerAdvertise off EnableMCPMReceive On <Location […]

在节点故障时自动迁移OpenStack实例

我想知道是否有一个现代nova(超越牛顿)的选项允许我自动故障转移托pipe在失败的节点上的实例? 我知道云计算的目的是创build一个群,所以不用担心这种问题,但是,你知道,客户并不总是performance得像你打算的那样。 此外,我不想强​​迫我的客户产生多个实例,所以付出了两倍的代价,以确保没有什么不好的事情发生。 这可以实现而不使用分布式/共享存储?

红帽卫星 – 组合vms的方式,并且由于高可用性而只重启组的部分

我正在运行一个卫星服务器,还有不lessvista的redhat,其上安装了不同types的软件。 当有时需要重新启动vms时,我需要一种以编程的方式做到这一点,而不是同时重新启动所有types的。 随着木偶,我可以分类他们,但我不知道一个工具,以高可用性的方式重新启动他们。 我需要自己编写代码还是有人知道一个好的工具? 谢谢,最好的问候,蒂莫

保持两个vrrp_instance主/备份和另一个备份/主

我试图使用两个服务器的两个单独的服务使用keepalivedconfiguration高可用性。 我的想法是,一台服务器将是另一台的备份: 在服务器1中configuration优先级较低的vrrp_instance 1,优先级较高的服务器2中configurationvrrp_instance 1 在服务器1中configuration具有较高优先级的vrrp_instance 2,在具有较低优先级的服务器2中configurationvrrp_instance 2 问题在于,他们强制选举,即使是强硬对手也有优先权。 这是可行的吗? 服务器一: vrrp_instance VI_1 { state BACKUP interface ens32 virtual_router_id 51 priority 102 advert_int 4 authentication { auth_type PASS auth_pass firstpassword } virtual_ipaddress { 192.168.0.119/32 dev ens32 } } vrrp_instance VI_2 { state MASTER interface ens32 virtual_router_id 52 priority 151 advert_int 4 authentication { auth_type PASS […]

GlusterFS SSL不起作用

我一直在尝试几个小时才能在pipe理和I / Opath上获得GlusterFS SSL workong无济于事,所以我希望你能帮助我。 我试过了简单的方法: openssl genrsa -out glusterfs.key 4096 openssl req -new -x509 -key glusterfs.key -subj "/CN=Anyone" -out glusterfs.pem 然后我把glusterfs.pem从所有对等体连接到glusterfs.ca并将glusterfs.ca分配给所有节点。 以下文件存在: /etc/ssl/glusterfs.key /etc/ssl/glusterfs.pem /etc/ssl/glusterfs.ca 我已经创build了该文件来在pipe理path上启用SSL并重新启动glusterd。 touch /var/lib/glusterd/secure-access systemctl restart glusterd 我的glusterd.log现在正在logging数百条(每分钟几十条)显示SSL错误: [2017-08-29 22:01:07.535725] E [socket.c:202:ssl_dump_error_stack] 0-socket.management: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number [2017-08-29 22:01:07.535760] E [socket.c:2519:socket_poller] 0-socket.management: server setup failed 当我尝试在I / Opath上启用SSL时,在卷日志中发生同样的错误,当我尝试更复杂的方式创build我的glusterfs。*文件时也会发生同样的错误。 例: openssl […]

MySQL HA + LB:Keepalived + HAProxy vs Keepalived独自一人

脚本 对于我的应用程序,我想有高度可用的MySQL / MariaDB设置。 由于自动数据冗余和即时可用性,我发现Galera Cluster在这种情况下很有趣。 我的目标是这样的: 隐藏应用程序的集群复杂性(集群可以变得更大,并且改变拓扑添加一些asynchronous节点) 透明地处理应用程序之外的故障转移 为某些常见的情况写入和读取同步实例提供负载均衡, 仍然允许应用程序访问特定的节点,例如针对分析的顺序读取进行优化的例如asynchronous节点。 如果这个节点失败,我希望应用程序故障转移到标准的Galera实例,透明地保持一切正常运行。 做到目前为止 我已经阅读了许多关于如何设置高可用性和负载平衡的MySQL集群的HAProxy和Keepalived串联的文章,但没有一篇解释了为什么要使用这个二重奏的MySQL / MariaDB / Galerascheme。 一些例子: HAProxy + Keeplived,任何MySQL CE集群+ Galera: https ://severalnines.com/resources/tutorials/mysql-load-balancing-haproxy-tutorial HAProxy + Keepalived,Galera集群: http : //www.fromdual.com/making-haproxy-high-available-for-mysql-galera-cluster HAProxy + Keepalived,asynchronous集群: https : //www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing–3 仅限HAProxy: https : //www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing–3 当涉及到虚拟IP分配时,它由Keepalived根据自己的可脚本化健康检查器和VRRP 。 Keepalived也支持负载均衡,实现了多种algorithm,通过这些algorithmLB到目的地: https ://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Load_Balancer_Administration/ch- 初始设置-VSA.html HAProxy为HTTP提供了一些高级function,但这不是我的情况。 问题 在Keepalived for Keepalived for MySQL中使用HAProxy的好处是什么?