Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


понедельник, 17 сентября 2012 г.

Zimbra: перенос на другой сервер

В целом, перенос 6.0.15 с одного физического сервера (32) на другой (64) прошел нормально:

  1. скопировал каталог /opt/zimbra
  2. накатил сначала 6.0.15/32, чтобы восстановить пути, кронтабы и права
  3. поверх нее накатил 6.0.15/64
  4. после апгрейда ОС на новом сервере с Ubuntu 10.04 на 12.04 сразу накатил 8.0.0/64
  5. работает
Однако, во время второго этапа вылезла бяка: новый сервер имел другое имя, не такое же, как старый, из-за чего сетап вываливался по таймауту доступа к старому серверу, более недоступному.
Пришлось рыться. Решение: zmsetservername.

Поскольку работал с очень старой, еще мартовской копией /opt/zimbra, решил перекачать новую почту со старого сервера (он недоступен новому по имени, но доступен по IP - две разные подсети, отделенные маршрутизатором). Сначала попробовал zmztozmig, но выяснилось, что оно не умеет создавать на новом сервере учетки, которые еще есть на старом, но которых еще нет на новом. Проще говоря, синхронизировались/мигрировали только существующие на обоих серверах аккаунты.
Это меня сильно расстроило. Но оказалось, что в админке 8.0.0 есть удобная штука - мастер переноса учетных записей, который живет в "средствах и миграции":





Для начала работы жмем "шестеренку" правее поисковой строки (на рисунке в ней написано "ЕАО"). Вылезает первое окно:


.Поскольку я собираюсь импортировать именно из другой зимбры, то выбрал соответствующий "тип почтового сервера". Мне нужны и почта и учетки, поэтому оба следующих пункта я оставил в дефолтном состоянии "да". Жмем "далее"


Здесь я сначала ошибся и вместо правильного "...из другого zimbra ldap" поначалу выбрал просто "из другого каталога ldap". Об этом чуть позже. После нажатия "далее" предлагается выбрать дополнительные параметры импорта. Странно, что зимбра не умеет перетаскивать и пароли пользователей. Впрочем,

zmprov ga имя_учетки|grep -i passw

выдает неприятное:

userPassword: VALUE-BLOCKED

Хотя, как я помню, это самое value можно разблокировать. Возможно, авторы мастера решили так побеспокоиться о безопасности пользователей - вдруг кто украдет учетку админа, но не будет иметь доступа к серверу... Тем не менее, предлагается такое:


В реальном случае я всем пользователям установил один и тот же пароль и снял галку "требовать смену", но это мои личные причины, которые не имеют значения. Поля "узел" и "порт SMTP" я оставил пустыми - никакого разделенного домена у меня нет. Радостно жму "далее" и вот они, последствия моей ошибки, о которой я сказал чуть раньше:


Круто, да? Что куда писать, я совершенно без понятия. Почесал репу и решил таки выбрать "импорт из другого zimbra LDAP" - пощелкал по "назад" до нужного окна, выбрал другой тип сервера, пропустил окно с паролями - настройки в нем сохранились, и получил куда более осмысленное окошко:


В него я ввел:
адрес старого сервера URL LDAP (напомню: в подсети нового сервера имя старого не резольвится, хотя по IP доступ есть)
поисковую базу (dc=ru)
пароль привязки (тот, который задавался на этапе установки старого сервера, Password for ldap admin user (min 6 characters)

Остальные окошки сложностей не вызвали, поэтому скриншотов не будет. Стоит, разве что, отметить, что при выборе учетных записей для импорта нет никакой сортировки и в левом столбце (кто дойдет до этого этапа - поймет) показаны только 48 записей из всех найденных. После нажатия "добавить все" левый столбец очищается, и чтобы показать следующие 48 надо нажать иконку "стрелка вправо" (следущая страница). И так х/48 раз, где х - общее количество импортируемых учетных записей...

После успешного и довольно быстрого импорта выполнил поиск того самого "ЕАО" из поисковой строки админки. И заметил, что возле некоторых аккаунтов стоят некрасивые красные звездочки вроде этой:


При наведении мышки на эту строчку вылез неприятный тултип. Какого, спрашивается, чёрта?
 Та же учетка в обычном списке аккаунтов тоже выглядит не совсем стандартно:


Выяснилось, что у нее почему-то стоит:

$ zmprov ga doc1 zimbraMailTransport
# name doc1@***
zimbraMailTransport: smtp:ubuntu-1-x.eao.drsk.ru


Тогда как у остальных:

$ zmprov ga doc2 zimbraMailTransport
# name doc2@***
zimbraMailTransport: lmtp:ubuntu-1-x.eao.drsk.ru:7025


Непорядок, подумал я. Решение:

$ for a in список_аккаунтов_разделенных_пробелами; do echo $a; zmprov ga $a|grep -i transport;zmprov ma $a zimbraMailTransport lmtp:ubuntu-1-x.eao.drsk.ru:7025; zmprov ga $a|grep -i transport; done

Впрочем, эхо и два ga с грепами вставлены просто для красоты: выводится имя аккаунта, состояние атрибута zimbraMailtransport до и после модификации. Без них конструкция выглядит так и на экран ничего не выводится:

$ for a in список_аккаунтов_разделенных_пробелами; do echo $a; zmprov ma $a zimbraMailTransport lmtp:ubuntu-1-x.eao.drsk.ru:7025; done

В список_аккаунтов последовательно записал всех, кто был помечен красной звездочкой. Достаточно только именной части полного емайла, домен в моем случае не обязателен. После этой операции красные звезды и нестандартные иконки исчезли.
Эту же операцию можно было проделать индивидуально, входя в каждую учетку "неправильного" аккаунта:



Крутим дополнительные настройки вниз до упора и видим раздел "почтовый транспорт". На рисунке он уже правильный.

Теперь буду изучать взаимодействие зимбры с Active Directory, чтобы пользователи могли в ней авторизоваться с доменными логином/паролем.

7 комментариев:

  1. И зачем светить внутреннюю инфу?

    ОтветитьУдалить
  2. Сообщение: LDAP error: - unable to get connection: invalid credentials Код ошибки: ldap.LDAP_ERROR Method: [unknown] Детали:soap:Receiver(( Импорт не идет

    ОтветитьУдалить
    Ответы
    1. значит указаны неправильные данные авторизации или привязки

      Удалить
  3. ввожи все данные верно 100%, может ли порт ldap быть закрыт?:

    ОтветитьУдалить
    Ответы
    1. invalid credentials обозначает "недопустимые учетные данные", то есть, при подключении к LDAP-серверу указывается не то, что он ожидает получить.
      Кроме того, непонятно, в какой именно момент не проходит авторизация.
      Ну и последнее. Позднее я сделал еще один пост по переезду - реальная миграция в этом году прошла не так гладко и пришлось немного извратиться. Посмотрите другие мои посты с тэгом ZIMBRA

      Удалить
  4. мой мастер подключился к LDAP и нашел там extnyst записи, но далее отверг их все

    ОтветитьУдалить

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