低成本搭建TiDB系统管理基础课程(301)实验环境

前言

笔者近期快速学习了“101- TiDB 快速起步”课程,然后又将“301-TiDB系统管理基础”课程及实验学习、实践了一遍。过程中使用云服务器完整的搭建了实验环境,并将低成本的实验方案总结成文字,分享给需要的人。

总体结论

由于TiDB基于分布式架构,为了保证高可靠性和高性能(横向扩展性),需要将结构组件部署在多台服务器上。当然,如果只是为了简单体验一下产品,用单机部署所有组件也是可以的。在301课程的实验中,需要8台服务器(pd 3台、tikv 3台、tidb 1台、监控及中控机1台),在实验过程中,偶尔还需要更多的服务器配合,最高时曾扩展到12台。

通过“精打细算”,用3天时间,花费近25元,采用和课程中一致的云环境,完成了15个实验。

具体的费用如下:

基本原则

要达到低成本的目标,需要遵从以下基本原则:

1、云服务器方面:

(1)全网比价:寻找更低单价的云服务器。

(2)8台主要的服务器采用按量付费,按秒计费,并支持关机不计费。

(3)临时使用的服务器,可以采用竞价实例,用完即刻销毁。

2、存储方面:

(1)采用云服务器创建时最低限制容量即可,比如我选择的云厂商,云服务器创建时,系统盘最少50GB,使用这个容量可以满足301课程实验要求,不用再单独挂载存储。

(2)搭建按量计费的NAS存储:在数据备份恢复实验中,为tikv节点搭建NAS存储,采用按量计费,因为实验的数据量很小,本次实验并未产生费用。

3、网络方面:

(1)只为中控机开通互联网IP,并使用按流量计费类型,带宽限制设置为100Mbps。

(2)临时需要使用公网时,创建弹性公网IP,使用按流量计费类型,带宽限制设置为100Mbps,用完立即销毁,否则每小时会收取0.2元资源占用费。

4、利用镜像加快实验环境构建

(1)实验开始前,创建一个CentOS 7.7的云服务器实例,按照TiDB文档要求,进行配置,例如关闭防火墙、安装配置NTP服务、进行操作系统参数优化等,完成后制作成镜像备用。

(2)云厂商一般会提供一定量的镜像免费空间,镜像所占空间不超过这个限额即可。

5、提前熟悉实验素材并准备好实验脚本

实验开始前,将实验过程的视频及文本详细学习一遍。各类脚本先准备好,尽量避免由于输入错误命令或者文本,导致反复排查,浪费时间。

6、及时关闭服务器

长时间(超过2个小时)不做实验时,将服务器实例关闭,置为关机不收费的状态。云服务器关闭和启动的速度很快,通常不超过15秒,不会对实验节奏产生影响。

实现细节

以下是具体的步骤细节。

1、寻找全网低价的云服务器,可以按照以下三个规则:

(1)比较偏远的区域,如二线城市、西部地域,云服务器的单价较低。

(2)云厂商新建的地域,利用率较低,通常会打折促销。

(3)AMD CPU类型的实例,相同配置价格会低于Intel类型。

(4)相对旧一些的实例类型。

通过以上规则,最终找到腾讯云南京地域标准型SA2,2核CPU/4GB内存/50GB系统盘,7台总计2.15元每小时,应该是全网低价。

每台成本构成为:

2、在该区域创建好网络环境,为了和实验手册尽量一致,配置172.16.6.0/24的子网

3、创建好的服务器如下图所示:

其中为TiUPServer配置了公网IP,以便进行软件的安装和部署。

4、安装好实验环境,启动TiDB集群:

环境中包含:3个pd、3个tikv、1个tidb,监控和报警组件及中控机,和实验指导一致。

5、实验过程中,进行较长休息时,将服务器关机,采用关机不收费模式

需要注意:关机不收费只是针对CPU和内存资源,云盘仍然会计费,所以实验不要拖太长时间。

6、临时使用的服务器,采用竞价实例,单价更低,尤其是夜间:

用完销毁即可,如果环境有可能再次利用,可以将系统做成镜像保存。

7、检查镜像空间占用情况,不要超过免费额度。

通过对以上细节步骤的实践,相信你也可以用极低的成本完成这个实验,当然,这个经验也可以用在其他场景下,比如为系统后端搭建测试环境,构建软件演示环境等等。