Одним из ключевых системных требований при установке Carbonio является наличие статического IP-адреса, который не меняется со временем. Хорошей рекомендацией является наличие на сервере двух сетевых интерфейсов, один из которых обеспечивает доступ к веб-клиенту и другим сервисам Carbonio из внешнего интернета, а другой является статическим и используется для доступа из локальной сети. Все эти рекомендации появились по той причине, что при неожиданной смене IP-адреса сервера Carbonio перестает работать и корректно запускаться. В данной статье мы расскажем о том, какие действия следует предпринять в случае смены IP-адреса Carbonio, чтобы восстановить работоспособность не только самого сервера, но и связанных с ним сервисов.
Данная инструкция подходит как для коммерческой версии Carbonio, так и для бесплатной Carbonio Community Edition.
В случае односерверной установки
Если Carbonio и все сервисы установлены на одном сервере, то устранение последствий смены IP-адреса является довольно тривиальной задачей.
Смените соответствующую запись в /etc/hosts
Корректный старт Carbonio не осуществляется именно из-за того, что имени хоста в файле /etc/hosts соответствует старый IP-адрес. Например, после смены IP-адреса с 1.2.3.4 на 4.3.2.1 нужно изменить запись в /etc/hosts c такой
1.2.3.4 mail.carbonio.local mail
на такую
Измените список доверенных адресов MTA
По умолчанию список доверенных серверов выглядит так:
zimbraMtaMyNetworks: 127.0.0.0/8 [::1]/128 1.2.3.0/24
Наша задача привести его к виду 127.0.0.0/8 [::1]/128 4.3.2.0/24
Делается это при помощи команды carbonio prov ms mail.carbonio.local zimbraMtaMyNetworks '127.0.0.0/8 [::1]/128 4.3.2.0/24'.
Измените адрес в настройках nginx
Перейдите в папку /opt/zextras/conf/nginx/includes и отредактируйте находящийся там файл nginx.conf.zmlookup. Содержащуюся в нем строку
zm_lookup_handlers https://1.2.3.4:7072/service/extension/nginx-lookup;
Следует привести к следующему виду:
Измените адрес привязки Carbonio Mesh
Carbonio Mesh - система, обеспечивающая связность почтового сервера с остальными сервисами также привязывается к IP-адресу при первоначальной настройке. После смены требуется изменить его в настройках.
Откройте файл /etc/zextras/service-discover/config.json и отредактируйте указанный там адрес привязки
Перенастройте видеосервер
Перенастройте узел Videoserver
В случае, если вы добавляли видеосервер не по имени хоста, а по IP-адресу, потребуется удалить старую запись о нем, а затем добавить новую.
Для просмотра добавленного видеосервера используйте команду carbonio chats clusterStatus
Для удаления записи о видеосервере используйте команду carbonio chats video-server remove 1.2.3.4:8188
Для добавления нового видеосервера используйте команду carbonio chats video-server add mail.carbonio.local port 8188 servlet_port 8090 secret VIDEOSERVER_PWD
Для получения пароля от видеосервера VIDEOSERVER_PWD выполните команду grep -i -e nat_1_1 -e api_secret /etc/janus/janus.jcfg
Для смены публичного адреса видеосервера откройте файл /etc/janus/janus.jcfg и пропишите в строке nat_1_1_mapping новый IP-адрес
После проделанных действий потребуется перезагрузить сервер Carbonio.
В случае мультисерверной установки
Процесс восстановления работоспособности во многом зависит от того, у скольких серверов изменился IP-адрес, а также от того, каким именно образом обеспечена сетевая видимость серверов.
Смените соответствующую запись в /etc/hosts
По примеру пункта 1 в предыдущем разделе инструкции, смените локальную запись об имени каждого сервера, IP-адрес которого сменился, в файле /etc/hosts.
В Carbonio узлы общаются друг с другом по доменным именам и распространенной практикой является прописывание имен серверов не в локальном DNS, а в файле /etc/hosts. В случае, если имена серверов прописаны в DNS, достаточно просто обновить их записи, если имена серверов прописаны в /etc/hosts, потребуется внести изменения в них на каждом из серверов.
Проверьте локальную конфигурацию на наличие IP-адреса
В отдельных случаях, особенно при наличии в инфраструктуре нескольких LDAP-серверов, обращение к ним может быть настроено не по доменному имени, а по IP-адресу. Проверить это можно в файле /opt/zextras/conf/localconfig.xml в полях ldap_master_url и ldap_url.
Измените список доверенных адресов MTA
Данное действие следует производить только на узле MTA и только в случае, если IP-адрес изменился значительно. Процедура смены доверенных адресов полностью повторяет действия из пункта 2 предыдущего раздела инструкции.
Перенастройте Carbonio Preview
В случае, если изменился адрес узла Proxy, потребуется изменить настройки сервиса Carbonio Preview, который обращается к расположенному на прокси модулю Memcached именно по IP-адресу.
Для этого откройте файл /etc/carbonio/preview/config.ini и внесите изменения в настройки Carbonio Preview.
nginx_lookup_server_full_path_urls = https://New_AppServer_IP:7072
memcached_server_full_path_urls = New_Proxy_IP:11211
Замените New_Proxy_IP на новый адрес сервера Proxy, если он менялся. Замените New_Appserver_IP на новый адрес сервера Appserver, если он менялся.
В случае, если в вашей инфраструктуре несколько серверов Proxy и/или AppServer, укажите их IP-адреса через запятую. К примеру:
nginx_lookup_server_full_path_urls = https://New_AppServer1_IP:7072,https://New_AppServer2_IP:7072
memcached_server_full_path_urls = New_Proxy1_IP:11211,New_Proxy2_IP:11211
Перенастройте Nginx
В случае смены IP-адреса узла Proxy, зайдите на него и перейдите в папку /opt/zextras/conf/nginx/includes. Откройте файл nginx.conf.zmlookup и в строке zm_lookup_handlers измените указанный там IP-адрес на новый.
Перенастройте узел Videoserver
В случае, если вы добавляли видеосервер в инфраструктуру по IP-адресу, следует сперва удалить старую запись, а затем добавить новую.
Для просмотра добавленных видеосерверов используйте команду carbonio chats clusterStatus
Для удаления записи о видеосервере используйте команду carbonio chats video-server remove Old_Videoserver_IP:8188
Для добавления нового видеосервера используйте команду carbonio chats video-server add New_Videoserver_HN port 8188 servlet_port 8090 secret VIDEOSERVER_PWD
Замените Old_Videoserver_IP на старый IP-адрес вашего сервера, а New_Videoserver_HN на новое имя хоста, чтобы добавить видеосервер по имени хоста.
Для получения пароля от видеосервера VIDEOSERVER_PWD на узле с ним выполните команду grep -i -e nat_1_1 -e api_secret /etc/janus/janus.jcfg
Для смены публичного адреса видеосервера откройте на узле с ним файл /etc/janus/janus.jcfg и пропишите в строке nat_1_1_mapping новый IP-адрес.
Перенастройка Carbonio Mesh
Carbonio Mesh состоит из серверных и агентских нод. Их перенастройка происходит по-разному.
В случае смены IP-адреса серверной ноды Carbonio Mesh, достаточно открыть на ней файл /etc/zextras/service-discover/config.json и отредактировать указанный там адрес привязки.
В случае смены IP-адреса агентской ноды, потребуется вывести ее из кластера при помощи команды consul force-leave Old_agent_IP, выполенной на серверной ноде Carbonio Mesh. Укажите вместо Old_agent_IP адрес, который был у агентской ноды до смены IP.
После этого добавьте ноду вновь, выполнив на серверной ноде команду consul join New_agent_IP, в которой замените New_agent_IP на актуальный IP-адрес агентской ноды.
После осуществления всех этих действий выполните полную перезагрузку всех узлов инфраструктуры Carbonio.
Благодаря описанным действиям можно в краткий срок восстановить полную работоспособность инфраструктуры Carbonio в случае смены IP-адресов всех или части входящих в нее серверов.
По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.