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

Ошибка сегментации Mongodump при сбросе всех dbs

Я запускаю набор реплик mongodb (2.0.4) с одним главным и двумя подчиненными устройствами, где один является скрытым подчиненным устройством для резервного копирования. я использую http://docs.mongodb.org/manual/core/replica-set-architecture-three-members/

Когда я бегу mongodump --oplog -h rsuat/10.0.3.163 --out /tmp/lala

Я получил :

Fri Dec 13 09:05:53 starting new replica set monitor for replica set rsuat with seed of 10.0.3.163
Fri Dec 13 09:05:53 successfully connected to seed 10.0.3.163 for replica set rsuat
Fri Dec 13 09:05:53 changing hosts to { 0: "10.0.2.234:27017", 1: "10.0.4.96:27017" } from rsuat/
Fri Dec 13 09:05:53 trying to add new host 10.0.2.234:27017 to replica set rsuat
Fri Dec 13 09:05:53 successfully connected to new host 10.0.2.234:27017 in replica set rsuat
Fri Dec 13 09:05:53 trying to add new host 10.0.4.96:27017 to replica set rsuat
Fri Dec 13 09:05:53 successfully connected to new host 10.0.4.96:27017 in replica set rsuat
Fri Dec 13 09:05:53 replica set monitor for replica set rsuat started, address is rsuat/10.0.2.234:27017,10.0.4.96:27017
Fri Dec 13 09:05:53 [ReplicaSetMonitorWatcher] starting
connected to: rsuat/10.0.3.163
all dbs
DATABASE: connect_log,mongodb:   to     /tmp/lala/connect_log,mongodb:
    connect_log,mongodb:.log to /tmp/lala/connect_log,mongodb:/log.bson
        131600/142621   92%
         142621 objects
    connect_log,mongodb:.system.indexes to /tmp/lala/connect_log,mongodb:/system.indexes.bson
         1 objects
Segmentation fault (core dumped)

Он работает без флага oplog. Кто-нибудь понял, что может быть не так?

EDIT: ошибка сегментации, кажется, происходит, даже если я не использую флаг oplog, поэтому ошибка возникает при выполнении полного дампа.

EDIT2: это строка из системного журнала, вызванная segault, если это может помочь:

 ip-10-0-3-163 kernel: [23126212.267385] mongodump[26858]: segfault at 0 ip 00007f234ca776c4 sp 00007fff2b9d5f00 error 4 in libc-2.15.so[7f234ca09000+1b5000]

Следует отметить, что использование --oplog не представляет собой «полный дамп», этот флаг сбрасывает все операции, которые были применены к oplog между началом и концом дампа. То есть даст вам часть oplog чтоб твой дамп при восстановлении (с --oplogReplay) будет представлять данные так, как они были в конце дампа.

Однако он не сбрасывает сам журнал операций, поэтому, если вы не вставляете / не обновляете во время дампа, он не нужен. На самом деле, я думаю, что было несколько ошибок пустой коллекции с mongodump поэтому, если в журнале операций между началом и концом дампа нет операций, это может быть вашей проблемой.

В качестве еще одного возможного способа обойти это - пробовали ли вы использовать более новые версии инструментов (2.4.x и т. Д.) Против экземпляра 2.0.4. Версия 2.0.4 на данный момент довольно старая, после нее было еще несколько выпусков 2.0.x, не говоря уже о двух основных выпусках, еще один должен быть скоро. Вам не обязательно иметь версию сервера 2.4, чтобы использовать его инструменты, которые могут помочь вам справиться с некоторыми из старых mongodump ошибки.