本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
数据可能因各种原因丢失,迅速恢复数据对于维护业务连续性尤至关重要。随着互联网业务扩张,需要快速基于生产环境建立开发和测试环境,以便持续迭代和发布新版本。本方案基于快照和自定义镜像,提供无代理备份并高效克隆MySQL环境的部署方案。
优势
本方案具备如下优势:
无代理数据备份
本方案通过使用EBS的快照能力,不占用云服务器ECS的vCPU和内存,不影响生产,无需第三方备份和插件就可以完成数据备份,充分保证数据备份的有效、可靠且简单易用。
阿里云快照服务是一种无代理(Agentless)的数据备份方式,可为单个云盘或者云盘组创建某个时刻的完整拷贝,用于数据恢复、开发测试环境搭建,或自定义镜像的制作以进行业务批量部署。更多信息,请参见快照概述。
灵活高效克隆环境
传统的手工克隆数据方式效率较低且容易出错。本方案通过创建快照和自定义镜像,可以实现MySQL应用与数据从开发环境到测试环境的高效克隆与搭建。
多场景能力满足多用户群体
本方案集成了快照和镜像的多样化能力,支持跨地域复制、应用一致性、快照加密、快照共享等,以便用户可以根据自身的需求和业务场景来配置和使用云资源。
计费说明
在环境搭建过程中,会根据使用的阿里云资源(ECS实例、快照、镜像等)的计费方式进行计费。如果通过实验室一键部署,创建的实验任务本身不会收费,但使用的阿里云资源会收费。
实验室一键部署过程中使用到的阿里云资源仅支持按量付费。
备份并克隆MySQL环境
手动部署(用于生产环境)
手动备份并克隆MySQL环境需先购买ECS实例,并通过命令部署MySQL服务,然后通过创建快照和自定义镜像手动备份和克隆MySQL环境。
在创建ECS实例、快照和镜像的过程中,建议对各资源名称做好命名区分,以便后续查找资源。
步骤一:创建ECS实例并部署MySQL服务
创建ECS实例。示例的ECS实例情况如下:
实例规格ecs.g6e.large。
以操作系统CentOS 7.9为例,其余操作系统指令需要根据实际情况调整。
系统盘为40 GiB的ESSD PL0。
ECS实例未安装MySQL服务。
具体操作,请参见自定义购买实例。
远程连接ECS实例。
具体操作,请参见使用Workbench登录Linux实例。
部署MySQL服务。
执行以下命令,下载安装MySQL安装包。
#添加MySQL官方源 sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm #安装MySQL服务 sudo yum install -y mysql-server
执行以下命令,配置并启动MySQL。
sudo systemctl start mysqld sudo systemctl enable mysqld
执行以下命令,查看MySQL是否正常启动。
ps aux | grep mysqld
执行以下命令,查看MySQL初始密码。
sudo cat /var/log/mysqld.log | grep root | grep "temporary password" | awk '{print $13}'
执行以下命令,登录MySQL。
mysql -uroot -p
输入上一步获取的密码,即可登录MySQL。
说明可以执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';
命令,修改MySQL的登录密码。执行以下命令,退出MySQL。
exit
执行以下命令,确保在创建快照之前数据已经落盘。这样做可以避免在创建快照之前还有数据在缓存中,从而保证快照的数据完整性。
sync
步骤二:通过为系统盘快照和自定义镜像快速克隆MySQL环境
该步骤通过为系统盘创建快照并生成自定义镜像,再基于自定义镜像可以快速实现完整环境和数据的克隆。
登录ECS管理控制台。
为ECS实例的系统盘创建快照。
基于已创建的快照创建自定义镜像。
具体操作,请参见使用快照创建自定义镜像。
基于已创建的自定义镜像创建一台新的ECS实例。
具体操作,请参见使用自定义镜像创建实例。
通过实验室一键部署(用于快速验证和测试新特性)
实验室部署的一键搭建能力通常用于快速验证和测试新特性,但不适合直接应用到生产环境中。生产环境建议使用手动部署以确保系统的安全和稳定。
通过块存储EBS的实验室一键式自动创建资源并完成备份与克隆的整个过程。本实验项将自动:
创建ECS实例,实例名称以ECS_Instance开头。
为系统盘创建快照。
根据快照创建自定义镜像,镜像名称以MySQLImage开头。
根据自定义镜像克隆新的ECS实例,实例名称以ECS_Instance_Clone开头。
操作步骤
前往实验场景页面。
登录块存储EBS控制台。
首次登录EBS控制台时,请根据页面提示创建一个EBS服务关联角色。更多信息,请参见块存储EBS服务关联角色。
在左侧导航栏选择实验室 > 实验场景。
在顶部菜单栏左上角处,选择地域。
在无代理ECS数据备份与高效环境搭建实验场景模板中,单击一键创建实验任务。
在实验场景页面,设置实验场景的基础信息,然后单击下一步。
参数
说明
实验场景
默认为无代理ECS数据备份与高效环境搭建。
实验任务名称
已默认填写,可以根据需要修改。
描述
(非必填)设置实验任务的描述信息。
在依赖检查界面,检查依赖情况,显示为未发现异常时,单击下一步。
在资源参数页面,修改实验任务的参数后,单击下一步。
参数
说明
ECS 实例规格
仅支持ecs.g6e.large,更多信息,请参见实例规格族。
实例密码
已默认填写,可根据需要修改。
重要请牢记设置的实例密码,以便后续远程连接ECS实例。
可用区
选择实例对应的可用区。
检查确认配置参数以及费用信息后,单击确认。在弹出的创建实验任务对话框中,单击确定。
创建任务成功后,系统会准备资源,并搭建好对应的实验场景,预计需要10~15分钟,请耐心等待。
实验任务依赖于ROS资源编排能力,一个实验任务对应于一个资源栈,最多允许创建200个实验任务。
当任务状态变为创建完成后,可单击实验任务ID,查看任务配置详细信息。
验证与清理
验证方案
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
分别在实例、快照和镜像页面查看已创建的快照、镜像和克隆的ECS实例。
说明手动部署:请根据自定义名称来查看各资源。
通过实验室部署:
ECS实例名称以ECS_Instance开头。
克隆实例名称以ECS_Instance_Clone开头。
镜像名称以MySQLImage开头。
远程连接新克隆的ECS实例。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
执行以下命令,查看MySQL服务是否正常启动。
ps aux | grep mysqld
如下信息表示MySQL服务已正常启动,说明MySQL环境已克隆完成。
清理资源
如果通过实验室一键部署,测试完成后建议及时清理相关资源,避免继续产生费用。