Назад | Перейти на главную страницу

Расширьте виртуальный диск debian полностью, чтобы использовать пустое пространство

У меня есть виртуальный сервер под управлением 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

Важная заметка: это невероятно простая система с очень небольшим количеством утилит, и из-за отсутствия места на диске я не могу ничего установить.

Ищу способ расширить раздел.

  1. Предпосылки

    • В виртуальной машине все можно сделать за один раз, без перезагрузки, если / (/dev/sda2) - файловая система с изменяемым размером. Вы никогда не говорили, что такое файловая система / . Я предполагаю, что это ext4 (xfs тоже работает, некоторые могут тоже).
    • Это виртуальная машина, сделайте резервную копию, прежде чем продолжить.
    • Установите gdisk. Не использовать fdisk но gdisk: fdisk не всегда хорошо справляется с проблемой GPT PMBR, которую я описываю ниже, gdisk нет проблем с этим. Размер установки менее 1 м.
  2. Действия над разделами

    • swapoff /dev/sda3 подготовить его удаление: это мешает и не жизненно важно.
    • бегать gdisk /dev/sda . Обратите внимание на предупреждение о GPT PMBR: это потому, что EFI записывает информацию о своей метке как в начале, так и в конце диска. Поэтому, когда вы увеличиваете диск, на новом конце больше нет подписи и данных GPT. gdisk исправляет эти данные и просит подтвердить: просто примите. fdisk может потерпеть неудачу на этом этапе (выполняется на последнем w для fdisk).
    • (необязательно) обратите внимание на уникальный GUID изменяемого раздела (i 2 и i 3) для повторного использования после следующих шагов.
    • удалить раздел 3 (своп) с помощью d и 3, иначе вы не сможете увеличить раздел 2.
    • сложная часть: удалить раздел 2 (d 2). (Re) Создать раздел 2 (n 2) на том же месте: выберите то же начало (1050624) и большего размера или большего конца, чтобы у вас было больше свободного места, например +7G. Тип перегородки 8300. Если вам сказали, что была обнаружена подпись старой файловой системы, не стирайте ее, это ваша работающая система.
    • Воссоздайте новый раздел 3 для свопа (n 3), предлагаемое начало по умолчанию и, вероятно, того же размера, что и раньше, введите 8200.
    • (необязательно) восстановить уникальный GUID предыдущего отмеченного раздела, необходимо, если от него зависят некоторые настроенные параметры диска (PARTUUID=...), используя экспертные параметры (x затем соотв. для перегородок 2 и 3 c 2 и c 3).
    • Записать изменения (w подтверждаю ...). Вы получите сообщение об ошибке, что ядро ​​не использует новую таблицу разделов. Это ожидаемо. Уволиться (q).
  3. Исправьте проблему с представлением ядра с помощью 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
      
  4. файловая система

    • Повторно используйте своп и увеличьте файловую систему: теперь в разделе есть место, файловая система внутри может использовать это место.

      # mkswap /dev/sda3
      # swapon /dev/sda3
      # resize2fs /dev/sda2 # ext4 can be resized "online" ie while mounted.
      
    • или для xfs:

      # xfs_growfs /
      

Все готово. Убедитесь, что все в порядке после перезагрузки. Иначе, есть резервная копия.