mysql drbd的使用_MySQL
程序员文章站
2024-02-19 17:07:34
...
年的时候,有一段时间一直在做mysql drbd的实验,drbd这个工具还是很好的,它可以给mysql主库做一个network raid,当主库出故障时,可以无缝进行转移,极大的提高系统的容灾性,提高服务能力,基本上可以达到99.99%的可用性要求。
要使用drbd,对于mysql存储引擎的选择最好使用innodb,因为这个存储引擎可以要求每次写操作立即写入磁盘,而不是放在内存中,myisam的写操作基本上是先放在内存中,然后定期写入磁盘。
实验证明,drbd+innodb+heartbeat可以实现无缝故障转移,不中断服务,实验中,很多次我进行了写数据时掉电处理,或者断网处理,或者关掉服务等,都能正常进行故障转移,而且故障时间控制在3秒内,就可以进行切换。
对于这种无缝故障转移技术,有个比较普遍头痛的问题,就是裂脑(splitbrain)问题,最好是购买单独的硬件设备,大概原理是备用机接管主机器的时候,将主机的电源切断,这样,就可以防止主机突然服务正常了,又去接管已经被接管的服务,导致来回切换,有时候甚至会发生2台机器都认为自己才是主服务器的情况。