George
проще всего, если под рутом
George
тебе для разработки?
George
или для прода
Stanislav
для прода... ну понятно в принципе, что не очень круто - если где-то будут уязвимости в бекенде, то можно будет наковырять всяких плохих дел в проекте
George
вообще вероятно не лучшая идея шарить файл между беком и фронтом - а зачем, кстати?
Stanislav
Stanislav
Aleksey
Друзья, а есть смысл делать бэкап базы данных её утилитами, если можно сделать бэкап docker volume'a?
Stanislav
да и как работает php-fpm тоже не особо выкупаю пока что
George
George
вот подумай - ты решил вольюм скопировать, а база в этот момен времени пишется.. что будет?
Denisio
я бы сказал "имеет смысл делать бьакап только родными средствами"
George
можно и не родными, но с даунтаймом
Denisio
именно они знают что такое чекпоинты, журналы транзакций, как обрабатывать вышеуказанные случаи"
citius
базу можно бекапить бинарно, но нужно ей сказать что она бекапится, чтобы она файлы на диске в консистентный вид привела
Aleksey
George
George
George
ты можешь дампать вольюм пока бд не запущена
Aleksey
нет, я говорю про копирование, буквально. сам так не делаю, но гипотетически интересно узнать почему нет
citius
в случае с мускулом делаешь "FLUSH TABLES WITH READ LOCK;" снапшотишь, делаешь "unlock tables;" и все работает дальше, даунтайм мизерный.
потом уже спокойно сливаешь снапшот.
Aleksey
Denisio
в этот момент идут другие запросы
Denisio
и что пишется а что нет знает только движок СУБД
Aleksey
тогда может кто-то знает MySQL/Postgres сразу пишут на диск или как Clickhouse буфферизуют данные в памяти перед записью?
Denisio
не стоит на это полагаться, потому что в следующих билдах или версиях это может быть изменено. Есть штатные утилиты для бакапов.
citius
citius
и буферизует не только база, но и ядро, и затем система хранения, возможно тоже
citius
поэтому тупо снимать снапшот в рандомный момент - это выстрел в ногу гарантированный
Denisio
я про это и написал уже
Aleksey
вот это уже пища для размышлений, спасибо
citius
Aleksey
господа, а почему так критично залочить таблицы перед снэпшотом?
Denisio
потому что в них пишутся данные не?
George
George
Aleksey
вот этот момент мне и непонятен. даже если я сделаю дамп/cнэпшот на залоченных таблицах, через короткое время этот дамп уже нельзя считать свежим
Denisio
используй штатные инструменты, карл
Denisio
они знают про всё это
citius
Aleksey
citius
потому что без лока битые файлы будут
citius
бекап будет нерабочий
citius
обсуждали же выше - буферизация, то, сё
Denisio
доктор меня игнорируют
Aleksey
ты имеешь в виду возможные race condition'ы при бэкапе и одновременные записи в бд?
citius
я бы не назвал это race condition, но да
Denisio
бакап делается не мгновенно, а секунды и минуты. и в это время возможны рандомные ( сточки зрения хоста) записи в журнал ьтранзакций и БД
Denisio
испольщзовать штатные инструменты это максимально гарантированно получить рабочий бакап несмотря ни на что
Denisio
снапшпот это логическая конструкция СУБД
Denisio
а файлы - это логиченская конструкция файловой системы
citius
я про снапшот докер вольюма, вроде ТС про это спрашивал
Denisio
применять правила одной системы на другую - неверно
Aleksey
Denisio
оно может быть даже будет работать какоето время, но рано или поздно ты обнаружишь что бакап сделался нерабочий
citius
Denisio
стопишь контейнер и делаешь бакап :)
Denisio
ну или сервис СУБД
Aleksey
на застопленном не получится вызывать утилиту)
Sergey
Dmitry
Привет как бы мне в эластик:
docker.elastic.co/elasticsearch/elasticsearch:6.4.1
добавить:
sysctl -w vm.max_map_count=262144
внутри Dockerfile?
Вариант:
FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.1
RUN sysctl -w vm.max_map_count=262144
Не работает.
Спасибо!
Sergey
Andrey
Sergey
Andrey
А этого еластик и хочет
Andrey
Это даже в из инструкции по установке написано
Dmitry
хм. То есть в самом контейнере мне не указать все необходимые настройки?
Sergey
Sergey
Sergey
где будешь запускать
Sergey
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
Sergey
другой вопрос как это масштабировать:))
Dmitry
другой вопрос как это масштабировать:))
Так а я о чем:). На хосте я и ансиблом всё могу сделать, а упражняюсь контейнерами ради масштабируемости (на самом деле упражняюсь ради упражнений пока)