Ric*_*way 12 mysql mysql-replication glusterfs
我最近一直在玩 glusterfs。
我想尝试以类似的方式在 glusterfs 之上运行 mysqld ,因为可以在 DRBD 之上运行MySQL。
我熟悉 MySQL 复制以及使用它代替这种方法的优势,我也知道 MongoDB 和其他 NoSQL 解决方案。
但是,如果我可以保留 MySQL 原样并复制底层文件系统,这将是我即将提出的一些特定项目的简单解决方案。
这是可能的,如果是的话,我在哪里可以找到方法?
Ric*_*way 17
由于相当长的延迟没有答案,我通过反复试验发现。
答案是:是的,我可以在 glusterfs 之上运行 mysqld。
我在 Ubuntu 上进行了设置,以下是步骤:
真正的问题在于 MySQL 如何处理锁。
但是,您可以将所有这些都传递给 glusterfs 进行处理,以便许多 mysqld 进程(在不同的节点上运行)可以访问 /mnt/glusterfs 上的相同数据库文件。您需要仔细阅读此内容。
小智 5
理论上可以。\n在实践中,特别是在性能方面,Gluster 手册建议它不适合用于复制数据库文件或其他细粒度 I/O 系统。
\n请参阅此处的 Gluster 官方概述:
\n\n\n\nGluster 适合我吗?我需要它做什么?
\n...另一方面,在混合中添加足够\nGluster 服务器后,由于\n技术的横向扩展性质,有些人\n发现我们的性能比其他解决方案更好 - Gluster 不支持所谓的 \xe2\x80 \x9c 结构化数据\xe2\x80\x9d,\n表示实时 SQL 数据库。当然,使用 Gluster 来备份和\n恢复数据库会很好 - 当使用至少 16KB 的文件大小(最佳位置约为 128KB\n)时,Gluster 传统上会更好。
\n
再一次,如果你想要 MySQL 复制,我建议:
\n使用传统的 MySQL 主/从复制\n https://dev.mysql.com/doc/refman/5.7/en/replication.html
\n使用 Codership Galera 集群,现在已在各种 MySQL 中实现,例如 Oracle MySQL 或 MariaDB
\n在 K8 集群上尝试过此操作。MySQL 在容器内运行,GlusterFS 直接安装在节点上(非容器化)。MySQL 容器的亲和力设置为始终在与 GFS 相同的节点上运行,使用 K8 的本机 GFS 卷驱动程序安装卷。
即使启用了 NGINX FastCGI (PHP-FPM) 缓存,WordPress 网站也经历了随机高延迟。切换到 MySQL 容器的 hostPath 卷,延迟问题消失了。