事因:部门刚分家,大腿突然没得抱了,采购申请要被扒三层皮。看看线上所有数据库实例独享物理机的模式确实也浪费了点,尤其CPU。那索性就考虑一台物理机上跑多个实例看看吧,而且正好遇到需要扩容的业务数据库,完成扩容还能省下成本,这样的事老板喜欢。
做之前首先有两个问题:
- 跑几个实例?
- 用什么手段实现?KVM?mysql多port?多ip?docker?
在做决策之前,不妨先看下现状:
物理机配置
40核,128G内存,千兆双网卡,做了raid10
近一月监控指标
cpu idle:
io wait:
used disk space (最大1.5T)
- 总结下:Cpu利用率普遍在10%以下,空闲较大;IO压力较小(都在buffer pool中);硬盘空间利用了40%不到一些;再加上已知的内存不足(100%热点数据)。如果跑仨实例以上,硬盘空间不足,需要同时对硬盘和内存进行扩容,工作量大,且风险较高,奇数位的实例不易把主备均匀分散到物理机。
确定一台物理机跑两个实例
- 关于多实例选型
- KVM:目前业务服务采用的虚拟化技术,比较成熟,但由于虚拟机自身消耗资源,且虚拟机和物理机需要同时监控。
- dock