При апгрейді VPS вам може знадобитися перерозбити дисковий простір. Ось кроки, якими потрібно слідувати
Перерозподіл може навсегда пошкодити ваші дані. Ми не можемо нести відповідальність за будь-яку шкоду чи пошкодження ваших даних. Переконайтесь, що ви зробили резервну копію всіх своїх даних.
Вимоги
- У вас має бути SSH-доступ до VPS (root доступ).
- Вам треба перезавантажити VPS в rescue mode.
Після оновлення оперативна пам’ять і процесор (ЦП) будуть автоматично скоректовані. Але це не буде стосуватись оновленого розміру дискового простору.
В цьому керівництві пояснюються кроки, які необхідні для збільшення дискового простору.
Спроба розширити розділ може призвести до втрати даних. Тому категорично рекомендується зробити резервну копію даних на вашому VPS.
Розмонтуйте розділ
Після входу у ваш 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
Якщо ви отримали помилку "bad magic number in superblock", не продовжуйте. Процедуру виправлення цієї проблеми наведено в кінці цього посібника.
Запустіть програму 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