Расширение диска инстанса 3CX

Перед расширением:

  1. Корректно завершите процессы ОС.

  2. Выключите инстанс.

  3. Создайте резервную копию данных и настроек, например с помощью BaaS.

  4. Удалите инстанс, сохранив его диск.

  5. В Dashboard SIM-Cloud откройте Disks и выберите Extend Volume.

  6. Создайте инстанс заново из расширенного диска.

  7. Расширьте раздел и файловую систему внутри ОС.

Расширение внутри ОС

После увеличения облачного диска подключитесь через консоль Dashboard или SSH. Команда fdisk -l покажет, что /dev/vda имеет размер 17 ГБ, а основной раздел /dev/vda1 по-прежнему занимает 4 ГБ. Его необходимо расширить.

Примечание

Если данные не менялись после установки, для SSH используются стандартные реквизиты:

  • имя пользователя: root;

  • пароль: SIM-net123.

Предупреждение

После установки обязательно измените стандартные данные доступа.

Начните расширение:

  • выполните fdisk /dev/vda;

  • введите p, чтобы вывести разделы и их размер.

На диске три системных раздела. Для расширения /dev/vda1 сначала нужно удалить расположенные после него /dev/vda2 и /dev/vda5.

Удаление этих служебных разделов не влияет на работу инстанса:

  • для удаления /dev/vda5 введите d, затем 5;

  • для удаления /dev/vda2 введите d, затем 2;

  • введите p и убедитесь, что остался раздел /dev/vda1 размером 4 ГБ.

root@3cx:~# fdisk /dev/vda

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/vda: 17 GiB, 18253611008 bytes, 35651584 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2e71013e

Device     Boot   Start      End Sectors  Size Id Type
/dev/vda1  *       2048  8388607 8386560    4G 83 Linux
/dev/vda2       8390654 10483711 2093058 1022M  5 Extended
/dev/vda5       8390656 10483711 2093056 1022M 82 Linux swap / Solaris

Command (m for help): d
Partition number (1,2,5, default 5): 5

Partition 5 has been deleted.

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

Command (m for help): p
Disk /dev/vda: 17 GiB, 18253611008 bytes, 35651584 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2e71013e

Device     Boot Start     End Sectors Size Id Type
/dev/vda1  *     2048 8388607 8386560   4G 83 Linux

Теперь пересоздайте /dev/vda1 с прежним начальным сектором. Данные при этом сохранятся.

  • Введите d, затем 1, чтобы удалить запись раздела перед пересозданием с большим размером.

Command (m for help): d

Selected partition 1
Partition 1 has been deleted.

Command (m for help): p
Disk /dev/vda: 17 GiB, 18253611008 bytes, 35651584 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2e71013e
  • Введите n, p, 1. Для начального и конечного секторов нажмите Enter.

  • Введите p и убедитесь, что размер /dev/vda1 теперь составляет 17 ГБ.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-35651583, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-35651583, default 35651583):

Created a new partition 1 of type 'Linux' and of size 17 GiB.
Partition #1 contains a ext4 signature.

Do you want to remove the signature? [Y]es/[N]o: y

The signature will be removed by a write command.

Command (m for help): p
Disk /dev/vda: 17 GiB, 18253611008 bytes, 35651584 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2e71013e

Device     Boot Start      End  Sectors Size Id Type
/dev/vda1        2048 35651583 35649536  17G 83 Linux
  • Введите w для сохранения. Команда q завершает fdisk без сохранения.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

Раздел /dev/vda1 расширен до 17 ГБ, но df -h пока показывает прежний размер файловой системы:

root@3cx:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            488M     0  488M   0% /dev
tmpfs           100M  1.7M   98M   2% /run
/dev/vda1       3.9G  1.7G  2.0G  46% /
tmpfs           499M   12K  499M   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           499M     0  499M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0
root@3cx:~#

Файловую систему также необходимо расширить.

Перед этим обязательно перезагрузите ОС.

После перезагрузки выполните resize2fs /dev/vda1, дождитесь завершения и снова выполните df -h.

root@3cx:~# resize2fs /dev/vda1
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/vda1 is now 4456192 (4k) blocks long.

Теперь файловая система /dev/vda1 занимает 17 ГБ.

root@3cx:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            488M     0  488M   0% /dev
tmpfs           100M  3.0M   97M   3% /run
/dev/vda1        17G  1.7G 15.3G   6% /
tmpfs           499M   12K  499M   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           499M     0  499M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0

Расширение диска завершено.