Очень странное использование диска для копии в Mongodb

tl; доктор: новые 2,6 копии съедают намного больше дискового пространства, чем эти 2,4 участника.

Мы - активные пользователи GridFS MongoDB. Мы в настоящее время находимся на 2,4 и намереваемся обновить до 2,6 путем простого добавления новой копии участники и постепенно удержать от использования эти 2,4 узла, как рекомендуется.

У нас есть одно основное устройство, одно вторичное устройство и арбитр. Вот некоторые данные по существующей системе:

$ mongod --version
db version v2.4.10
Sun Jul 27 13:56:27.250 git version: e3d78955d181e475345ebd60053a4738a4c5268a

Вот некоторые данные по базе данных:

> db.stats()
{
    "db" : "SomeDatabase",
    "collections" : 4,
    "objects" : 2797931,
    "avgObjSize" : 284877.9334958582,
    "dataSize" : 797068801344,
    "storageSize" : 946689860768,
    "numExtents" : 469,
    "indexes" : 5,
    "indexSize" : 251248480,
    "fileSize" : 950804676608,
    "nsSizeMB" : 16,
    "dataFileVersion" : {
        "major" : 4,
        "minor" : 5
    },
    "ok" : 1
}

Как Вы видите, база данных является ~950GB и соответствиями (но едва) на Основном устройстве и Вторичном устройстве (который составляет 1 ТБ устройства хранения данных).

Так как мы испытываем нехватку устройства хранения данных, я дал новый узел, что я хотел добавить к системе другого 200G (т.е. 1.2 ТБ).

Вот версия MongoDB от нового узла:

$ mongod --version
db version v2.6.3
2014-07-27T12:01:21.242+0000 git version: 255f67a66f9603c59380b2a389e386910bbb52cb

После создания его член копии установил его, начинает синхронизировать очень хорошо (как каждое второе время, мы повернули членов ReplicaSet). Это - то, где это становится странным. После синхронизации в течение нескольких часов это достигает ожидаемого размера базы данных (~950GB). Однако это просто продолжается после этого, пока это наконец не заполняет весь диск и катастрофические отказы.

Теперь, я знаю, что 2.6 новая версия, но каким образом это база данных по диску превышает тех на Основном устройстве и Вторичном устройстве? Любые указатели были бы очень полезны.

1
задан 27 July 2014 в 15:07
1 ответ

В MongoDB 2.6 PowerOf2sizes (http://docs.mongodb.org/master/reference/command/collMod/#usePowerOf2Sizes) является настройкой по умолчанию для коллекций. Это приведет к меньшему количеству перемещений диска во время обновлений, но будет потреблять больше дискового пространства.

.
1
ответ дан 4 December 2019 в 00:21

Теги

Похожие вопросы