У меня есть виртуальный сервер под управлением Debian 8 с полностью заполненным основным диском. Я расширил «физический» жесткий диск с помощью своего гипервизора, но я не могу понять, как расширить основной раздел, чтобы использовать вновь созданное нераспределенное пространство на виртуальном диске.
Я расширил виртуальный диск с 4 ГБ до 10 ГБ.
fidks -l
вывод:
GPT PMBR size mismatch (8388607 != 20971519) will be corrected by w(rite).
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 58BB252B-F2A7-48A3-9270-BB80B698AC35
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 6293503 5242880 2.5G Linux filesystem
/dev/sda3 6293504 8386559 2093056 1022M Linux swap
df -h
вывод:
Filesystem Size Used Avail Use% Mounted on
udev 438M 0 438M 0% /dev
tmpfs 90M 11M 80M 12% /run
/dev/sda2 2.4G 2.4G 0 100% /
tmpfs 449M 0 449M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 449M 0 449M 0% /sys/fs/cgroup
/dev/sda1 511M 132K 511M 1% /boot/efi
tmpfs 90M 0 90M 0% /run/user/1000
Важная заметка: это невероятно простая система с очень небольшим количеством утилит, и из-за отсутствия места на диске я не могу ничего установить.
Ищу способ расширить раздел.
Предпосылки
/
(/dev/sda2
) - файловая система с изменяемым размером. Вы никогда не говорили, что такое файловая система /
. Я предполагаю, что это ext4
(xfs
тоже работает, некоторые могут тоже).fdisk
но gdisk
: fdisk
не всегда хорошо справляется с проблемой GPT PMBR, которую я описываю ниже, gdisk
нет проблем с этим. Размер установки менее 1 м.Действия над разделами
swapoff /dev/sda3
подготовить его удаление: это мешает и не жизненно важно.gdisk /dev/sda
. Обратите внимание на предупреждение о GPT PMBR: это потому, что EFI записывает информацию о своей метке как в начале, так и в конце диска. Поэтому, когда вы увеличиваете диск, на новом конце больше нет подписи и данных GPT. gdisk
исправляет эти данные и просит подтвердить: просто примите. fdisk
может потерпеть неудачу на этом этапе (выполняется на последнем w для fdisk).i
2
и i
3
) для повторного использования после следующих шагов.d
и 3
, иначе вы не сможете увеличить раздел 2.d
2
). (Re) Создать раздел 2 (n
2
) на том же месте: выберите то же начало (1050624
) и большего размера или большего конца, чтобы у вас было больше свободного места, например +7G
. Тип перегородки 8300
. Если вам сказали, что была обнаружена подпись старой файловой системы, не стирайте ее, это ваша работающая система.n
3
), предлагаемое начало по умолчанию и, вероятно, того же размера, что и раньше, введите 8200
.PARTUUID=...
), используя экспертные параметры (x
затем соотв. для перегородок 2 и 3 c
2
и c
3
).w
подтверждаю ...). Вы получите сообщение об ошибке, что ядро не использует новую таблицу разделов. Это ожидаемо. Уволиться (q
).Исправьте проблему с представлением ядра с помощью partx
команда
"перемещенный" раздел подкачки
# cat /sys/class/block/sda3/start #kernel's view of the old sda3 partion's position
6293504
# partx -u /dev/sda3
# cat /sys/class/block/sda3/start
(some higher value) #kernel's view of sda3 is fixed
!! Если вы не получите более высокое значение на этом шаге, прервитесь и перезагрузитесь: ядро получит новую геометрию после перезагрузки (но оно будет жаловаться на недоступность подкачки) и перейдите к шагу 4.
увеличенный корневой раздел fs
# cat /sys/class/block/sda2/size #kernel's view of the old partition's size
5242880
# partx -u /dev/sda2
# cat /sys/class/block/sda2/size
(some bigger value) #kernel's view of sda2 is fixed
файловая система
Повторно используйте своп и увеличьте файловую систему: теперь в разделе есть место, файловая система внутри может использовать это место.
# mkswap /dev/sda3
# swapon /dev/sda3
# resize2fs /dev/sda2 # ext4 can be resized "online" ie while mounted.
или для xfs:
# xfs_growfs /
Все готово. Убедитесь, что все в порядке после перезагрузки. Иначе, есть резервная копия.