Назад | Перейти на главную страницу

Как скопировать mongoDB объемом 800 ГБ за несколько часов?

Я посещу отраслевое местоположение клиента на несколько часов и мне нужно скопировать данные с его сервера mongoDB. В настоящее время размер данных превышает 800 ГБ. Я попытался реплицировать данные удаленно, но это очень медленно, и поэтому я посещу физическое место, чтобы клонировать данные. Я нашел несколько вариантов: LVM, mongodump, mongoexport, и до сих пор LVM кажется лучшим вариантом. Есть ли js-запрос, который может решить эту ситуацию, или что может быть лучшим курсом действий для этого? Спасибо.

Сделайте зеркальный раздел или диск как LVM PV (физический том) и убедитесь, что оба синхронизированы. Тогда просто возьмите с собой один из дисков.

Прежде чем вносить какие-либо изменения в производство, поэкспериментируйте с 2 виртуальными машинами. Одна является «локальной виртуальной машиной», а другая - «клиентской виртуальной машиной». Имейте дисковый том, который вы отсоединяете от первой виртуальной машины с зеркалом, а затем присоединяете его ко второй виртуальной машине. Задокументируйте все шаги и все шаги по устранению неполадок.

Под LVM я имею в виду Диспетчер логических томов на основе диспетчера устройств Linux

Если данные mongodb не находятся на LVM или скорость является наиболее важным ограничивающим фактором, и вы можете отключить диски от сети, вы можете:

  • остановить все службы, использующие любой раздел / том из тома, который вы хотите зеркалировать
  • размонтируйте все разделы с диска, который вам нужно скопировать, или хотя бы один mongodb
  • копировать с помощью dd if=/dev/sdX of=/dev/sdY, где sdX - исходный диск, а sdY - целевой диск. Убедитесь, что вы понимаете dd команда и что такое блочное устройство, прежде чем использовать ее вслепую.