需要更改副本集的 mongo 辅助节点中的存储数据库路径
Need to change storage db path in mongo secondary node of replica set
我们有 mongo 数据库的 3 个成员副本集(MongoDB 服务器版本:4.2.9)。其中一个成员(辅助成员)在默认存储数据库路径上 运行 并且此存储空间快满了。我们需要更改 3 成员副本集的特定辅助节点的路径。我是 mongodb 的新手。我需要你的专业知识来完成这项任务。
MongoDB服务器版本:4.2.9
OS 版本:CentOS Linux 发布 7.8.2003(核心)。
此致,
选项 1:(保留当前已同步的数据)
停止 mongod 服务:
mongo --host xxxx --port yyyy
use admin
db.shutdownServer()
将数据从旧位置复制到新位置:
cp -R /oldPath/ /newPath/
更改 /etc/mongodb.conf 中的 dbPath 以指向新位置。
启动mongodb服务。
选项 2) 从其他成员开始同步成员。
与选项 1) 相同,只是省略了点 2) 只是您需要稍等片刻,直到其他成员的成员初始化同步(复制数据),这取决于数据大小和压缩。
选项 3) 更好的高可用性:
从 PRIMARY 成员添加另一个将使用新路径的成员:
rs.add("newMember:XXXX")
等待新成员初始化同步
删除旧的 SECONDARY 成员:
rs.remove("oldMember:YYYY")
清理旧文件和配置。
(此选项的一个小缺点是,如果在同一主机上,您将需要更改新成员的端口)
选项 2) 似乎最适合您的情况...
我们有 mongo 数据库的 3 个成员副本集(MongoDB 服务器版本:4.2.9)。其中一个成员(辅助成员)在默认存储数据库路径上 运行 并且此存储空间快满了。我们需要更改 3 成员副本集的特定辅助节点的路径。我是 mongodb 的新手。我需要你的专业知识来完成这项任务。
MongoDB服务器版本:4.2.9 OS 版本:CentOS Linux 发布 7.8.2003(核心)。
此致,
选项 1:(保留当前已同步的数据)
停止 mongod 服务:
mongo --host xxxx --port yyyy use admin db.shutdownServer()
将数据从旧位置复制到新位置:
cp -R /oldPath/ /newPath/
更改 /etc/mongodb.conf 中的 dbPath 以指向新位置。
启动mongodb服务。
选项 2) 从其他成员开始同步成员。
与选项 1) 相同,只是省略了点 2) 只是您需要稍等片刻,直到其他成员的成员初始化同步(复制数据),这取决于数据大小和压缩。
选项 3) 更好的高可用性:
从 PRIMARY 成员添加另一个将使用新路径的成员:
rs.add("newMember:XXXX")
等待新成员初始化同步
删除旧的 SECONDARY 成员:
rs.remove("oldMember:YYYY")
清理旧文件和配置。 (此选项的一个小缺点是,如果在同一主机上,您将需要更改新成员的端口)
选项 2) 似乎最适合您的情况...