我在 VMware 中配置了 Red Hat 集群。我创建了两个节点 Node00 和 Node01,它们运行的是 CentOs 5.2。我已将 MySQL 服务添加到集群中。当我暂停 Node00 时,实例将移动到 Node01。问题是当 MySQL 实例移动到 Node01 时,它会使用该本地系统的数据文件夹。
我已经在另一台名为 Node02 的 VMware 机器上安装了 Openfiler,并配置了 NFS 共享。NFS 共享运行正常。我希望数据文件夹保留在 NFS 共享中,并且 MySQL 使用 NFS 共享中的公共数据文件夹和配置文件。
有人能帮我配置我的集群吗?
温暖的问候
苏普拉提克
答案1
共享 NFS 存储在 Node01 上安装在哪里?
我认为最好挂载 NFS 共享/var/lib/mysql
(RedHat 的默认设置),而不是为服务器和客户端配置路径。
我不知道你想实现什么。但是如果你尝试以这种方式集群 mysql,那你就错了,可能会导致数据不一致。只有在 Node00 发生故障后启动 Node01 上的 mysql 服务时,此设置才有效。
如果你想让 2 个 mysql 实例同时访问数据,你应该使用 NDB 集群。如果你启动两个 mysql 实例访问同一个数据目录,就会出现数据不一致的情况。
出于待机目的,您最好使用 DRBD 复制或 mysql 复制(可能与 MMM 一起使用)。
答案2
更改 my.cnf datadir 路径,您可以将其更改为您的 nfs 挂载点。
[mysqld] 用户 = mysql_owner datadir = /path/to/datadir/mysql 套接字 = /path/to/datadir/mysql/mysql.sock skip-innodb
[mysql.server] 用户=mysql_owner basedir=/path/to/datadir
[客户端] 用户 = mysql_owner 套接字 = /path/to/datadir/mysql/mysql.sock
[safe_mysqld] 错误日志=/var/log/mysqld.log pid 文件=/var/run/mysqld/mysqld.pid