Любое программное обеспечение имеет свои жизненный цикл, а реалии сегодняшнего дня таковы, что использовать не имеющее поддержки ПО, особенно на серверах, крайне небезопасно. Поэтому хорошие администраторы планируют обновление серверного парка заранее, не дожидаясь крайних сроков. В зависимости от работающих на сервере служб процесс обновления может иметь свои особенности. Сегодня мы рассмотрим, как правильно обновить операционную систему для сервера электронной почты Zimbra.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Так исторически сложилось, что основной парк обслуживаемых нами серверов Zimbra успешно работает на Ubuntu Server 12.04 LTS, однако поддержка этой версии заканчивается 26 апреля 2017 г. Поэтому вполне закономерно встал вопрос о переходе на более новую версию ОС, в качестве которой мы выбрали Ubuntu Server 14.04 LTS.
Почему не 16.04 LTS? Во-первых, не стоит спешить, 14.04 проверена и отлажена, все подводные камни и способы их обхода известны, накоплен опыт эксплуатации и т.д. и т.п. Во-вторых, актуальная версия Zimbra 8.7.0 GA существует для 16.04 только в статусе Beta и потребует кроме обновления ОС также обновления текущей версии Zimbra (у нас практически везде используется 8.6.0). А одновременно обновлять ОС и Zimbra, тем более на Beta - задача со многими неизвестными, поэтому таких авантюр стоит избегать, отдавая предпочтение проверенным решениям.
Прежде чем обновлять операционную систему - убедитесь, что для целевой системы есть выпуск установленной у вас версии Zimbra, если такой версии нет, то текущую установку Zimbra следует обновить. Так, например, установленная у нас 8.6.0 GA позволяет обновить ОС для 14.04 LTS, но, если мы захотим обновиться до 16.04 LTS, то это потребует обновления Zimbra до 8.7.0 GA.
Обновление сервера - операция связанная с высоким риском, поэтому следует предпринять все меры, чтобы быстро восстановить систему, если что-то пойдет не так. Если у вас есть свободный диск, то будет не лишним сделать полную копию вашего HDD. Но в любом случае сделайте резервную копию текущей установки Zimbra.
Поднимем права до суперпользователя и войдем под именем Zimbra:
sudo -s
su zimbra
Остановим службы Zimbra:
zmcontrol stop
Выйдем из учетной записи почтового сервера:
exit
И создадим архив с копией текущей установки в домашней папке:
tar -czvf ~/zimbra-backup-dd-mm-yyyy.tgz /opt/zimbra
Теперь можно приступать к обновлению системы. Вначале убедимся, что у нас нет недонастроенных пакетов и неудовлетворенных зависимостей:
apt-get install -f
dpkg --configure -a
Первая команда ищет и пытается установить недостающие зависимости, а вторая выполняет настройку установленных, но не настроенных пакетов. Если у вас в системе все хорошо, то вы увидите примерно следующий вывод:
Можно приступать к обновлению:
do-release-upgrade
Программа проверит возможность обновления и предложит подтвердить свои действия, еще раз хорошо думаем - с этого момента отменить процесс будет нельзя.
Пока загружаются пакеты можно пойти налить себе кофе, но далеко не уходите, объем закачки небольшой и не занимает много времени. После этого начнется установка новых пакетов. На вопрос об автоматическом перезапуске служб отвечаем утвердительно.
А на предложения заменить конфигурационные файлы - отрицательно или просто нажимаем Enter (Нет - действие по умолчанию).
Дальнейший процесс не содержит каких-либо подводных камней и осуществляется в штатном режиме. По окончании обновления вам будет предложено перезагрузить систему.
Итак, операционная система обновлена, но если мы проверим статус Zimbra, то увидим следующее:
Все правильно, обновив систему следует обновить сборку Zimbra. Для этого скачаем пакет с такой-же самой версии, но для текущего выпуска ОС, в нашем случае это 8.6.0 для Ubuntu 14.04, это можно сделать командой, которая скачает архив в домашнюю директорию пользователя:
cd
wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
Либо сделайте это любым удобным способом посетив страницу загрузки.
Распакуем архив:
tar -xvf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
Перейдем в каталог с релизом и запустим скрипт установки:
cd zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116
./install.sh -s
Обратите внимание, что запускать скрипт установки требуется с ключом -s, в противном случае вы получите сообщение об ошибке. На предложение произвести проверку БД также следует ответить отрицательно, иначе получите ту же самую ошибку.
Do you want to verify message store database integrity? [Y] N
Если в процессе проверки необходимых зависимостей вы получите ошибку, то нужно установить требуемые пакеты и повторить все сначала. В нашем случае не хватало пакета libperl5.18.
Установим его:
apt-get install libperl5.18
Соглашаемся с обновлением уже установленных пакетов и отказываемся от установки новых, правило здесь одно: если вы не знаете нужен ли вам этот пакет - не ставите. Добавить пакеты всегда можно позже, запустив скрипт установки еще раз.
Дальнейший процесс не займет много времени и только обновит версии пакетов, для полноценного обновления Zimbra нужно запустить установку еще раз, теперь без ключей.
./install.sh
Снова проходим все этапы, на предложение проверить БД на этот раз отвечаем согласием. По окончании работы скрипта вы получите обновленную версию Zimbra для вашей версии ОС. Проверяем состояние служб:
su zimbra
zmcontrol status
Как видим - все работает нормально:
Теперь можно войти в веб-интерфейс и проверить его работу:
Обновление операционной системы на сервере с установленной Zimbra достаточно несложно и не занимает много времени, но помните - это потенциально опасный процесс, который может полностью вывести сервер из строя. Поэтому обязательно сделайте резервные копии и продумайте последовательность действий по восстановлению, если вдруг что-то пойдет не так.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии