Ставим Debian на шлюз и почту вместо Windows
Первый прод-Linux у нас на шлюзе и почтовом сервере вместо Windows. Что реально выиграли по стабильности, где повозились, и почему это не переход ради перехода.
готовится релиз Debian 3.0 Woody
К лету у Debian наконец созревает новая стабильная версия, 3.0 под кодовым именем Woody. Её обещают со дня на день, и повод хороший, чтобы рассказать, как мы у одного клиента заменили Windows-сервер на шлюзе и почте на Linux. Заранее оговоримся: это не история про то, как мы прозрели и ушли с "форточек" в светлое будущее. Windows у этого же клиента как крутил бухгалтерию и файловую шару, так и крутит. Мы поменяли ровно две роли и ровно там, где для этого была причина.
Почему вообще полезли
Стоял у конторы один сервер на Windows, и на нём висело всё сразу: выход в интернет для офиса, почта, общие папки, учётка. Классическая ситуация для малого бизнеса - один ящик на все руки. Проблема была в том, что интернет-шлюз и почтовик - это две роли, которые смотрят наружу, в грязный интернет, и от этого регулярно чихают. То прокси задумается, то почтовая служба заляжет, то надо перезагрузить всю машину из-за обновления, а вместе с ней ложится и бухгалтерия, которой до интернета вообще дела нет.
Нас это доставало по счётчику выездов. Половина ночных звонков была не про данные клиента, а про то, что "интернет не работает" или "почта не ходит". Почти всегда лечилось перезагрузкой всей машины, после чего мы неделю ждали следующего раза.
Идея была простая: вынести две наружные роли на отдельную дешёвую машину, чтобы падение шлюза не роняло учётку, и наоборот. А раз ставим отдельную коробку под шлюз и почту - можно наконец попробовать под них Linux, потому что именно на этих задачах он к 2002 году уже взрослый и проверенный, не то что на десктопе.
Что реально выиграли
Первое и главное - аптайм. Не потому что Linux магический, а по скучной причине: он даёт менять сервисы по отдельности. Обновили почтовик - перезапустили только почтовик, всё остальное на машине даже не заметило. На старом сервере слишком многое требовало полной перезагрузки, и каждая такая перезагрузка задевала непричастных. Тут мы просто перестали дёргать всю коробку ради одной службы.
Второе - прозрачность. Конфиг почты и шлюза лежит текстовыми файлами, которые видно глазами. Что-то сломалось - смотришь в лог, лог человеческий, там русским по белому написано, кто кому и почему отказал. Скучное свойство, но именно оно экономит нам ночи: в три часа утра читаемый текстовый лог дороже любой красоты.
Третье - железо. Под шлюз и почту небольшой конторы Linux спокойно живёт на слабой машине, на которой Windows под сервер задохнулся бы ещё на старте. Мы собрали шлюз буквально из того, что оставалось после апгрейда рабочих мест.
Отдельно скажем про резервные копии, потому что мы про них недавно писали и с тех пор нудим. Конфигурация этого сервера - это несколько текстовых файлов. Мы их складываем в тот же бэкап, и восстановление шлюза с нуля - это поставить систему и вернуть три-четыре файла на место. С прошлым сервером "восстановить как было" означало вспоминать, где именно и какими мышками накликана каждая настройка.
Где пришлось повозиться
Не всё было гладко, и врать не будем.
Первое - руки. Linux сейчас прощает мало. Тут нет мастера, который проведёт за руку: половина настройки - это редактирование конфигов вручную и чтение документации, которая местами на английском и местами устарела. Первую машину мы собирали ощутимо дольше, чем собрали бы привычный сервер, просто потому что каждый шаг приходилось сверять по манам и форумам.
Второе - железо, которое сначала выигрыш, а потом засада. Драйверов под всё подряд в Linux нет. Попадётся сетевая карта или контроллер, который ядро не знает, - и ты либо ищешь другую железку, либо лезешь собирать поддержку руками. Мы на этом один раз встряли на полдня из-за сетевой карты, которую пришлось просто заменить на другую, заведомо понятную системе.
Третье - почта наружу. Настроить приём и отправку так, чтобы это не превратилось в открытый релей, через который весь мир начнёт слать спам, - отдельная работа с граблями. Разложить, кто имеет право отправлять, а кто нет, - на это ушло больше времени, чем на всё остальное. Windows-почтовик тут был не умнее, но те грабли мы уже прошли, а здесь собирали заново.
Почему это не "перейти на Linux ради Linux"
Мы ничего не меняли из принципа. Бухгалтерия, учётка и файловая шара как стояли на Windows, так и стоят - там сидит софт, который живёт только под Windows, и тащить его на Linux было бы вредительством ради галочки.
Логика была не "какая система лучше", а "какую роль куда посадить". Наружу смотрящие сервисы, которые чаще ломаются и требуют перезагрузок, мы отселили на отдельную машину и дали им систему, которая на этих задачах устойчивее и разбирается по частям. Всё, что завязано на привычный клиенту софт, оставили как есть.
Итог по маю 2002-го такой: ночных звонков про "интернет лёг" стало заметно меньше, потому что теперь одна роль падает, не утаскивая за собой остальные. Мы не выкинули Windows и не собираемся. Просто перестали держать все яйца в одной корзине. За то, чтобы чужая инфраструктура работала, отвечаем мы, а не мода на систему, и выбор тут всегда про роль, а не про лагерь.
- Резервные копии и миф о RAID · 8 ноября 2001