如何在几个小时内复制 800GB 的 mongoDB?

如何在几个小时内复制 800GB 的 mongoDB?

我将访问客户的行业位置几个小时,并且必须从他的 mongoDB 服务器复制数据。数据目前大小超过 800gb。我尝试远程复制数据,但速度非常慢,因此我将访问物理位置​​来克隆数据。我发现的几个选项是 LVM、mongodump、mongoexport,到目前为止,LVM 似乎是最佳选择。是否有一个 js 查询可以解决这种情况,或者什么可能是最佳的行动方案?谢谢。

答案1

将镜像分区或磁盘设为 LVM PV(物理卷),并确保两者同步。然后只需取出其中一个磁盘即可。

在对生产进行任何更改之前,请先尝试使用 2 台虚拟机。一台是“本地虚拟机”,另一台是“客户端虚拟机”。从第一台虚拟机上分离一个磁盘卷,然后将其连接到第二台虚拟机。记录所有步骤和所有故障排除步骤。

我说的 LVM 是指基于 Linux 设备映射器的逻辑卷管理器

如果 mongodb 数据不在 LVM 上,或者速度是最重要的限制因素,并且您可以使磁盘脱机,则可以:

  • 停止使用要镜像的卷中的任何分区/卷的所有服务
  • 卸载需要复制的磁盘上的所有分区,或者至少卸载 mongodb 上的分区
  • 使用 进行复制dd if=/dev/sdX of=/dev/sdY,其中 sdX 是源磁盘,sdY 是目标磁盘。dd在盲目使用之前,请确保您了解该命令以及块设备是什么。

相关内容