Переход на СПО. Заменить Exchange за 10 дней
Рис. 1. Для Zimbra существуют средства планирования архитектуры и миграции с MS Exchange
Рис. 2. Кросс-платформенный клиент совместной работы Zimbra Desktop
Рис. 3. Zimbra Web Client
Рис. 4. Совместная работа серверов Exchange и Zimbra
Каждая морально готовая к переходу на открытое ПО компания, как правило, сталкивается с проблемой миграции уже существующей инфраструктуры. Никто не хочет заново создавать пользователей на компьютерах или терять архивы данных, а планирование архитектуры новых малознакомых приложений, которые хочется уместить в уже закупленные аппаратные мощности, вызывает много вопросов.
Особенно остро стоит вопрос переноса сложных приложений. Рассмотрим Microsoft Exchange: это не только почта, но и календари, задачи, контакты и многое другое. Что с этим делать? Какой открытый аналог искать?
Принципиальных вариантов два:
- найти приложения под Linux, позволяющие реализовать все функции Exchange по отдельности, и попробовать заставить их работать вместе. После этого отдельно переносить в них разные данные из Exchange;
- найти готовое приложение, выполняющее те же задачи, что и Exchange, а может быть, и больше. Такие приложения, как правило, ориентированы на серьезное корпоративное использование. В том числе для них обычно есть возможность получить коммерческую поддержку и существуют необходимые инструменты, в частности утилиты для миграции с MS Exchange.
Первый вариант идеален, когда в компании есть специалист, который умеет и любит программировать на разных языках, отлично знает архитектуру ОС и умеет просчитывать оптимальные конфигурации ПО. Кроме того, для этого требуется немало времени, и неизвестно, будет ли ПО работать после перенастройки или обновления. Второй вариант разумен для организаций, которым нужны гарантии и которые дорожат своим временем.
Рассмотрим процесс миграции во втором варианте. В качестве примера возьмем платформу Zimbra — для нее существуют средства планирования архитектуры и перехода с MS Exchange, что облегчает нам задачу (рис. 1). Не будем рассматривать преимущества данного приложения перед продуктом компании Microsoft, это тема отдельной статьи, рассмотрим лишь непосредственно миграцию. Но миграцию не только как перенос данных, а весь процесс целиком, начиная с планирования архитектуры новой системы.
В качестве примера рассмотрим историю миграции средней компании с численностью сотрудников в тысячу человек.
Существующая инфраструктура и мотивация миграции
Инфраструктура системы совместной работы основана на Microsoft Exchange 2003, обеспечивающем работу пятисот пользователей в головном офисе управляющей компании, а также в семи региональных подразделениях. В ближайшем будущем ожидается увеличение количества филиалов, поэтому необходимо строить систему с расчетом на тысячу пользователей.
Существующий Microsoft Exchange работает на одном сервере в головном офисе ( два центральных процессора, 16 Гб оперативной памяти, SCSI RAID10). Используются отдельный внешний антиспам и антивирус Symantec. Система интегрирована с доменом Microsoft Active Directory 2003.
Первым мотивом для замены Exchange является тот факт, что существующий сервер в любом случае требует модернизации, причём необходима как замена оборудования, так и переход на новую версию Exchange. Бюджет ограничен, поэтому хочется по возможности снизить расходы и на оборудование, и на лицензии.
Второй мотив: в одном из региональных подразделений было успешно переведено на Linux более 60% рабочих мест, и в перспективе планируется масштабное внедрение Linux-десктопов. Однако для Exchange есть только один полноценный клиент — Microsoft Outlook, который не работает на Linux. Поэтому необходима “более кросс-платформенная” альтернатива.
Была выбрана система на базе Zimbra Collaboration Suite, так как она обеспечивает более дешевую альтернативу Microsoft Exchange, а на работу пользователей повлияет минимально. В том числе есть готовые инструменты для переноса пользовательских данных и настроек, а после миграции пользователи могут применять привычные инструменты для работы (в данном примере основным исторически является Microsoft Outlook). Кроме того, для Zimbra существует кросс-платформенный клиент совместной работы Zimbra Desktop, способный заменить Outlook и при этом работающий на Windows, Linux и Mac OS (рис. 2).
Планирование целевой системы
При проектировании учитывались следующие факторы:
- в качестве антиспама и антивируса для Zimbra будет использоваться существующий фильтр Symantec. Этот фактор крайне важен, так как позволяет отключить на сервере Zimbra встроенные антиспам и антивирус и тем самым заметно снизить нагрузку на него;
- необходима интеграция с Active Directory , поскольку здесь хранятся все пользователи, а также глобальная адресная книга, которые необходимо сохранить;
- архитектуру системы будем рассчитывать так, чтобы максимально допустимый по длительности простой системы в течение нескольких часов случался не чаще раза в год. Этот фактор также крайне важен, так как позволяет для обеспечения отказоустойчивости ограничиться использованием RAID и разумной политики резервного копирования для защиты данных. Создание отдельного отказоустойчивого кластера в данном проекте выглядит избыточной мерой, которая приведет только к излишней сложности и удорожанию инфраструктуры.
Точные требования к оборудованию определялись исходя из анализа нагрузки на существующую систему: число одновременно активных пользователей, используемые протоколы для доступа к системе, общее количество входящих и исходящих сообщений, наличие пиковых периодов, доля сообщений в пиковые периоды, средний размер сообщений и т. д.
Оказалось, что благодаря современной архитектуре Zimbra можно обеспечить работу тысячи пользователей на одном сервере, аналогичном тому, на котором работает имеющийся Microsoft Exchange. Для долговременного хранения архивов и резервных копий данных используются более медленные, но более емкие и дешевые SATA-диски.
Предполагалось, что на первом этапе после миграции большинство пользователей продолжит работать в Microsoft Outlook (синхронизация с Zimbra через MAPI). Фактически пользователи в этом случае не замечают замену сервера. Освоить новый интерфейс придется лишь тем, кто для работы через браузер использовал Outlook Web Access: им нужно будет привыкнуть к Zimbra Web Client (рис. 3). Благодаря такому подходу дальнейший перевод пользователей на Linux и Zimbra Desktop проходит постепенно и не сказывается на работе организации.
Ход проекта
Перед основным развертыванием системы и выполнением миграции, разумеется, необходимо аккуратно обследовать инфраструктуру и по его итогам спланировать весь проект. Затем нужно пройти этап пилотной эксплуатации новой системы на небольшой группе пользователей, чтобы убедиться, что они действительно смогут успешно работать после перехода на Zimbra. Данные этапы по-своему уникальны для каждой организации. К тому же, как правило, в средних компаниях без жесткого проектного планирования они проходят параллельно с текущей работой “в фоновом режиме”. Поэтому приводим описание только основной части проекта — непосредственно перехода на новую систему.
Отдельный вопрос, заслуживающий внимания, — перенос данных из Exchange. Существуют инструменты для миграции, но этот процесс может потребовать значительного времени, если необходимо перенести много накопленных данных.
Принципиально возможны два подхода:
- отдельно настраивается совместная работа серверов Exchange и Zimbra, пользователи постепенно переводятся с одного на другой без остановки системы (рис. 4);
- существующая система блокируется, выполняется перенос данных, включается новая система.
- В общем случае более изящным выглядит первый подход, но так как он требует дополнительной работы, то зачастую проще оказывается отключить систему на какое-то время в период низкой активности, например, в выходные или праздничные дни.
Результаты
Полный переход с Exchange на Zimbra от момента согласования плана работ до отключения Exchange занял две недели.
Как развернуть альтернативу Exchange
Прежде чем что-то внедрять нужно ознакомиться с документацией по внедряемому и техническими/программными характеристиками которые накладываются, вот к примеру я задался целью, а можно ли на текущем месте работы приобщиться к более функциональному почтовому сервису. Более подробное чтение показало, что имя такому продукту – Zimbra. Дело в том, что текущая самосборка в роли почтового сервера (OpenSuse 13.2 Exim+DBmail+ доставшаяся от предыдущих системных администраторов перестала справлять с требуемыми запросами, да и к тому же хотелось уйти от всего что было на все новое, лично настроенное и правильно функционирующее. Плюсы какие я видел в предыдущем почтовом сервере:
- Возможность хранить почтовые пароли в базе, удобно когда настраиваешь почту на мобильнике, личном ноутбуке.
- Не требовательность к задейстованным ресурсам
, но и без минусов не обошлось:
- Не стабильная работа по IMAP, только по POP3, а это вся почта хранится на рабочих местах.
- Отсутствие возможности работы с почтой из дома (POP3, лучше же использовать IMAP (почта хранится на почтовом сервере, а не разбросана по подключения почтовых клиентов на различных местах).
- Нет технической возможности работать через Web-интерфейс.
Плюсы которые я сейчас с почтовым сервисом – Zimbra получил:
Централизованное Web-ориентированное управление почтовым сервером
Возможность подключиться к любому заведенному почтовому ящику.
Антивирусная и Антиспамовская проверка из коробки.
Консольный бекап и восстановление почтовых ящиков
Проработанная миграция почтовых ящиков с развернутого сервера на другой более мощный (это тема отдельной заметки, я ее проработал и воплотил, когда тестовая заготовка, а последующее использование в наспех перестала справляться успешно была переведена на новую настройку, но с учетом всех выявленных недочетов).
Те сотрудники которые работали в крупных компаниях по приходу на текущее место работы смогут с достоинством принять плюсы (аналог функционала от Microsoft Exchange) данного почтового сервера:
Единая адресная книга адресов
Календарь и Ежедневник
Документы (Портфель) – хранение/просмотр/редактирование документов располагая лишь доступом к Web-интерфейсу
А потому – почтовый сервер в роли законченного решения из коробки – Zimbra отлично вписывается в тот сервис которому суждено быть в компании.
Первым делом, произвожу внимательное знакомство с минимальными требованиями налагаемыми почтовым сервисом Zimbra к характеристикам железа.
В моем случае я использую гипервизор ESXi на мощном железне (да и хотя выбирать не приходится, работаю на том что есть, прежде чем что-то покупать это что-то нужно обосновать, что покупка это вынужденная мера).
- RAM – минимум 8Gb
- Архитектура процессора – AMD/Intel от 2 GHz
- Дополнительный диск (файловая система ext3 & ext4) на котором будет хранится почта сотрудников и сама установка (по умолчанию каталог /opt/zimbra)
- Дополнительный диск (файловая система nfs) на котором в последствии будет осуществляться резервое копирование.
- Фаервол на системе должен быть деактивирован/не установлен
- Сервис AppArmor на системе должен быть деактивирован/не установлен
- OpenSSH сервер – обязательно установлен и настроен на вход только доверенным.
В сети в которой разворачивается почтовый сервис Zimbra должен быть правильно сконфигурированный DNS-сервис, содержащий записи: A и MX
Система с ролью почтового сервиса должна иметь службу NTP для соответствия самого точного времени.
Мой главный постулат: Чтобы знать то с чем работаешь, необходимо в первую очередь уметь все это делать самим. Я придерживаюсь правила – ни на кого не надейся, а только на себя, т.к. Коллеги по работе обычно подставляют тебя. И выражение тут как нельзя кстати подходит: — Хочешь что-то сделать хорошо, сделай это сам.
Важно: разворачиваемый почтовый сервер на базе Zimbra сильно зависит от DNS настроек, не пренебрегайте этим потому как в случае игнорирования данного шага проблем можно огребать на пустом месте пачками, оно Вам надо.
Ну что ж начну пожалуй свое повестование пошаговых действий:
Развернут домен контроллер по заметке. (IP address: 10.9.9.1)
Развернута служба DHCP
На домен контроллере развернута служба DNS где обязательно созданы необходимые записи: A & MX указывающие на IP&DNS имя сервера с ролью почтового сервиса.
Windows Server 2008 R2 SP1 – Start – Control Panel – Administrative Tools – DNS – SRV-DC – Forward Lookup Zones – polygon.local – создана запись типа A и PTR запись и MX запись (mail.polygon.local)
Развернута система (IP address: 10.9.9.11 (В DHCP Windows зарезервирован на получение данного адреса хост) удовлетворяющая минимальным требованиям будущего почтового сервиса Zimbra на базе операционной системы: Ubuntu 14.04.3 Server amd64 (RAM = 8Gb, CPU = 2 и т.д)
- Apparmorудален
- Locale – установлена
- Часовое время корректно
Разбивка по дискам:
- /dev/sda1 – 40Gb → /
- /dev/sda2 – 8Gb → swap
- /dev/sdb1 – 50Gb → /opt
- /dev/sdc1 – 50Gb → /backup
Система обновлена до самого стабильного состояния в рамках текущего релиза:
$ sudo apt-get update && sudo apt-get upgrade -y
Текущая версия ядра и релиз:
$ uname -a && lsb_release -a
Linux mail 3.19.0-25-generic #26
14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Настройки сетевого интерфейса следующие:
$ sudo nano /etc/network/interfaces
iface eth1 inet static
#IP адрес моего Mikrotik через который компьютеры данной сети выходят в мировую сеть
Настройки хоста и доступности по имени и IP адресу:
$ sudo nano /etc/hostname
$ sudo nano /etc/hosts
10.9.9.11 mail.polygon.local mail
10.9.9.1 srv-dc.polygon.local srv-dc
Прежде чем начать установку в систему нужно установить необходимые пакеты:
$ sudo nano /etc/apt/sources.list
deb http://mirrors.kernel.org/ubuntu trusty main
$ sudo apt-get update && sudo apt-get install pax sysstat sqlite3 unzip libaio1 libgmp10 libperl5.18 -y
Напоследок перезагружаю систему:
а после проверяем, что содержимое файла /etc/resolv.conf не содержит ничего кроме:
$ sudo nano /etc/resolv.conf
Когда подготовительные шаги настройки системы сделано, перехожу к этапу установки почтового сервиса – Zimbra, скачиваю самый последний стабильный релиз:
$ tar zxf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
$ mv zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116 zcs-8.6.0
Do you agree with the terms of the software license agreement? [N] Y
Do you wish to continue? [N] Y
Install zimbra-ldap [Y] Yes
Install zimbra-logger [Y] Yes
Install zimbra-mta [Y] Yes
Install zimbra-dnscache [Y] Yes
Install zimbra-snmp [Y] Yes
Install zimbra-store [Y] Yes
Install zimbra-apache [Y] Yes
Install zimbra-spell [Y] Yes
Install zimbra-memcached [Y] Yes
Install zimbra-proxy [Y] Yes
The system will be modified. Continue? [N] Y
Далее мастер начнет установку необходимых deb пакетов для поднятия функционала почтового сервера, ожидаем…
На заметку: если в консоли Вы видите сообщения:
- DNS ERROR – No A or AAAA record for mail.polygon.local.
- DNS ERROR – none of the MX records for mail.polygon.local resolve to his host
то лучшим решением будем прервать установку, устранить все ошибки и уведомления на некорректную работу мастера, а уже только потом начать установку заново, допустим все устранено, после следует сделать:
$ sudo apt-get remove zimbra*
$ sudo rm -Rf /opt/zimbra
Итак пакеты (deb) успешно установились в систему, на консоль не было подано никаких сообщений об ошибках – и это хорошо, если Вы видите на экране консоли надпись:
Address unconfigured (**) items (? — help)
Нажимаем на клавиатуре цифру 7
Select, or ‘r’ for previous menu [r] после цифру 4 для перехода в пункт указания административного пароля на дефолтную учетную запись admin
Password for admin@mail.polygon.local (min 6 characters): [Ra_SyRrv8] 712mbddr@
Select, or ‘r’ for previous menu [r] r
*** CONFIGURATION COMPLETE — press ‘a’ to apply
Select from menu, or press ‘a’ to apply config (? — help) a
Save configuration data to a file? [Yes] Yes
Save config in file: [/opt/zimbra/config.15232]
Saving config in /opt/zimbra/config.15232…done.
The system will be modified — continue? [No] Yes
Снова ожидаем, сейчас поднимается почтовый сервер мастером установки, как только в консоли видим следующие строки, то установка считается завершенной.
Setting up zimbra crontab…done.
Moving /tmp/zmsetup10272015-134810.log to /opt/zimbra/log
Configuration complete — press return to exit, нажимаю Enter и оказываюся в консоли. Теперь когда Zimbra развернута, проверяю, что все почтовые сервисы функционируют нормально и запущены:
/zcs-8.6.0$ sudo su — zimbra
$ zmcontrol status (напротив каждого сервиса статус должен быть Running – тогда все хорошо).
Если же какой либо из сервисов выключен, то из под учетной записи zimbra запускаем:
Ниже порты с которым работает почтовый сервис:
Доступ к Web почте: 80
Защищённый доступ к Web почте: 443
IMAP server port: 143
IMAP server SSL port: 993
POP server port: 110
POP server SSL port: 995
Консоль управления сервером: https://IP&DNS:7071/zimbradmin
Далее подключаемся к Web-панели администрирования через браузер к примеру с доменной станции (в роли браузера Internet Explorer не может выступать, лучше использовать Google Chrome или же Firefox, уж поверьте моему опыту).
Mozilla Firefox – URL: https://mail.polygon.local:7071/ – соглашаемся с уведомление, что соединение является недоверенным (Я понимаю риск → Добавить исключение – Подтвердить исключение безопасности) , далее в окне Административной консоли вводим аутентификационные данные:
Имя пользователя: admin
Пароль: 712mbddr@
И нажимаем “Вход”.
Сейчас нужно создать домен который будет обслуживать данный почтовый сервер:
Главная – Настройка – Домены – Создать —
Этап “Общая Информация”:
Имя домена: Polygon.local – после нажимаю “Далее”
Этап “Настройки режима GAL”:
Режим GAL: Внутренний
Почтовый сервер: выбираю mail.polygon.local – после нажимаю Готово
Теперь когда создан обслуживаемый домен можно создавать почтовые ящики для сотрудников, создаю:
Главная – Управление – Учетные записи – Создать
Имя учетной записи: alexander.ollo@polygon.local (указываем вместо mail.polygon.local)
Фамилия: Ollo
Пароль: Aa1234567
Подтвердите пароль: Aa1234567
и нажимаю Готово.
Отлично первый почтовый ящик создан, теперь настрою почтовый клиент, в рамках данной заметки я буду использовать почтовый клиент Thunderbird.
Start – All Programs – Mozilla Thunderbird – Инструменты – Параметры учетной записи – Действия для учетной записи – Добавить учетную запись почты
Ваше имя: Alexander.ollo
Адрес эл. Почты: alexander.ollo@polygon.local
Пароль: Aa1234567
Запомнить пароль: отмечаю галочкой и нажимаю кнопку Продолжить, а после “Настройка вручную” и указываю параметры подключения к почтовому ящику на почтовом сервере:
Как только параметры были указаны нажимаю “Перетестировать” — если ошибок нет то “Готово”. Т.к. сертификат задействованный для данного почтового сервера является самоподписанным, то в процессе отправки (преимущественно в первый раз его нужно будет добавить в исключение безопасности)
Создаю тестовое письмо самому себе:
Создать – и в поле кому указываю самого себя (alexander.ollo@polygon.local) и письмо успешно отправляется
По аналогии создав несколько почтовых ящиков проверяю, что почта между ними ходит, но настраивать различные почтовые ящики в почтовом клиенте Thunderbird не зачем, можно из административного интерфейса управления почтовым сервером открыть необходимый почтовый ящик (Для системного администратора это очень удобно).
Главная – Управление – Учетные записи – находим почтовый ящик, к примеру alektest@polygon.local и через правык клик мышью по нему выбираем меню “Просмотр почты”, следом откроется рядом с административной еще одна вкладка содержащая Web-ориентированный доступ (https://mail.polygon.local:8443)
в почтовый ящик через браузер и открыв папку “Входящие” наблюдаю, что письмо от почтового ящика alexander.ollo@polygon.local успешно дошло.
Работает. Заметка полностью работоспособна. В дальнейшем я разберу много всего интересного в плане практике, а не как на большинстве ресурсов – только теория и без намека на реальную эксплуатацию. На этом я прощаюсь, до новых встреч с уважением автор блога – ekzorchik.





