Сценарий оболочки для резервного копирования только на вторичном сервере mongodb после внедрения набора реплик - PullRequest
0 голосов
/ 23 мая 2018

Как выполнить резервное копирование только на вторичном сервере после внедрения набора реплик?Исходя из результатов голосования, основной и дополнительный сервер будут продолжать меняться, поэтому я всегда хочу проверить дополнительный IP-адрес и сделать резервную копию на этом компьютере.

Может кто-нибудь помочь с этим?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вы можете использовать mongodump с параметром --readPreference:

mongodump --host "<replsetname>/<node1>,<node2>,<node3>" --readPreference "secondary"

Обратите внимание:

  • Вы должны предоставить форму набора реплик --host параметр
  • Укажите предпочтение чтения .В этом примере используется secondary, чтобы выполнять дамп строго со вторичного узла, но также можно установить его на secondaryPreferred, чтобы он сбрасывал с первичного, если по каким-либо причинам с вторичными серверами невозможно связаться.
0 голосов
/ 23 мая 2018

Просто передайте URL на дополнительный сервер для mongodump в качестве параметра --host.

Если строка, переданная в --host, содержит список экземпляров mongod, но не включает имя набора реплик в качестве префикса к строке хоста, mongodump читает с ближайшего узла по умолчанию.

Пример:

mongodump --host "rep2.example.net:27017"

Другой способ (если вы не можете определить жестко закодированный адрес для вторичного сервера) - определить режим предпочтений чтения .Для этого вам нужно установить readPreference параметр как secondary (или лучше использовать secondaryPreferred вместо него).

Пример:

mongodump --host "replSet/rep1.example.net:27017,rep2.example.net:27017,rep3.example.net:27017" --readPreference secondary
...