| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| изменение_хостнеймов_в_кластере_pmg [2025/05/28 14:33] – jp | изменение_хостнеймов_в_кластере_pmg [2025/05/28 14:48] (current) – jp |
|---|
| ===== Изменение хостнеймов в кластере PMG ===== | ===== Изменение хостнеймов в кластере PMG ===== |
| |
| Представим ситуацию, когда в рабочем кластере //PMG// нам необходимо поменять имена хостов. К примеру, такая потребность может возникнуть, если нам требуется поменять //HELO//. | Представим ситуацию, когда в рабочем кластере //Proxmox Mail Gateway// - нам необходимо поменять имена хостов. К примеру, такая потребность может возникнуть, если нам требуется поменять //HELO//. |
| |
| Теоретически, мы можем поменять в файле /var/lib/pmg/templates/main.cf.in следующую опцию //smtp_helo_name// таким образом, чтобы она принимала значение такое же, как и опция //SMTPD Banner//, доступная в GUI PMG: | Теоретически, мы можем поменять в файле ///var/lib/pmg/templates/main.cf.in// опцию //smtp_helo_name// таким образом, чтобы она принимала значение такое же, как и опция //SMTPD Banner//, доступная в GUI PMG: |
| smtpd_banner = [% pmg.mail.banner %] | smtpd_banner = [% pmg.mail.banner %] |
| smtp_helo_name = [% pmg.mail.banner %] | smtp_helo_name = [% pmg.mail.banner %] |
| Однако, данные конфигурации синхронизируются во всем кластере, а если нам необходимо //HELO//, отличное для каждого хоста - следует менять имя хоста. | Однако, данные конфигурации синхронизируются во всем кластере, а если нам необходимо //HELO//, отличное для каждого хоста - следует менять именно имя хоста. |
| |
| Отредактировать имя необходимо в следующих файлах (и перезагрузиться): | Отредактировать имя необходимо в следующих файлах (и перезагрузиться): |
| :!: Имена нод кластера, прописанных в данных файлах, должны разрешаться для каждого сервера. Т.е. один сервер должен правильным образом разрешать собственный hostname и hostname другого сервера, и наоборот. | :!: Имена нод кластера, прописанных в данных файлах, должны разрешаться для каждого сервера. Т.е. один сервер должен правильным образом разрешать собственный hostname и hostname другого сервера, и наоборот. |
| |
| | Примерно вот так без привлечения внешних //DNS// (содержимое файла /etc/hosts): |
| | |
| | 127.0.0.1 localhost.localdomain localhost |
| | 192.168.1.1 mail1.arasaka.local mail1 |
| | 192.168.1.2 mail2.arasaka.local mail2 |
| ==== Решение возможных проблем ==== | ==== Решение возможных проблем ==== |
| |
| :!: Если после поочередной перезагрузки нод в кластере одна из нод будет долго висеть в статусе //syncing// - время заняться траблшутингом. | После поочередной перезагрузки нод в кластере одна из нод долго висит в статусе //syncing//? Время заняться траблшутингом! |
| |
| В первую очередь можно попробовать вручную отдать команду синхронизации на нодах и посмотреть - нет ли ошибок. | В первую очередь можно попробовать вручную отдать команду синхронизации на нодах и посмотреть - нет ли ошибок. |
| journalctl -u pmgmirror -u pmgtunnel --since today | journalctl -u pmgmirror -u pmgtunnel --since today |
| |
| //pmgmirror// в этой связке занимается репликацией баз на все ноды кластера. | //pmgmirror// в этой связке занимается репликацией баз на все ноды кластера. \\ |
| //pmgtunnel// туннелирует подключения к Postgres на другой ноде кластера. | //pmgtunnel// туннелирует подключения к //Postgres// на другой ноде кластера. |
| |
| После изменения имени нод я обнаружил такую ошибку, связанную с работой //pmgtunnel//: | После изменения имени нод я обнаружил такую ошибку, связанную с работой //pmgtunnel//: |
| |
| Host key verification failed | Host key verification failed |
| | Теперь самое простое решение - это попробовать с одного сервера //PMG// установить подключение по //SSH// на второй сервер. Оно должно пройти без всяких паролей потому что //PMG// сам устанавливает нужные ключи. Просто подключаемся и //подтверждаем// запрос доверия: |
| | |
| | ssh pmg_address |
| | Если запрос мы подтвердили и подключение устанавливается нормально - время снова проверить проблемный //pmgtunnel//: |
| | |
| | pmgtunnel stop |
| | pmgtunnel start --debug |
| | {{tag>Proxmox PMG Unix Debian Mail}} |