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 новая версия, но каким образом это база данных по диску превышает тех на Основном устройстве и Вторичном устройстве? Любые указатели были бы очень полезны.
В MongoDB 2.6 PowerOf2sizes (http://docs.mongodb.org/master/reference/command/collMod/#usePowerOf2Sizes) является настройкой по умолчанию для коллекций. Это приведет к меньшему количеству перемещений диска во время обновлений, но будет потреблять больше дискового пространства.
.