Linux Heartbeat实现高可用集群及在VirtualBox虚拟环境下的测试

【本文环境】VirtualBox 4.0.4,CentOS 5.5 x64

Heartbeat是Linux下最常用的HA方案之一,主要为了解决集群前置服务器的单点失效问题。Heartbeat顾名思义可以在两台电脑间通过心跳信号来互相探测对方是否正常工作,因此,这两台电脑间需要有相应的物理介质连接起来。在这里,我并没有使用额外的网线(CAT-5双绞线)和网卡来实现,而是采用了串口线来建立心跳连接。

这样,在VirtualBox虚拟环境中,虚拟机间还需要使用一个虚拟的串口互相连接,这还需要一个软件的配合:Named Pipe TCP Proxy。如图 1,在本机上通过Named Pipe TCP Proxy可以新建一个命名管道,这样运行于本机上的虚拟机就可以将虚拟机串口的I/O重定向到这个管道上,如果两个虚拟机都定向到这个管道的时候,就相当于两个虚拟机通过一根串口线连接到了一起。

Linux Heartbeat实现高可用集群及在VirtualBox虚拟环境下的测试Linux Heartbeat实现高可用集群及在VirtualBox虚拟环境下的测试

1 在Named Pipe TCP Proxy中新建管道连接

这样,在创建Linux虚拟机的时候,两个虚拟机就都使用“//./pipe/vbox”作为虚拟串口,唯一的区别是首先启动的虚拟机需要勾选“创建通道”选项,如图 2。

Linux Heartbeat实现高可用集群及在VirtualBox虚拟环境下的测试

2 Linux虚拟机的串口设置

test serial connection

相关推荐