LINUX.ORG.RU
решено ФорумAdmin

Как правильно изменять конфигурацию на боевых серверах?


1

4

Поделитесь опытом: как не угробить то, что многие годы работает исправно, если требуется внести какие-то более-менее крупные изменения в конфигурацию. Т.е. чтоб была возможность откатить как конфиги, так и установленные/удаленные приложения.

На примере Debian.

Про бекапы и системы контроля версий знаю, но хотелось бы какое-то более правильное решение.

★★★★★

Я клоню себе сервак на виртуалку - отыгрываю на нем и потом только повторяю в продакшине.

А по феншую сервер конфигураций и тестовая нода. На тестовой ноде отдтестили изменения - применили для боевого сервака :) Думаю както так :)

black_13 ()

Для отката снапшоты же, LVM например. Все тем же LVM можно сделать снапшот, запустить виртуалку используя этот снапшот, сделать изменения в виртуалке и если все нормально, то применить изменения из снапшота на основной раздел.

Так же можно использовать контейнеры: docker или чистый lxc.

Black_Roland ★★★★ ()

взять бекап, развернуть на другом сервере. потестить свои изменения, взять их дифф, применить на продекшене.

по феншую у тебя все конфигурация в scm, ты где-то на дев-сервере что-то меняшь, коммитишь, коммит разворячивается CI-системой на тестовый энваромент, запускаются автотесты. потом промоутишь чейнджсет в интегрейшн, там снова тесты, оттуда промоутишь на продакшен. система устроена таким образом что изменения деплоятся на неактивную ноду, которая потом вводится в строй, и так пока не будут задеплоены все ноды.

но это надо изначально так дизайнить и выстраивать процессы, тренировать тестеров, разработчиков и менеджмент...

val-amart ★★★★★ ()

По фен-фую надо иметь тестовый стенд, и сначала обкатывать на нём. Чем ближе стенд по конфигурации и железу к продакшену, тем больше фен-шуя.

selivan ★★★ ()
Ответ на: комментарий от val-amart

Полностью солидарен.
Если такой инфраструктуры нет - стремиться к ней всеми силами.

tazhate ★★★★★ ()

На, держи:
etckeeper
ansible
и много много виртуализации по вкусу.

tazhate ★★★★★ ()
Ответ на: комментарий от Black_Roland

Для отката снапшоты же, LVM например. Все тем же LVM можно сделать снапшот

Ты хотел сказать zfs.

tazhate ★★★★★ ()
Ответ на: комментарий от Vultaron

Почему не LVM?

Медленнее, хуже, меньше функционала.

tazhate ★★★★★ ()
Ответ на: комментарий от tazhate

По стабильности нет нареканий? У меня тим лид например считает что кроме ext4 для продакшена ничего еще не готово, не btrfs, не zfs

Vultaron ()
Ответ на: комментарий от tazhate

zfs

Што? Эта прилепа сбоку от ядра против 2х нативных решений? Тебя изя покусал?

P.S. Тазик, ты упорот, причём постоянно. Не зря тебя из модеров выгнали.

anonymous ()
Ответ на: комментарий от Vultaron

По стабильности нет нареканий?

Блин как задолбали, никто даже попробовать zfs не удосужился, зато в один голос кричат про нестабильность.

zfs уже больше года как для продакшена готова в виде нативного модуля ядра. использую ее уже год на 3-х серверах под виртуализацию, проблем никаких, снапшоты и массивы на ней это просто мечта, lvm - это вчерашний день. внимательно читаем доки по zsf, не пытаемся ее использовать с парой гигов оперативы, не отдаем под нее помоечные харды за 50 баксов и все будет стабильно.

vxzvxz ★★★ ()
Ответ на: комментарий от Vultaron

По стабильности нет нареканий? У меня тим лид например считает что кроме ext4 для продакшена ничего еще не готово, не btrfs, не zfs

Твой тим лид - идиот. Даже обяснять почему не хочется. Пусть откроет википедию и почитает сколько лет zfs, чтоли.

tazhate ★★★★★ ()

Про бекапы и системы контроля версий знаю, но хотелось бы какое-то более правильное решение.

мусье знает толк в извращениях...

emulek ()
Ответ на: комментарий от vxzvxz

zfs уже больше года как для продакшена готова в виде нативного модуля ядра. использую ее уже год на 3-х серверах под виртуализацию, проблем никаких

а в чём профит zfs?

emulek ()
Ответ на: комментарий от tazhate

Пусть откроет википедию и почитает сколько лет zfs, чтоли.

И сколько из них оно в ядре linux? ;) В текущих стабильных ветках дистрибутивов нужно ставить левые патчи, чтобы поиметь zfs. Сомнительное удовольствие, да ещё и ставящее под сомнение поддержку разработчиков дистрибутива

router ★★★★★ ()
Ответ на: комментарий от router

В текущих стабильных ветках дистрибутивов нужно ставить левые патчи, чтобы поиметь zfs.

Нет, достаточно поставить вполне правые пакеты из реп.

tazhate ★★★★★ ()
Ответ на: комментарий от anonymous

Эта прилепа сбоку от ядра против 2х нативных решений?

Некоторое время назад код zfs таки добавили в новые версии ядра. Теперь это не только fuse, но и полноценный модуль ядра

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

Некоторое время назад код zfs таки добавили в новые версии ядра

Это в какие? В 3.14 его нет.

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Неудачно выразился. Модуль ядра готовят для новых версий

http://ru.wikipedia.org/wiki/ZFS#.D0.A3.D1.80.D0.BE.D0.B2.D0.B5.D0.BD.D1.8C_....

Для обхода лицензионного ограничения Белендорф решил распространять свой продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра[11][12]. С марта 2013 года (версия 0.6.1) проект считается готовым к продуктивному применению[13].

router ★★★★★ ()
Ответ на: комментарий от tazhate

кстати. я так понимаю ты его с луниксом используешь — как fuse или модуль ядра?

val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

кстати. я так понимаю ты его с луниксом используешь — как fuse или модуль ядра?

Модуль ядра конечно же.

tazhate ★★★★★ ()
Ответ на: комментарий от emulek

в чём профит

- мгновенные снапшоты виртуалок без проседания производительности;
- функционал lvm и mdadm в одном флаконе;
- сжатие и квоты, и легкость управления размерами виртуалок за счет последних
vxzvxz ★★★ ()
Последнее исправление: vxzvxz (всего исправлений: 1)
Ответ на: комментарий от vxzvxz

ага, спасибо. А если виртуалок нет? Тогда не нужно?

emulek ()
Ответ на: комментарий от emulek

если не нужны мгновенные снапшоты фс, сжатие, квоты и удобный гибрид lvm c mdadm, то да не нужно.

vxzvxz ★★★ ()
Ответ на: комментарий от vxzvxz

ну снапшоты они не совсем «мгновенные». В том смысле, что время всё равно уходит, только оно откладывается на потом и размазывается по транзакциям.

сжатие тоже не нужно на уровне ФС. На уровне файлов это эффективнее.

квоты есть и в ext4.

Ну да, если есть виртуалки, то всё это нужно, т.к. уровень файлов скрыт за виртуалкой.

emulek ()
Ответ на: комментарий от val-amart

Ты крутой админ и мб разработчик. А мы сидим на винде, но веб на Апаче+Постгрес, и денег на сервер нет и не предвидится т.к. мы муниципалы. И вносить изменения в конфигурацию ПО можно очень ограниченно. Т.к. всё должно быть одобрено организацией за «много денег», что всё что мы поставили не нарушает ЗПД. И ломается эта ЗПД мизинцем левой ноги в полёте мимо него. А ПО внутреннего рабочего портала корявое и в режиме бета-теста non-stop.

Вкратце: всё круто. У вас. Но как только включается бюрократически-попилочный аппарат нашего государства то на всё хочется ложить. У нас.

К чему это? Да ни к чему. Просто публичное огорчение.

leonidko ★★★ ()
Ответ на: комментарий от emulek

ну снапшоты они не совсем «мгновенные»

не, в zfs они реально мгновенные потому что механизм другой.

сжатие тоже не нужно на уровне ФС. На уровне файлов это эффективнее.

прозрачное сжатие ускоряет io за счёт меньшего объёма, это не со всеми типами данных хорошо работает, но смысл надеюсь понятен.

квоты есть и в ext4.

зато нет динамического размера файловых систем в пуле.

EvgGad_303 ★★★★★ ()
Ответ на: комментарий от EvgGad_303

не, в zfs они реально мгновенные потому что механизм другой.

да знаю я. Снапшоты мгновенные, БП. А то, что _потом_ это тормозит, дык незаметно. Во многих юзкейсах нет никакой разницы. Т.е. я и не говорил, что это плохо и не нужно.

Конечно, многим нужно. Мне не нужно, вот и всё.

прозрачное сжатие ускоряет io за счёт меньшего объёма, это не со всеми типами данных хорошо работает, но смысл надеюсь понятен.

и это я знаю. В ext4 тоже есть сжатие (только надо ядро пересобирать, в upstream'е отключено. Или модулем делать). На практике получается так, что мелкие файлы сжимать нет смысла, т.к. разницы между 5К и 7К нет абсолютно никакой — 2*4К по любому. Пишет HDD/SSD тоже по 4К(минимум), т.ч. писать тоже столько же. Крупные все и так сжаты (да, виртуалки — исключение. Но у меня-то их нет). Это всё _мой_ юзкейс, у тебя может и не так.

зато нет динамического размера файловых систем в пуле.

и не нужно.

emulek ()
Ответ на: комментарий от emulek

А то, что _потом_ это тормозит, дык незаметно.

не сравнивай с ущербной реализацией lvm, говорю же по другому работает.

На практике получается так

на практике я пока больше профитов видел, оно же может и до 4К с 7К ужать. мы включаем компрессию почти на всех датасетах в продах, исключения бд и ещё по мелочи.

Крупные все и так сжаты

кино, музыка, бд да, но есть ещё много других. тот же полный бэкап time machine моего ноута занимает 200гб вместо 300+ и рутовый пул на флэшке с compressratio 2.19, мелочь, а приятно )

и не нужно.

ты просто не имел возможности проникнуться этим удобством.

EvgGad_303 ★★★★★ ()
Ответ на: комментарий от leonidko

ну, я просто ответил на вопрос как по феншую...

если серьезно, то совсем больных людей очень мало. на прошлой работе например, хоть и не госконтора, но бюрократический и соответственно процессуальный ад был, просто катастрофа. пришлось долго и доходчиво (3 года!) обьяснять как правильно и почему, и в чем профит для бизнеса. и даже расходов на это часто не надо, либо они минимальны. хочешь делать правильно а руководство не понимает? прийдется пахать, в том числе по-менеджерски а не только технически. а не хочешь, так забей. всегда можно найти другую работу, всегда можно просто не париться.

val-amart ★★★★★ ()
Ответ на: комментарий от EvgGad_303

не сравнивай с ущербной реализацией lvm, говорю же по другому работает.

принцип везде одинаковый. Но да, реализация в lvm конечно не лучшая.

на практике я пока больше профитов видел, оно же может и до 4К с 7К ужать. мы включаем компрессию почти на всех датасетах в продах, исключения бд и ещё по мелочи.

я не говорю, что профита нет. Есть. Но в моих случаях нет смысла этим заниматься.

кино, музыка, бд да, но есть ещё много других. тот же полный бэкап time machine моего ноута занимает 200гб вместо 300+ и рутовый пул на флэшке с compressratio 2.19, мелочь, а приятно )

я бекапы делаю скриптом. Скрипт сам сжимает.

emulek ()
Ответ на: комментарий от emulek

принцип везде одинаковый.

ненене, дэвид блэйн, ненене. в zfs изменения оригинала пишутся рядом и ничего никуда не копируется и не размазывается, а используются указатели.

EvgGad_303 ★★★★★ ()

Пока выбрал etckeeper, как наиболее применимый вариант в реальной жизни: когда от предыдущих людей остаются машины, которые нужно поддерживать, не имея документации и т.п. Понятно, что вновь развертываемых системах нужно тщательно продумывать инфраструктуру, там можно и нужно использовать виртуализацию.

Всем спасибо за дискуссию.

Igron ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.