Расширение дискового пространства
В некоторых случаях может понадобится расширить дисковое пространство на виртуальном сервере. Сам процесс расширения в панели управления не сложен, однако после этого необходимо провести некоторые манипуляции с разделами диска и файловой системой. Данная инструкция поможет Вам в этом разобраться.
Операционные системы семейства Linux
Данный метод проверен и применим для следующих операционных систем:
- CentOS 6.5
- CentOS 7.1
- Debian 7
- Debian 8
- Ubuntu 14.04
Сначала посмотрим, какова структура диска на данный момент.
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 вводим следующие команды:
n — создаём новый раздел;
p — обозначаем его как primary;
так как у нас было 2 логических раздела, то на вопрос Partition number (1-4) отвечаем 3;
t — укажем тип раздела;
опять тот же вопрос Partition number (1-4), конечно же отвечаем 3;
вводим 8e — это код типа раздела, соответствующий Linux LVM;
убедимся, что всё сделано верно, вводим 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:
Physical volume "/dev/vda3" successfully created
Расширяем группу томов на освободившееся место. Используем наше имя группы томов VolGroup, которое мы подсмотрели ранее
Volume group "VolGroup" successfully extended
Расширяем логический том.
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
Активируем:
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 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
После увеличения объёма жёсткого диска в панели управления необходимо перезагрузить сервер.
После перезагрузки:
=> 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]. Чиним это:
vtbd0 recovered
Проверяем, починилось ли:
=> 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.
vtbd0p3 resized
Раширяем файловую систему. Во время выполнения от нас попросят подтверждения.
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
Ещё раз перезагружаемся и проверяем:
=> 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.
Microsoft DiskPart версии 6.1.7601
(С) Корпорация Майкрософт, 1999-2008.
DISKPART>
Нам нужно выбрать диск, с которым будем работать, потом раздел, который будем расширять:
Диск ### Состояние Размер Свободно Дин 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: том успешно расширен.
Готово!