MariaDB 10.1.1:Galera 支持

MariaDB 10.1 服务器现在通过最新的 10.1.1 版本实现了“Galera 就绪”。它包含了 wsrep(写入集复制)补丁,使服务器能够加载 wsrep provider (galera) 库并与之交互,从而提供多主同步复制支持。该补丁在服务器和存储引擎内部实现了钩子,以便分别在集群中的发送和接收节点上填充和应用写入集。wsrep 补丁还添加了许多用于配置和监控服务器作为 Galera 集群节点时行为的系统状态变量(前缀为 wsrep)。

与旧版 MariaDB 不同,wsrep 补丁现在是普通 (vanilla) MariaDB 10.1 服务器的一部分,也就是说,从 10.1.1 开始将不再有独立的 vanilla 和 Galera 服务器版本。因此,现在可以使用相同的 10.1 软件包(二进制 tarball、deb、rpm 等)来运行 MariaDB 服务器作为独立服务器或 MariaDB Galera 集群中的节点。

作为独立服务器,它不需要额外的设置,只需您常用的选项即可。但是,如果想将其作为 MariaDB Galera 节点启动,则需要以下强制性设置:

  • wsrep_on=ON
  • wsrep_provider
  • wsrep_cluster_address
  • binlog_format=ROW
  • default_storage_engine=InnoDB
  • innodb_autoinc_lock_mode=2
  • innodb_doublewrite=1
  • query_cache_size=0

没有这些额外设置,Galera 复制将被基本禁用,服务器功能与独立服务器无异,没有 Galera 相关的开销。

如果您从源代码构建 MariaDB 10.1 服务器,可以使用 WITH_WSREP cmake 开关(默认为 ON)来控制构建中是否包含 wsrep 补丁。

MariaDB [test]> select @@version;
+----------------------------+
| @@version                  |
+----------------------------+
| 10.1.1-MariaDB-wsrep-debug |
+----------------------------+
1 row in set (0.00 sec)

MariaDB [test]> show status like 'wsrep_ready';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_ready   | ON    |
+---------------+-------+
1 row in set (0.00 sec)

MariaDB [test]> show status like 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+
1 row in set (0.00 sec)

更多关于 MariaDB Galera 集群的信息