Обновление LXC-контейнера
Обновление MikoPBX в LXC-контейнере Proxmox VE без копирования записей разговоров
Эта инструкция предназначена для MikoPBX, установленной в LXC-контейнере Proxmox VE. Все действия выполняются через web-интерфейс Proxmox и MikoPBX.
Рекомендуется производить обновления последовательно, «не перепрыгивая» через релизы и версии. Если в описании релиза указана промежуточная версия, сначала обновитесь до неё.
Как выполняется обновление
В LXC системные файлы MikoPBX и пользовательские данные находятся на разных томах:
Root Disk
Системные файлы текущей версии MikoPBX
Остаётся у старого CT
/storage
Записи разговоров, история вызовов, модули, звуковые файлы и журналы
Переназначается новому CT
/cf
Настройки MikoPBX и основная база данных
Переназначается новому CT
Для обновления создаётся новый контейнер из актуального шаблона lxc.tar.gz. Старые тома /storage и /cf не копируются: Proxmox переназначает их новому контейнеру с помощью функции Reassign Owner.
В результате новая версия MikoPBX получает новую корневую файловую систему, но продолжает работать с прежними настройками, историей и записями разговоров.
Не обновляйте LXC-контейнер файлом .img в разделе Обслуживание → Обновление PBX и не подключайте ISO-образ. Эти способы рассчитаны на полноценный системный диск виртуальной или физической машины. Для LXC используйте новый шаблон lxc.tar.gz.
Перед началом
Запланируйте техническое окно. После остановки старого CT телефония не будет работать до запуска нового контейнера.
Убедитесь, что у вас есть:
доступ администратора к Proxmox VE;
доступ администратора к MikoPBX;
резервная копия, сохранённая вне обновляемого контейнера.
Reassign Owner не создаёт резервную копию. Операция только меняет владельца существующего тома. Ошибка администратора, повреждение хранилища или несовместимое изменение базы данных могут потребовать восстановления из резервной копии.
Шаг 1. Запишите параметры старого контейнера
Откройте старый CT в Proxmox и сохраните его параметры.
Resources - CPU, RAM, Swap, Root Disk (размер).
Network - bridge, IPv4/IPv6, VLAN, MAC-адрес и состояние Proxmox Firewall.
DNS - DNS-серверы.
Options — тип контейнера (привилигированный или нет)
В разделе Resources найдите строки, в которых указаны:
mp=/storage— том с записями и пользовательскими данными;mp=/cf— том с конфигурацией.
Запишите их идентификаторы. Обычно это mp0 и mp1, но порядок может отличаться.
Шаг 2. Создайте резервные копии
Резервная копия MikoPBX
Откройте Модули → Маркетплейс модулей

Убедитесь, что Модуль резервного копирования установлен и включён.
Откройте модуль и нажмите Создать архивную копию.

Создайте архив и скачайте его на компьютер администратора или во внешнее хранилище.

Резервная копия Proxmox
В Proxmox откройте настройки старого контейнера (CT) → Backup. Нажмите Backup now.

Выберите внешнее или отдельное хранилище резервных копий. Запустите backup и дождитесь сообщения TASK OK.

Шаг 3. Загрузите новый LXC-шаблон
Откройте страницу релизов MikoPBX.
Найдите требуемую версию и скопируйте ссылку на файл, имя которого заканчивается на
lxc.tar.gz.

В Proxmox выберите хранилище local → CT Templates. Нажмите Download from URL.

Вставьте ссылку в поле URL и нажмите Query URL. Проверьте имя файла и нажмите Download.

Дождитесь сообщения TASK OK.

Шаг 4. Создайте новый контейнер
Нажмите Create CT в правом верхнем углу Proxmox.
General
Выберите тот же узел Proxmox, на котором расположен старый CT:
Укажите новый CT ID. Не используйте ID старого контейнера.
Задайте отличающееся имя, например
mikopbx-update-test.Установите такое же значение Unprivileged container, как у старого CT.
Нажмите Next.

Template
Выберите загруженный шаблон новой версии lxc.tar.gz и нажмите Next.

Disks
Создайте новый Root Disk (rootfs). Выберите подходящее хранилище. Укажите размер системного диска - 1 ГБ.
Нажмите Next.

CPU и Memory
Укажите такое же количество ядер, Memory и Swap памяти, как у старого контейнера.

Network
Повторите сетевые настройки старого CT. На время проверки рекомендуется использовать свободный временный IP-адрес и новый MAC-адрес, чтобы исключить конфликт со старым контейнером.
Если используется DHCP, новый CT может получить другой адрес автоматически. Если адрес закреплён на DHCP-сервере по MAC, заранее создайте отдельную привязку для нового MAC-адреса.

DNS и Confirm
Повторите DNS-настройки старого CT:
На странице Confirm внимательно проверьте параметры.
Снимите флажок Start after created. Новый контейнер нельзя запускать до подключения /cf и /storage. Нажмите Finish и дождитесь сообщения TASK OK.
Откройте новый CT → Resources. На этом этапе в списке должен находиться новый Root Disk, но не должно быть mount points /cf и /storage.

Шаг 5. Переназначьте диск /storage
Откройте старый CT → Resources. Выберите строку Mount Point, в параметрах которой указано
mp=/storage. Нажмите Volume Action → Reassign Owner.

В поле Target выберите новый CT. В поле Add as оставьте Mount Point. Proxmox предложит свободный номер точки монтирования, например
mp0. Убедитесь, что выбранный номер не занят.
Нажмите Reassign Volume.

После операции том исчезнет из раздела Resources старого CT и появится у нового. Proxmox изменит владельца тома и при необходимости переименует его под новый CT ID. Содержимое диска при этом не копируется и не форматируется.
Шаг 6. Переназначьте диск /cf
Повторите те же действия для Mount Point с параметром mp=/cf:
Откройте старый CT → Resources. Выберите строку Mount Point, в параметрах которой указано
mp=/cf. Нажмите Volume Action → Reassign Owner.

Выберите новый CT. Оставьте Add as → Mount Point. Выберите следующий свободный номер, например
mp1. Нажмите Reassign Volume.

Откройте новый CT → Resources и проверьте итоговую конфигурацию:
Root Disk принадлежит новому CT;
один Mount Point содержит
mp=/storage;второй Mount Point содержит
mp=/cf;размеры
/storageи/cfсовпадают с размерами старых томов.
Номера mp0 и mp1 могут располагаться в другом порядке. Важны пути mp=/storage и mp=/cf.

Шаг 7. Выполните первый запуск
Выберите новый CT и нажмите Start. Откройте вкладку Console.

Дождитесь полной загрузки MikoPBX и появления адреса web-интерфейса.

Откройте этот адрес в браузере и войдите с прежними логином и паролем MikoPBX.

Шаг 8. Переключите рабочий IP-адрес
Если новый CT сразу получил прежний рабочий IP-адрес, пропустите этот шаг.
Если для проверки использовался временный адрес:
Остановите новый CT.
Ещё раз убедитесь, что старый CT остановлен.
Откройте новый CT → Network и выберите интерфейс
net0.Укажите прежний IPv4/IPv6-адрес MikoPBX.
Если адрес закреплён на DHCP-сервере, перенесите привязку на новый MAC или назначьте новому CT прежний MAC-адрес.
Проверьте bridge, VLAN, gateway и настройки Proxmox Firewall.
При необходимости переключите внешний NAT, DNS и правила межсетевого экрана на новый адрес.
Запустите новый CT.
Одинаковый IP- или MAC-адрес разрешается использовать только при полностью остановленном старом контейнере.
Проверка после обновления
Не удаляйте старый CT, пока не выполнены все проверки.
В web-интерфейсе убедитесь, что отображается новая версия MikoPBX.
Проверьте сотрудников, SIP-аккаунты, провайдеров, входящие и исходящие маршруты.
Откройте Телефония → История вызовов и убедитесь, что старая история доступна.
Прослушайте несколько старых записей разговоров за разные даты.
Проверьте установленные модули, их лицензии и настройки.
Убедитесь, что телефоны и провайдеры зарегистрированы либо имеют ожидаемый статус.
Выполните внутренний, исходящий и входящий тестовые звонки.
Проверьте, что новый разговор появился в истории и его запись воспроизводится.
Перезагрузите новый CT через Proxmox.
После перезагрузки повторно проверьте web-интерфейс, сеть, регистрации и тестовый звонок.
Откат на старый контейнер
Если новая версия работает некорректно:
Остановите новый CT.
В его разделе Resources выберите Mount Point
/storage.Выполните Volume Action → Reassign Owner и верните том старому CT.
Таким же способом верните старому CT том
/cf.Проверьте, что у старого CT снова присутствуют
mp=/storageиmp=/cf.Верните старые IP-, MAC-, DNS- и NAT-настройки.
Запустите старый CT и проверьте его работу.
Новая версия могла изменить структуру базы данных на /cf. Поэтому возврат томов не гарантирует совместимость со старой версией MikoPBX. Если старый CT не запускается корректно, восстановите его из Proxmox backup или восстановите настройки из архива MikoPBX, созданного до обновления.
Завершение обновления
Сохраняйте старый остановленный CT и резервные копии несколько дней. Удалять старый контейнер рекомендуется только после того, как:
новая версия стабильно работает;
входящие и исходящие вызовы проверены;
новые записи разговоров создаются и воспроизводятся;
MikoPBX успешно пережила перезагрузку;
создана свежая резервная копия уже обновлённой станции.
Перед удалением старого CT ещё раз откройте его Resources и убедитесь, что тома /cf и /storage действительно переназначены новому контейнеру. После этого старый Root Disk можно удалить вместе со старым CT.
При таком способе обновления многолетняя история записей остаётся на исходном диске /storage. Время переключения не зависит от объёма записей, поскольку Proxmox меняет владельца тома вместо копирования его содержимого.
Last updated
Was this helpful?

