MariaDB (MySQL) 群集:Azure 教程
04/15/2015
本文内容
重要
经典 VM 将于 2023 年 3 月 1 日停用。
如果从 ASM 使用 IaaS 资源,请在 2023 年 3 月 1 日之前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。
备注
Azure 提供两个不同的部署模型用于创建和处理资源:Azure 资源管理器和经典。 本文介绍经典部署模型。 Microsoft 建议大多数新部署使用 Azure 资源管理器模型。
备注
MariaDB Enterprise 群集现已在 Azure 市场中推出。 这款新产品可在 Azure 资源管理器上自动部署 MariaDB Galera 群集。 应从 Azure 市场使用这款新产品。
本文说明如何创建 MariaDBs 的多主机 Galera 群集(MySQL 的嵌入式替代版本,具有稳健性、可伸缩性和可靠性),可在 Azure 虚拟机上的高度可用环境中使用。
体系结构概述
本文介绍如何完成以下步骤:
创建一个三节点群集。
将数据磁盘与 OS 磁盘隔离开来。
在 RAID-0/条带化设置下创建数据磁盘,以提高 IOPS。
使用 Azure 负载均衡器,使 3 个节点的负载保持均衡。
为了最大程度地减少重复工作,可创建一个包含 MariaDB + Galera 的 VM 映像,并将其用于创建其他群集 VM。
备注
本主题使用 Azure CLI 工具,因此请务必根据说明下载这些工具并其连接到 Azure 订阅。 如果需要有关 Azure CLI 中可用命令的参考,请参阅 Azure CLI 命令参考。 还需要创建用于身份验证的 SSH 密钥,并记下 .pem 文件的位置。
创建模板
基础结构
创建地缘组,以便将资源保存在一起。
azure account affinity-group create mariadbcluster --location "North Europe" --label "MariaDB Cluster"
创建虚拟网络。
azure network vnet create --address-space 10.0.0.0 --cidr 8 --subnet-name mariadb --subnet-start-ip 10.0.0.0 --subnet-cidr 24 --affinity-group mariadbcluster mariadbvnet
创建存储帐户,以托管所有磁盘。 不要将超过 40 个常用磁盘放置在同一存储帐户上,以免达到存储帐户的 20,000 IOPS 上限。 在本例中,我们的磁盘数量远低于该限制,所以为了简单起见,我们将所有磁盘都存储在同一帐户上。
azure storage account create mariadbstorage --label mariadbstorage --affinity-group mariadbcluster
查找 CentOS 7 虚拟机映像的名称。
azure vm image list | findstr CentOS
输出将类似于 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20140926。
在下一步中使用该名称。
创建 VM 模板,并将 /path/to/key.pem 替换为生成的 .pem SSH 密钥的存储路径。
azure vm create --virtual-network-name mariadbvnet --subnet-names mariadb --blob-url "http://mariadbstorage.blob.core.windows.net/vhds/mariadbhatemplate-os.vhd" --vm-size Medium --ssh 22 --ssh-cert "/path/to/key.pem" --no-ssh-password mariadbtemplate 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20140926 azureuser
将四个 500-GB 的数据磁盘附加到 VM,以便在 RAID 配置中使用。
FOR /L %d IN (1,