我可以在glusterfs上运行mysqld吗?


12

我最近一直在玩glusterfs。

我想尝试的是以类似的方式在glusterfs之上运行mysqld,因为有可能在DRBD之上运行MySQL

我熟悉MySQL复制以及使用它代替这种方法的优点,并且我也知道MongoDB和其他NoSQL解决方案。

但是,如果我可以保留MySQL原样并复制基础文件系统,那将是对我即将进行的一些特定项目的简单解决方案。

这可能吗?如果在哪里可以找到方法?

Answers:


16

由于没有答案的相当长的延迟,我通过反复试验发现了问题。

答案是:是的,我可以在glusterfs之上运行mysqld。

我在Ubuntu上进行了设置,并简要介绍了以下步骤:

真正的问题在于MySQL如何处理锁。

但是,您可以将所有这些传递给glusterfs进行处理,以便许多mysqld进程(在单独的节点上运行)可以访问/ mnt / glusterfs上的相同数据库文件。您需要仔细阅读


2
您看到什么样的性能问题?
CMCDragonkai 2014年

4
这确实很有趣!但是,为便于记录,强烈建议您在数据很重要的任何情况下都不要使用此功能。仅仅因为它似乎起作用并不意味着它是安全的。您可能很幸运,还没有遇到竞争状况,但是这可能会导致数据丢失。
jlh

您将一次使用一台服务器,对吗?我非常有信心不能在多台服务器上使用。您将丢失您的数据
Diego Roccia '18

3

在K8集群上尝试过此操作。MySQL在容器内运行,GlusterFS直接安装在节点上(非容器化)。MySQL容器的关联性设置为始终与GFS在同一节点上运行,并使用K8的本机GFS卷驱动器装载卷。

即使启用了NGINX FastCGI(PHP-FPM)缓存,WordPress站点也经历了随机的高延迟。切换到MySQL容器的hostPath卷后,延迟问题消失了。


2

我认为这是不可能的。理查德(Richard),您提供的链接是关于MyIsam的,他们说,还是不建议这样做。我在某处(我不记得在哪里)读到,使用由多个节点共享的innoDB文件将导致数据损坏。


2

我不知道为什么要从不同的MySQL服务器进程访问相同的数据库文件,但是如果原因是性能,则应查看Galera。

http://www.codership.com/content/using-galera-cluster

集成在Maria DB和Percona XTRA DB集群中


在GlusterFS上从主到主复制怎么样?
CMCDragonkai 2014年

除非您正在寻找读取可扩展性,否则对于Galera而言为-1。Galera不适合大型数据库或写性能至关重要的数据库。我是根据经验讲的,也有与MariaDB支持合同的建议。
罗斯人民,

@RossPeoples,老实说,OP不太可能这样做以提高写入性能。Gluster可能会增加每个事务的延迟。他可能更可能在寻找HA,可能是通过使用Kubernete来确保运行单个dB实例。
阿隆(Aron)

1

从理论上讲可以。在实践中,尤其是在性能方面,Gluster手册建议不要将其用于复制DB文件或其他细粒度I / O系统。

请在此处查看Gluster官方概述:

http://docs.gluster.org/en/latest/Install-Guide/Overview/#is-gluster-going-to-work-for-me-and-what-i-need-it-to-do

Gluster会为我工作吗,我需要它做什么?

...另一方面,由于技术的横向扩展特性,添加了足够多的Gluster服务器后,有些人看到了我们比其他解决方案更好的性能-Gluster不支持所谓的“结构化数据”,即实时,SQL数据库。当然,使用Gluster备份和还原数据库会很好-传统上,当使用文件大小至少为16KB(最佳点为128KB左右)时,Gluster会更好。

再说一次,如果您想进行MySQL复制,我建议:

  1. 使用传统的MySQL Master / Slave复制 https://dev.mysql.com/doc/refman/5.7/en/replication.html

  2. 使用当今在各种MySQL版本(例如Oracle MySQL或MariaDB)中实现的Codership Galera集群

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.