关于 MySQL 大库做主从的相关讨论

2017-09-14 14:54:05 +08:00
 wkl17

对于 mysqldump --all-databases 导出后的 SQL(通常是 4~5 个 database)有几十 GB,各位目前在用的是怎样的方案?

此前用的单是 2 块 SSD+1 块 HDD,分别做主库+binlog(hdd)、从库。而且是基于 ESXi 的虚拟化。

服务器有 128G 内存,感觉物理机直接跑太浪费资源,所以一直犹豫。

但最近又考虑把各主库迁到 RAID10(HDD)的机器上(从库继续保留在原机器上),感觉这样比单块 Intel SSD 会保险一些( SSD 有时会掉盘,但重插拔、重启又会恢复)。可又担心即使做了 RAID10 的 HDD 的 I/O 还会成为瓶颈。

所以:

1、在犹豫应该使用物理机直接跑,还是 ESXi 虚拟化 vm 再去跑。两者的性能不知差别是否会大?

2、各位有什么方法、技巧去分析判断数据库 I/O 是否成为瓶颈的?

3、假设是你在做这样的方案,还会有哪些方面的考虑?能否分享一下?

4、各位用 MySQL 跑过的最大的数据库大概是多大?(指 mysqldump 后的单 database(约 10GB)、all-databases(约 40GB))。(不过好些年前搞 IDC,貌似印象中还有个客户论坛 mysqldump 后有 28GB,那时还是用的 5.1 左右的版本,未做主从)

谢谢。

完善补充: 刚才说的几十 GB 只是单组集群,但面对的是多组集群,所以才又想到用物理机 RAID10 直接跑 CentOS+MySQL。(换而言之:把多少组的集群主库迁到 RAID10 比较合适?假设以 40GB * N,其中的 N==集群数)

3098 次点击
所在节点    MySQL
4 条回复
nandaye
2017-09-14 17:49:00 +08:00
1.虚拟化 VM 跑,MySQL 用物理机太奢侈了吧
2.插大量数据做对比测试? SSD 的话,I/O 应该不是问题吧,如果 I/O 还是有瓶颈,你有什么办法?
3.如果是生产,主从以外还需要热备机和异地容灾备机吧
以上是不负责胡说
defunct9
2017-09-14 22:28:12 +08:00
上 docker
wkl17
2017-09-20 17:55:48 +08:00
@nandaye @defunct9 感谢两位参与讨论。

后来再想想,感觉用物理机直接跑,维护不方便,所以应该还是会以虚拟化来运行。现在主要就纠结在 HDD 的 RAID10 不知道能撑起多少数据量。估计得专业的 DBA 才会做这方面的测试。。

Docker 跑数据库,没试过,有机会了解一下。

不知道 v2 上是否从事 DBA 工作的比较少,还是这个话题 不够吸引人。。

希望有更多人发表自己的看法。。
defunct9
2017-09-21 09:24:32 +08:00
认真回复下,上一条纯属胡说八道。
MySQL 现在绝对不要上 Docker,因为无论是进入容器的方式,还有启动 mysql 的方式,都会跳坑。
我们的数据库服务器是 Dell R730,128G 内存,Raid10,4×600GB,大概是 1TB 可用空间。
IO 和吞吐暂时都没遇到瓶颈,等到了再说。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/390674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX