При апгрейде VPS вам может потребоваться переразбить дисковое пространство. Вот шаги, которым нужно следовать.
Перераспределение может навсегда повредить ваши данные. Мы не можем нести ответственность за любые потери или повреждения ваших данных. Прежде чем что-либо делать, убедитесь, что вы сделали резервную копию всех своих данных.
Требования
- У вас должен быть SSH-доступ к VPS (root доступ).
- Вам нужно перезагрузить VPS в rescue mode.
После обновления оперативная память и процессор (ЦП) будут автоматически скорректированы. Это не будет систематически иметь место для дискового пространства.
В этом руководстве объясняются шаги, которые необходимо выполнить для увеличения дискового пространства.
Попытка расширить раздел может привести к потере данных. Поэтому настоятельно рекомендуется сделать резервную копию данных на вашем VPS.
Размонтируйте разделn
После входа в ваш VPS в rescue mode, ваш раздел будет автоматически смонтирован. Чтобы изменить его размер, вам нужно будет размонтировать его. Если вы знаете имя вашего раздела, вы можете пропустить следующий шаг. Если вы не знаете имя вашего раздела, используйте следующую команду:
# lsblk
Раздел, соответствующий режиму восстановления, будет смонтирован в каталоге /, который на самом деле является корнем системы. Напротив, раздел вашего VPS, вероятно, будет помещен в каталог, связанный с /mnt, или не будет смонтирован вообще.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 254:0 0 10G 0 disk
└─sda1 254:1 0 10G 0 part /
sdb 254:16 0 25G 0 disk
└─sdb1 254:17 0 25G 0 part /mnt/sdb1
Чтобы размонтировать раздел, используйте следующую команду:
# umount /dev/sdb1
Проверьте файловую систему
После размонтирования раздела следует проверить файловую систему, чтобы увидеть, есть ли ошибки в разделе. Команда выглядит следующим образом:
# e2fsck -yf /dev/sdb1
e2fsck 1.42.9 (4-Feb-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 37870/1310720 files (0.2% non-contiguous), 313949/5242462 blocks
Если вы получили ошибку «неправильное магическое число в суперблоке», не продолжайте. Процедура исправления этой проблемы приведена в конце этого руководства.
Запустите приложение fdisk
Если проверка файловой системы прошла успешно, запустите приложение fdisk. В настройках нужно ввести имя диска, а не имя раздела. Например, если ваш раздел — sdb1, а не vdb1, то имя диска будет /dev/sdb.
# fdisk -u /dev/sdb
Это приложение имеет несколько подкоманд, которые можно просмотреть с помощью команд.
Удалите старый раздел
Перед удалением старого раздела рекомендуется записать номер, соответствующий первому сектору раздела. Эту информацию можно узнать с помощью команды p. Информация указана под полем Start. Сохраните эти данные для дальнейшего использования.
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
54 heads, 49 sectors/track, 15851 cylinders, total 41943040 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
Disk identifier: 0x000132ff
Device Boot Start End Blocks Id System
/dev/sdb1 * *2048* 41941745 20969849 83 Linux
Если вы не сделали резервную копию своих данных, это точка невозврата.
Затем удалите раздел командой d.
Command (m for help): d
Selected partition 1
Отдельный раздел будет автоматически удален.
Создайте новый раздел
Теперь вам нужно создать новый раздел с помощью команды n. Рекомендуется использовать значения по умолчанию.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 41943039.
В строке Первый сектор проверьте, что значение по умолчанию такое же, как и то, которое вы ранее записали. Если оно отличается, используйте значение, которое вы записали.
Делаем раздел загрузочным
Теперь вам нужно убедиться, что раздел является загрузочным. Это можно сделать с помощью команды a.
Command (m for help): a
Partition number (1-4): 1
Сохраните изменения и выйдите из приложения с помощью команды w:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Расширение файловой системы на разделе
Раздел был расширен, но файловая система по-прежнему занимает то же пространство, что и раньше. Чтобы расширить его, просто введите следующую команду:
# resize2fs /dev/sdb1
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/sdb1 to 5242624 (4k) blocks.
The filesystem on /dev/sdb1 is now 5242624 blocks long.
Проверьте результат
Чтобы проверить, успешно ли прошло расширение, вы можете смонтировать только что созданный раздел и проверить его размер.
# mount /dev/sdb1 /mnt
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 991M 793M 132M 86% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 12K 1.9G 1% /dev
tmpfs 386M 360K 386M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdb1 50G 842M 48G 2% /mnt
Новый размер раздела вы найдете под меткой size.
Как исправить ошибку bad magic number in superblock?
Если команда e2fsck возвращает сообщение об ошибке bad magic number in superblock, вам следует проверить и восстановить файловую систему, используя резервную копию суперблока. Чтобы узнать, какие резервные копии суперблока доступны, введите следующую команду:
# dumpe2fs /dev/sdb1 | grep superblock
Primary superblock at 0, Group descriptors at 1-6
Backup superblock at 32768, Group descriptors at 32769-32774
Backup superblock at 98304, Group descriptors at 98305-98310
Backup superblock at 163840, Group descriptors at 163841-163846
Backup superblock at 229376, Group descriptors at 229377-229382
Backup superblock at 294912, Group descriptors at 294913-294918
Backup superblock at 819200, Group descriptors at 819201-819206
Backup superblock at 884736, Group descriptors at 884737-884742
Backup superblock at 1605632, Group descriptors at 1605633-1605638
Backup superblock at 2654208, Group descriptors at 2654209-2654214
Backup superblock at 4096000, Group descriptors at 4096001-4096006
Backup superblock at 7962624, Group descriptors at 7962625-7962630
Backup superblock at 11239424, Group descriptors at 11239425-11239430
Backup superblock at 20480000, Group descriptors at 20480001-20480006
Backup superblock at 23887872, Group descriptors at 23887873-23887878
Затем используйте первую резервную копию суперблока для проверки и восстановления файловой системы:
# fsck -b 32768 /dev/sdb1