Увеличение размера диска хранилища MikoPBX
Эта инструкция нужна, когда диск, на котором находится локальное хранилище MikoPBX, был увеличен в гипервизоре или на физическом сервере, но раздел /storage/usbdisk1 всё ещё показывает старый размер.
В локальном хранилище находятся записи разговоров, история разговоров, системные логи, дополнительные модули, резервные копии и системные кеши. В обычной установке хранилище смонтировано в /storage/usbdisk1.
Перед изменением разделов обязательно сделайте резервную копию MikoPBX и снимок виртуальной машины или backup диска средствами гипервизора.
Диагностику можно выполнить по SSH. Само изменение размера запускайте из локальной консоли, консоли гипервизора или serial console. Штатный resize-скрипт вызывает /sbin/freestorage, который останавливает SSH-сервер dropbear, поэтому SSH-сессия будет разорвана.
Когда применять инструкцию
Используйте этот сценарий, если:
MikoPBX установлена на виртуальную машину или физический сервер;
диск хранилища уже увеличен на уровне гипервизора, RAID-контроллера или дисковой подсистемы;
в
df -h /storage/usbdisk1размер файловой системы остался прежним;на диске есть неразмеченная область после текущего storage-раздела.
Для Docker-установок эта инструкция не подходит. В Docker размер каталога /storage управляется хостовой ОС и настройками volume.
Проверьте текущий диск хранилища
Подключитесь к MikoPBX по SSH только для диагностики или откройте консоль MikoPBX и выполните:
Инструкцию для подключения по SSH Вы можете найти здесь.
lsblk -f
df -h /storage/usbdisk1
mount | grep /storage/usbdisk1
cat /etc/fstab
sqlite3 /cf/conf/mikopbx.db "select id,name,device,uniqid,filesystemtype,media from m_Storage;"Определите диск, который указан в таблице m_Storage. Например:
В этом примере диск хранилища - /dev/vdc, а раздел хранилища - /dev/vdc1.
Сохраните имя диска в переменную:
Проверьте размер диска и свободную неразмеченную область:
После увеличения диска в гипервизоре вывод должен показывать, что сам диск стал больше, а после существующего раздела появилась область Free Space.
Пример состояния до resize:
Если свободной области нет, сначала увеличьте диск в гипервизоре или проверьте, что выбран правильный диск.
Исправьте GPT после увеличения диска
На GPT-дисках после увеличения виртуального диска может появиться предупреждение parted:
В этом случае сначала перенесите резервный GPT-заголовок в конец нового размера диска:
Затем повторите проверку:
Предупреждение Not all of the space... должно исчезнуть. Свободная область после раздела при этом должна остаться видимой.
Запустите изменение размера хранилища
Откройте локальную консоль MikoPBX или консоль виртуальной машины.
В консольном меню выберите:
Подтвердите остановку процессов:
Ответьте y.
MikoPBX выполнит штатный сценарий:
остановит службы, которые используют хранилище;
отмонтирует
/storage/usbdisk1;увеличит storage-раздел до конца диска;
выполнит
e2fsck;выполнит
resize2fs;перезагрузит систему.
Если нужно запустить тот же сценарий командой из консоли, используйте:
Эту команду не следует запускать из SSH-сессии. Во время выполнения будет остановлен dropbear, и соединение оборвётся.
Проверьте результат после перезагрузки
После загрузки MikoPBX снова определите storage-диск и выполните проверки:
В корректном состоянии:
/storage/usbdisk1смонтирован с прежнего storage-раздела;размер
/storage/usbdisk1увеличился;свободной области после storage-раздела больше нет или остался только технический минимум;
UUID в
/etc/fstabсовпадает с UUID storage-раздела;в таблице
m_Storageуказан тот же диск хранилища.
Пример результата после успешного resize:
Проверьте доступность данных:
Для базы истории разговоров корректный ответ:
Проверьте службы:
Сразу после перезагрузки часть проверок monit может быть в состоянии Initializing. Подождите 1-2 минуты и повторите проверку.
Если размер не изменился
Если после выполнения Изменить размер хранилища скрипт сообщил об успехе, но df -h /storage/usbdisk1 показывает старый размер, проверьте GPT и свободную область:
Если есть предупреждение Not all of the space..., выполните:
После этого снова запустите изменение размера из консоли:
Если свободная область меньше 5% от размера диска, штатный скрипт может завершиться без изменения размера. В этом случае проверьте, действительно ли диск был увеличен достаточно заметно.
Откат
Если после изменения размера система не загружается или хранилище не монтируется, используйте backup или snapshot, сделанный перед работами.
Если MikoPBX загружается, но storage не смонтирован, проверьте UUID и запись в базе:
При необходимости подключите storage-диск заново штатным скриптом:
Last updated
Was this helpful?

