Aleksey
так ладно понял, принципиальной разницы lvm snapshot или zfs snapshot нету ведь ?
Aleksey
механика будет такой же
yopp
более того
yopp
если у тебя sharded cluster, других вариантов вообще нет
yopp
причём там придётся знатно поебаться чтоб у тебя он к хуям не развалился
Sergey
hidden replica и танцуй как хочешь
Про hidden я чуть выше уже написал.
yopp
это я к «тушить на проде»
yopp
а вообще в монге летать без реплики это так себе затея :)
Sergey
мы бэкапим снапшотом zfs. Правда, приходится останавливать монгу на минутку
Sergey
у нас нет слейва. Если есть - то да, вообще красота
yopp
мы монгу с 1.8 кажется эксплуатируем
yopp
или чо там последнее было до 2.0
yopp
если у вас по случаю будет шард, то там всё гораздо хуже
yopp
надо делать hidden member на каждый шард + конфиг сервер
yopp
и потом лочить базу, делать fsync, натурально выключать скрытых членов, отпускать лок и бекапить всех разом
Aleksey
шаред кластер пока в планах отсутствует
Aleksey
большая часть базы - архив
Sergey
все равно одновременно (до милсекунды) fsync не сделать, так что oplog тянуть все равно придется, а в этом случае уже не так критично насколько одновременно сделан бекап
Sergey
клиенты подождут?
yopp
да
yopp
иначе твой бекап — говно
yopp
если вдруг создался новый чанк, то ты в жопе :)
Sergey
чтобы чанки не создавались можно балансер отключить
yopp
потому что если у тебя в бекапе конфиг сервера этого чанка не будет, ты потерял данные
Sergey
на время бекапа
yopp
там всё не так просто, увы :(
Sergey
стоп, а кто будет чанки плодить при отключенном балансере?
yopp
балансер исключительно катает чанки между шардами
yopp
может случится chunk split
yopp
потому что его делает mongos
Sergey
ну хз... потушить один config сервер))
Sergey
хотя если chunk split вдруг и произойдет, это не повлияет на сохранность данных - они на том же шарде и останутся
Alex
А что такое сделали в 3.2, что можно делать снапшот не боясь неконсистентности потом?
Alex
интересно
Alex
ну 3.2 + wt
yopp
в теории CoW
yopp
и сделали так, чтоб ты мог поставить без ебли базу во write lock
yopp
и оно сделает fsync сливая данные на диск
yopp
после этого ты можешь сделать бекап и потом сделать unlock
yopp
всё это время запись будет стоять раком
Alex
о
Alex
круто. спасибо
yopp
в теории CoW
^^ CoW в wt был изначально, вобщем-то за это его и купили. но в 3.2 это всё в порядок привели
Alex
Хотя штатный шутдаун на пару минут ночью для бекапа - для нас не критично
Roman
單槍匹馬 ⠀ ⠀⠀⠀⠀ ⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⠀ ⠀⠀⠀⠀ who are you?
Dan
О! Рома не спит, привет!
Dan
Это очень клёвый, наш человек ) нуждается в консультации по Монге. У него нода за сто лямов перешла, нужен так сказать совет на практике
Dan
Ах тыж хитрый ))))))
Alex
сто лямов документов? не так уж много.
yopp
ну смотря какого размера
yopp
если по мегабайту, то очень много :)
yopp
или если по 10кб, но с тремя десятками индексов
Alex
это и был намек =)
yopp
100Тб это много
Sergey
100Тб это много
На одном сервере? Прилично.
Daniel
100Т данных - это по любому много
yopp
тут я смотрю у всех петабайтные монгокластеры
Alex
Баз на 60 гигов, мастер. После ненормального шутдауна зпускалась _12 минут_, ппц =( Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] Detected unclean shutdown - /var/db/mongo2/mongod.lock is not empty. Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] Recovering data from the last clean checkpoint. Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] wiredtiger_open config: create,cache_size=18G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(en abled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), Jul 30 21:25:27 conveyor mongod.37017[16636]: [initandlisten] Starting WiredTigerRecordStoreThread local.oplog.rs Jul 30 21:25:27 conveyor mongod.37017[16636]: [initandlisten] The size storer reports that the oplog contains 59804846 records totaling to 30178412526 bytes
Roman
Ну так рекавери жи.
Alex
12 минут?
Alex
Рекавери должен быть мгновенным - там журнал включен
Anonymous
Я где-то месяц назад восстанавливал минут 15 базу на 400 GB.
Anonymous
С журналом.
Anonymous
Так что вроде бы ничего необычного.
Alex
Так вот странно. По идее размер бд не должен влиять на время, если есть журнал.
Alex
Какого лешего она столько времени делает-то?
Alex
Проверить на корректность достаточно последние записи в журнале. И всё, погнали, чего еще делать?
yopp
Оно вроде весь оплог переливает снова
yopp
При recovery
yopp
Если оплога было много, займёт много времени
Alex
М.. куда переливает?
yopp
там два варианта: когда ты в репликасете и нет
yopp
помоему в репликасете в зависимости от условий, оно или делает initial synс или делает роллбек и проигрывает оплог снова