在openvz容器中大量生产MySQL / Percona数据库

所以我目前正在运行一个MySQL 5.1数据库,其规格如下:

  • Proc:Intel(R)Xeon(R)CPU E5-1620 0 @ 3.60GHz
  • RAM:64 Go
  • 磁盘:2x 100 Go SSD(RaidSoft)

我打算将我的物理服务器以及我的mysql服务器迁移到percona服务器5.6。

我在我的基础设施的其余部分使用Proxmox集群,因此我想把我的新的MySQL服务器放在一个专用的openvz容器(主机上只有一个)。

我已经成功地设置了这个,它似乎运作良好,但我仍然想知道这是一个好主意。

任何反馈?

对于可能存在大量磁盘I / O的任何操作,请小心使用OpenVZ(Proxmox或其他)。 我可以从经验告诉你,它是非常非常慢 – 在某些情况下,大约是原生硬件速度的一半。 写入特别糟糕,服务器上读取和写入的容器越多(认为后者不适用于您的情况)。

另外,请记住,MySQL非常耗费资源,如果您没有正确设置它们,可能很容易导致OOM遇难,或者遇到容器限制。 再次,从经验来看,这可能很难做到。 还有一个事实是,某些事情可以帮助MySQL更好的执行,比如巨大页面,不能从容器内设置,所以你最终可能会从主机到客户之间来回切换。

关于将MySQL放入容器的唯一的东西是进程隔离(但不是真的),一些温和的保证,容器不会取消节点(但不能保证),一个漂亮的控制接口你的服务器(OpenVZ容器不是唯一的),以及很多令人头痛的问题,直到你的configuration正确。 我会避免OpenVZ这个特殊用途。

如果你在使用Proxmox的时候死了,我build议使用KVM来代替OpenVZ容器。 你会less一些头痛,相信我。

在容器上运行MySQL有一些好处。

PVE容器提供了一些好处: – pipe理数据库服务器,不影响其他 – 轻松移动(如果使用共享存储在线)到另一台物理主机 – 用PVE备份,尽pipextrabackup或Idera Hot Copy在我看来更好 – 运行2个或更多,在主从复制情况下,所以你有“活的”备份SQL服务器,但是如果它们在同一台物理服务器上,则会造成单点故障。

Prox是非常可靠的,毫无疑问 – 我有800天以上的proxmox服务器。 如果你使用容器运行,你只会对性能产生轻微的影响。 只要确保将CPU核心分配给VM,innodb就可以使用它们。

对于繁重的生产服务器,我没有看到使用容器的要点。 我的经验没有真正的优势。 也许把奴隶或奴隶放在容器上是有道理的,但是主人,我会把它放在裸机上。 检查percona群集。 它岩石。

你想使用VM的原因是什么? 什么是商业案例?

为了回应“不要出于性能原因”,我们在一个写入量很大的环境(70%INSERT)中使用Proxmox,在不起眼的磁盘上使用RAID-10后端(WD Red),以及其他一些繁忙的虚拟机(OpenVZ和KVM),写入性能问题为零(iodelay很less高于0%)。 如果你的考虑只是一个性能,那么如果底层硬件是体面的,应该没有问题。

明智的好处 – 在线迁移,快照备份,驱动器空间扩展……都在那里。

至于proxmox的可靠性,我只能回应另一张海报。

运行时间

19:51:09最多785天,22:59,1个用户,平均负载:4.92,4.81,4.79

运行时间

19:51:55 142天,4:56,1个用户,平均负载:0.05,0.07,0.05