Панель управления | Регистрация

Расширение дискового пространства

В некоторых случаях может понадобится расширить дисковое пространство на виртуальном сервере. Сам процесс расширения в панели управления не сложен, однако после этого необходимо провести некоторые манипуляции с разделами диска и файловой системой. Данная инструкция поможет Вам в этом разобраться.

Операционные системы семейства Linux

Данный метод проверен и применим для следующих операционных систем:

  • CentOS 6.5
  • CentOS 7.1
  • Debian 7
  • Debian 8
  • Ubuntu 14.04

Сначала посмотрим, какова структура диска на данный момент.

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 5G 0 disk
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 4.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 4G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 512M 0 lvm [SWAP]

Итак, мы видим, что у нас есть диск vda, объёмом 5G. На нём есть разделы vda1 и vda2. Также мы видим, что на втором разделе настроен LVM. Группа томов в данном случае именуется «VolGroup» и имеет логический том lv_root и lv_swap.

В данной инструкции мы будем увеличивать размер логического тома lv_root. Возможно что у вас будет по-другому называться группа томов или логические тома.

После увеличения объёма жёсткого диска в панели управления на сервере появится неразмеченная область. Создадим логический диск vda3 с таким же типом раздела, как и на vda2.

# fdisk /dev/vda

В оболочке fdisk вводим следующие команды:

n — создаём новый раздел;
p — обозначаем его как primary;
так как у нас было 2 логических раздела, то на вопрос Partition number (1-4) отвечаем 3;
t — укажем тип раздела;
опять тот же вопрос Partition number (1-4), конечно же отвечаем 3;
вводим 8e — это код типа раздела, соответствующий Linux LVM;
убедимся, что всё сделано верно, вводим p — показать таблицу разделов:

Command (m for help): p

Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000081a2

Device Boot Start End Blocks Id System
/dev/vda1 * 3 1018 512000 83 Linux
/dev/vda2 1018 10403 4729856 8e Linux LVM
/dev/vda3 10404 20805 5242608 8e Linux LVM

Добавился раздел vda3, вводим w — сохранение изменений.
Здесь мы получим предупреждение о том, что изменения в данный момент невозможны, но всё будет ОК после перезагрузки.

После перезагрузки идём дальше. Создаём физический том vda3:

# pvcreate /dev/vda3
Physical volume "/dev/vda3" successfully created

Расширяем группу томов на освободившееся место. Используем наше имя группы томов VolGroup, которое мы подсмотрели ранее

# vgextend /dev/VolGroup /dev/vda3
Volume group "VolGroup" successfully extended

Расширяем логический том.

# lvextend -l+100%FREE /dev/VolGroup/lv_root

Size of logical volume VolGroup/lv_root changed from 4.28 GiB (1096 extents) to 9.28 GiB (2375 extents).
Logical volume root successfully resized

Активируем:

# vgscan

Reading all physical volumes. This may take a while...
Found volume group "VolGroup" using metadata type lvm2

# vgchange -ay
1 logical volume(s) in volume group "VolGroup" now active

И, наконец, расширяем файловую систему:

# resize2fs /dev/VolGroup/lv_root
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/VolGroup/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/VolGroup/lv_root is now 2432000 blocks long.

Это займёт некоторое время, зависящее от размера добавленного места.

Готово! Таким образом, с помощью такой методики можно увеличить размер диска без переустановки операционной системы, сведя время недоступности сервера к минимуму — ко времени, требующемуся для 1-2 перезагрузок VDS.

Альтернативный метод
Расширить диск в панели.
Выбрать образ SystemRescue CD, включить сервер. Нажать F12 и выбрать пункт, соответствующий Boot from CD/DVD (обычно 3). Дождаться загрузки с диска, дать команду startx.
В графической оболочке ввести команду gparted. Согласиться с новой разметкой таблицы (GPT или иной). Кликнуть правой кнопкой мыши на расширяемом диске, выбрать Resize/move и потянуть стрелку до заполнения всего свободного пространства. Подтвердить операцию.
Перезагрузить систему с жесткого диска.

FreeBSD

После увеличения объёма жёсткого диска в панели управления необходимо перезагрузить сервер.
После перезагрузки:

# gpart show
=> 34 10485693 vtbd0 GPT (10G) [CORRUPT]
34 128 1 freebsd-boot (64K)
162 1048576 2 freebsd-swap (512M)
1048738 9436988 3 freebsd-ufs (4.5G)
10485726 1 - free - (512B)

Видим состояние [CORRUPT]. Чиним это:

# gpart recover vtbd0
vtbd0 recovered

Проверяем, починилось ли:

# gpart show
=> 34 20971453 vtbd0 GPT (10G)
34 128 1 freebsd-boot (64K)
162 1048576 2 freebsd-swap (512M)
1048738 9436988 3 freebsd-ufs (4.5G)
10485726 10485761 - free - (5.0G)

Теперь расширяем место в разделе FreeBSD.

# gpart resize -i 3 vtbd0
vtbd0p3 resized

Раширяем файловую систему. Во время выполнения от нас попросят подтверждения.

# growfs /dev/vtbd0p3
Device is mounted read-write; resizing will result in temporary write suspension for /.
It's strongly recommended to make a backup before growing the file system.
OK to grow filesystem on /dev/vtbd0p3, mounted on /, from 4.5GB to 9.5GB? [Yes/No] Yes
super-block backups (for fsck -b #) at:
10258112, 11540352, 12822592, 14104832, 15387072, 16669312, 17951552, 19233792

Ещё раз перезагружаемся и проверяем:

# gpart show
=> 34 20971453 vtbd0 GPT (10G)
34 128 1 freebsd-boot (64K)
162 1048576 2 freebsd-swap (512M)
1048738 19922749 3 freebsd-ufs (9.5G)

Операционные системы семейства Windows

После увеличения объёма HDD открываем командную строку и запускаем утилиту DiskPart.

>diskpart

Microsoft DiskPart версии 6.1.7601
(С) Корпорация Майкрософт, 1999-2008.

DISKPART>

Нам нужно выбрать диск, с которым будем работать, потом раздел, который будем расширять:

DISKPART> list disk

Диск ### Состояние Размер Свободно Дин GPT
-------- ------------- ------- ------- --- ---
Диск 0 В сети 20 Gбайт 5120 Mбайт

DISKPART> select disk 0

Выбран диск 0.

DISKPART> list partition

Раздел ### Тип Размер Смещение
------------- ---------------- ------- -------
Раздел 1 Основной 100 Mб 1024 Kб
Раздел 2 Основной 14 Gб 101 Mб

DISKPART> select partition 2

Выбран раздел 2.

Теперь расширяем диск.

DISKPART> extend
DiskPart: том успешно расширен.

Готово!