IGOR
22.02.2018
07:20:08
Yura
22.02.2018
10:23:05
Вопрос: есть коллекция на пол террабайта. Приведёт ли дроп этой коллекции к тупняку всего инстанса? У кого есть опыт?
IGOR
22.02.2018
10:24:16
yopp
22.02.2018
10:24:50
Google
yopp
22.02.2018
10:25:19
если ничего не изменилось, то любые операции с таблицами коллекций и баз приводит к локу шарда
само удаление коллекции это удаление коллекции из таблицы и удаление файлов хранилища
если ваша фс по этому поводу не решит сделать какойнибуь синхронный скраббинг или ещё какую оптимизацию, то всё должно случиться быстро и безболезненно
Алишер
22.02.2018
11:09:42
Здравствуйте, подскажите пожалуйста. Необходимо сделать Initial Sync , но при нем забивается журнал и кончается свободное место. Можно ли запустить реплику с —nojournal , после синхронизации проверить статус реплики в Primary , что все ок, и перезапустить Secondary с журналированием?
yopp
22.02.2018
11:11:08
Как вы это диагностировали?
Алишер
22.02.2018
11:11:28
Да, во время синхронизации в логах пишет , что не хватает свободного места и падает
yopp
22.02.2018
11:14:32
После этого, сколько занимает папка journal?
Алишер
22.02.2018
11:14:42
95 Гб
yopp
22.02.2018
11:15:03
А весь dbpath?
Какая версия монги?
Алишер
22.02.2018
11:16:04
вся папка 120 гб
Google
Алишер
22.02.2018
11:16:09
3.2
yopp
22.02.2018
11:16:23
Журнал в 100гб это не нормальная ситуация.
А какой размер данных в реплике?
Алишер
22.02.2018
11:17:05
там много миллионов записей
и индексов построено навалом
yopp
22.02.2018
11:17:46
Если вы будете точнее отвечать на вопросы, шансы получить помощ повышаются
Алишер
22.02.2018
11:17:58
ок, извините,
yopp
22.02.2018
11:18:03
Какая конкретно у вас версия?
Алишер
22.02.2018
11:18:34
v3.2.6
yopp
22.02.2018
11:18:55
Вам необходимо обновиться до 3.2.19
Пока можете обновить только ту реплику, на которую вы хотите initial sync сделать
Алишер
22.02.2018
11:19:29
я могу обновиться только для этой реплики?
ок!
yopp
22.02.2018
11:20:01
Второй момент: какой общий размер данных в реплике?вы уверены что у вас хватает места на новой реплике?
Алишер
22.02.2018
11:21:05
да, хватит, т.к. на праймари вся папка весит меньше 80 гб
yopp
22.02.2018
11:21:16
После того как обновите, удалить содержимое dbpath и попробуйте снова
Алишер
22.02.2018
11:21:18
но, primary трогать я не могу.
yopp
22.02.2018
11:22:37
Это от вашей платформы зависит и от того как вы монгу ставили
Google
yopp
22.02.2018
11:23:11
Если платформа официально поддерживается и для неё есть пакеты, то простота обновления будет зависеть от вашего менеджера пакетов
Алишер
22.02.2018
11:24:46
понял. Пошел делать, спасибо!
yopp
22.02.2018
11:27:24
Про ваш вопрос с журналом: да, так можно, но у вас проблема где-то в другом месте. У меня есть смутные воспоминания о похожей проблеме, которую исправили в одной из версий.
В любом случае, поддержка 3.2 заканчивается в сентябре этого года, вам нужно обновляться до 3.6
Stable: 3.6.2 (Jan 10, 2018), Bugfix: 3.4.13 (Feb 10, 2018)
3.6.2: https://docs.mongodb.com/manual/release-notes/3.6/#january-10-2018
3.4.13: https://docs.mongodb.com/manual/release-notes/3.4/#feb-10-2018
3.2.19: https://docs.mongodb.com/manual/release-notes/3.2/#feb-6-2018 (End of life: September 2018)
Алишер
22.02.2018
11:28:40
Да, мы так и планируем, спасибо..
yopp
22.02.2018
11:29:27
Да, кстати, 3.0 — EOLd
Алишер
22.02.2018
11:32:01
RIP
Сразу после апгрейда он запустился сам и начал синхронизацию
и уже через минуты 2-3 журнал весит 2 г
вру, он затирает периодически)
все круто.
yopp
22.02.2018
11:47:30
После того как синхронизацию закончите, запланируйте обновление второй ноды. И не забудьте арбитра воткнуть
Алишер
22.02.2018
11:51:35
Понял. Арбитр есть. Что-то может произойти если остальные ноды не пропатчить?
yopp
22.02.2018
11:51:55
Как минимум похожая история с журналом
Заканчивающейся на ходу место на primary это так себе развлечение :)
Max
22.02.2018
11:53:13
Алишер
22.02.2018
11:55:03
да, подозреваю, что подобное может произойти, если праймари упадет и начнет синх с secondary
который переизберется.
yopp
22.02.2018
11:55:45
Google
yopp
22.02.2018
11:56:22
Так что если мониторинг настроен — можно практически безболезненно пережить, если есть возможность добавить быстро места
А вот если не отловить, то будет немного грустно. Но симлинки спасают
Алишер
22.02.2018
11:57:25
кстати, я не сразу узнал , что упал секондари безвозвратно, как лучше настроить оповещение?
yopp
22.02.2018
11:57:32
Втыкаем новый диск, копируем например индексы и делаем симлинк в dbpath
Max
22.02.2018
11:58:02
у меня при репликации такое было, когда приходилось STOP-ать сигналами процесс, чтобы выкроить минуты для досинхронизации массива на новый диск
чтобы синхронизация репликасета не успела занять место
yopp
22.02.2018
11:58:23
Можно через mongo cloud, там в бесплатном тарифе кажется мониторинг бесплатный
Алишер
22.02.2018
11:59:06
а может на уровне логов, через OSSEC , есть опыт?
yopp
22.02.2018
11:59:13
Ньюрелики всякие и вивид кортексы
Да как вам удобнее
Max
22.02.2018
11:59:32
часа 3 в диком ужасе :))
Кстати, @dd_bb , про симлинки
понятно, что идея корявая, но... есть пара индексов, редкоиспользуемых. Они оч большие, под терабайт, и хранятся на дорогом и быстром диске.
есть идея сам индекс на медленный диск + симлинк в ориниальном месте.
должно ж работать?
yopp
22.02.2018
12:00:16
Max
22.02.2018
12:00:56
Она должна быть ограничена скоростью медленного диска.
или есть еще чтото, что может повлиять?
yopp
22.02.2018
12:01:38
Она будет ограничена random read iops вашего хранилища
Max
22.02.2018
12:01:57
да, это понимаю.
спасибо.
yopp
22.02.2018
12:02:55
Вы можете это на одной из реплик попробовать
Но вы уже шардить же начали
Max
22.02.2018
12:05:17
точно
но один кусочек шарда пока оч мал - там менее 40 гиг данных
потому думал взять там secondary и на нем попробовать
индекс мелкий и должен легко и быстро уехать на отдельный диск
yopp
22.02.2018
12:06:02
Лучше в шардинг инвестировать. Вы можете в одну зону несколько шардов воткнуть, они равномерно по себе данные размажут
Вы объективно близки к пределу вертикального масштабирования, дальше только увеличение операционной сложности или удорожание железа. Это практически всегда тупиковый путь
Google
Max
22.02.2018
12:07:29
то есть addShard и на него такой же тег навесить?
чтобы 2 шарда были с одинаковым тегом, а они там уже между собой расползутся как надо?
yopp
22.02.2018
12:07:37
Лучше переходить к «много дешевого железа»
Max
22.02.2018
12:07:39
yopp
22.02.2018
12:08:02
Max
22.02.2018
12:08:23
осталось донести до начальства
потому что оно сказало "стопаем все активности по шардингу"
мы психуем, пытаемся расслабиться и ждём, когда всё *бнется, простите за речь
yopp
22.02.2018
12:08:40
Почему сказало?
Max
22.02.2018
12:09:35
нет доверия нам - мне и программерам
реально это огромнейшая глупость, но менеджерские качества руководства "за спиной" обсуждать будет некрасиво
учитывая то, что шардинг уже подняли, данные уже частично расшардили, приложуху под шарды подкрутили и так далее.
sad but true, короче.
yopp
22.02.2018
12:10:28
А доверия по какой причине нет? После шардинга что-то для бизнеса ухудшилось?
Или в срок не успели?
Max
22.02.2018
12:11:01
потому что "у вас не было опыта работы с базой в 12тб"
"я поищу когото, кто умеет"
yopp
22.02.2018
12:11:17
Дайте им уже мою почту :)
Max
22.02.2018
12:11:56
ну а то, что с этим с самого начала, пока база была пара метров и вообще была миграция с sql,.. и что оно работает, и работает хорошо - это не в счёт
проще платить больше денег за диски в амазон
у богатых свои причуды, я не знаю, какпояснить иначе
Дайте им уже мою почту :)
Поднимался вопрос, они когото из местных ищут
это значит, что будет пара достаточно бесполезных митингов, и выяснится, что мы все делаем правильно.
не впервой.
yopp
22.02.2018
12:13:22
Местных это где?
Mykola
23.02.2018
05:39:51
Нубский вопрос mongo крешнулась, после перегрузки скорость записили упала сильно. Индексов было на 128gb ram сейчас больше 16gb не поднимаеться. Даже не знаю с чего начать копать, подскажите. Моngo 3.6 на Azure. mongod --dbpath /datadrive/mongo/data/db --nojournal пробую так все равно медленно.
Oleg
23.02.2018
06:34:20