Динамический диск VirtualBox не расширяется до размера Virtual

У меня Ubuntu 12.04 работает на VirtualBox 4.2.4 на диске Dynamic VDI ​​с лимитом 8 ГБ на реальном разделе ext4 с более чем 40 ГБ доступного свободного места. Однако VDI не расширяется до предела. 8 ГБ более чем достаточно для того, что я хочу сделать.

Как мне сделать доступным остальное пространство? Доступное пространство в / и.home составляет 41 КБ.

В.М

VDI

5 ответов

VirtualBox Dynamic Disk не использует доступное свободное дисковое пространство для автоматического увеличения раздела

Этот пост был написан для гостевой ОС Ubuntu Server 18.04, работающей на Virtualbox 6.1.6.

Я считаю, что правильное описание этой проблемы должно быть примерно таким:

"Несмотря на то, что был создан динамический диск на 32 ГБ, раздел ОС получил сообщение" диск заполнен "на уровне около 4 ГБ и не смог автоматически увеличить его размер, используя" свободные "28 ГБ с динамического диска на 32 ГБ".

Если это проблема, с которой вы столкнулись, и вы настроили гостевую ОС с использованием Ubuntu Linux и LVM (и файловой системы EXT4), то решением этой проблемы является использование команд lvextend и resize2fs. Смотрите мое решение и описание ниже:

Запустите виртуальную машину и войдите в систему. Оказавшись внутри, откройте терминал.

  1. Отображение информации о выделенном дисковом хранилище:

    $ df -h

    Размер файловой системы Используется Доступность Использование% Установлено на
    udev 966M 0 966M 0% / dev
    tmpfs 200M 1.1M 199M 1% / run
    / dev / mapper / ubuntu - vg-ubuntu - lv 3.9G 2.9G 835M 78% /
    tmpfs 997M 0 997M 0% / dev /
    shmtmpfs 5.0M 0 5.0M 0% / run / lock
    tmpfs 997M 0 997M 0% /sys / fs / cgroup
    / dev / loop0 97M 97M 0100 % /snap / core / 9436
    / dev / loop1
    97M 97M 0100 % /snap / core / 9665 / dev / sda2976M 212M 697M 24% / boot
    tmpfs 200M 0 200M 0% / run / user / 1000

Выходные данные показывают, что корневой раздел (/) имеет размер 3,9 ГБ и используется 2,9 ГБ (78%).

  1. Отображение информации о блочных устройствах:

    $ lsblk

    ИМЯ MAJ: МИН. RM РАЗМЕР RO ТИП MOUNTPOINT
    loop0 7: 0 0 96,5M 1 loop / snap / core / 9436
    loop1 7: 1 0 97M 1 loop / snap / core / 9665
    sda 8: 0 0 32G 0 disk
    ├─sda1 8: 1 0 1M 0 часть
    ├─sda2 8:2 0 1G 0 часть / загрузка
    └─sda3 8:3 0 31G 0 часть
    └─ubuntu-vg-ubuntu - lv 253:0 0 4G 0 lvm /
    sr0 11: 0 1 1024M 0 ROM

Выходные данные показывают, что sda блочного устройства имеет физический размер 32 ГБ. Он содержит 3 раздела (sda1, sda2 и sda3). В корневом разделе (/), установленном на логическом томе sda3, выделено только 4 ГБ хранилища. Это означает, что остается около 27 ГБ нераспределенного (бесплатного) хранилища, которое мы можем использовать для увеличения логического тома LVM.

  1. Отображение информации о файловой системе на блочных устройствах:

    $ lsblk --fs

    НАЗВАНИЕ FSTYPE LABEL UUID MOUNTPOINT
    loop0 squashfs / snap / core / 9436
    loop1 squashfs / snap / core / 9665
    sda
    ├─sda1
    ├─sda2 ext4 7cafee4a-d300-4b17-957d-c822c73882fc / boot
    └─membergwDLVM2e1Nx-Fd9J-LLeN-XnbvEE └─ubuntu-vg-ubuntu - lvext4 dcc015b4-b6b8-4e05-9a18-93c263cc05ed /
    sr0

    Вывод показывает, что файловая система корневого раздела lvm - ext4.

  2. Отображение информации о физическом объеме:

    $ sudo pvs

    PV VG Fmt Attr PSize PFree
    /dev/sda3 ubuntu-vg lvm2 a - <31,00 г <27,00 г

    $ sudo pvdisplay

    --- Физический том --- Имя PV /dev/sda3
    Имя VG ubuntu-vg
    Размер PV <31,00 ГиБ / не используется 0
    Распределяется да
    Размер PE 4,00 МиБ
    Всего PE 7935
    Свободно PE 6911
    Выделено PE 1024
    PV UUID GwPZus-EMpD-BgZw-e1Nx-Fd9J-LLeN-XnbvEE

    В выходных данных представлен другой взгляд на выделенное / нераспределенное пространство на LVM PV sda3.

  3. Отображение информации о группе томов:

    $ sudo vgs

    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 1 0 wz - n- <31.00g <27.00g

    $ sudo vgdisplay

    --- Группа томов --- Имя VG ubuntu-vg Формат
    идентификатора системы
    lvm2
    Области метаданных 1
    Последовательность метаданных № 2
    VG Доступ для чтения / записи
    VG Статус изменяемый размер
    MAX LV 0
    Cur LV 1
    Open LV 1
    Max PV 0
    Cur PV 1
    Act PV 1
    Размер VG <31,00 ГиБ
    PE Размер 4,00 МиБ
    Всего PE 7935
    Выделено PE / Размер 1024 / 4,00 ГиБ
    Свободный PE / Размер 6911 / <27,00 ГиБ
    UUID VG vBmSeb-VWR8-7A8n-CBSa-UnKd-FmJG-LTtMUG

    Выходные данные показывают, что размер VG такой же, как размер PV (31 ГБ), и что у него есть 27 ГБ нераспределенной свободной памяти для увеличения логического тома.

  4. Вывести информацию о логическом томе:

    $ sudo lvs

    LV VG Attr LSize Исходные данные пула% Meta% Move Log Cpy%Sync Convert
    ubuntu-lv ubuntu-vg -wi-ao---- 4.00g

    $ sudo lvdisplay

    --- Логический том ---
    Путь LV / dev / ubuntu-vg / ubuntu-lv
    Имя LV ubuntu-lv
    Имя VG ubuntu-vg
    UUID LV pnvBcu-FnfT-c3RY-cYCE-AuMX-f833-57WvYi
    Доступ для записи LV для чтения / запись
    LV Creation host, time ubuntu-server, 2020-07-01 00:00:58 +0000
    LV Status available
    #open 1
    LV Size 4.00 GiB
    Текущий LE 1024
    Сегменты 1
    Распределение наследуется
    Секторы упреждающего чтения, автоматически
    устанавливаются на 256
    Блочное устройство 253:0

    Результат показывает, что размер LV составляет 4 ГБ. Поскольку размер VG составляет 31 ГБ, мы можем увеличить LV еще на 27 ГБ.

7а. Чтобы увеличить логический том (ubuntu-lv) за счет использования 50% (13 ГБ) свободного нераспределенного пространства, сначала выполните:

$ sudo lvextend -l+50%free /dev/ubuntu-vg/ubuntu-lv

Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB (1024 extents) to 17.50 GiB (4480 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.


The output shows that the logical volume has grown from 4GB to 17.5GB (approximately 13GB).

7b. Наконец, чтобы файловая система EXT4 узнала о расширенном хранилище, выполните команду:

$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 4587520 (4k) blocks long.
  1. Снова отобразите информацию о выделенном дисковом хранилище, чтобы проверить новое дисковое хранилище:

    $ df -h

    Размер файловой системы Используется Доступность Использование% Установлено на
    udev 966M 0 966M 0% / dev
    tmpfs 200M 1.1M 199M 1% / run
    / dev / mapper / ubuntu - vg-ubuntu - lv 18G 2.9G 14G 18% /
    tmpfs 997M 0 997M 0% / dev /
    shmtmpfs 5.0M 0 5.0M 0% / run / lock
    tmpfs 997M 0 997M 0% /sys / fs / cgroup
    / dev / loop0 97M 97M 0100 % /snap / core / 9436
    / dev / loop1 97M
    97M 0100 % /snap / core / 9665 / dev / sda2976M 212M 697M 24% / boot
    tmpfs 200M 0 200M 0% / run / user / 1000

    Выходные данные показывают, что размер логического тома теперь вырос до 18 ГБ (с прежних 4 ГБ).

Я исправил свою машину VirtualBox, установив путь на хост-компьютере Windows 7 для включения установочного каталога VirtualBox (Шаги):

  1. нажмите кнопку Пуск
  2. Щелкните правой кнопкой мыши компьютер
  3. Нажмите Свойства
  4. Нажмите Расширенные настройки системы
  5. На вкладке [Дополнительно] нажмите кнопку [Переменные среды]
  6. Под Системными Переменными прокрутите вниз к пути и нажмите [Редактировать]
  7. Добавьте все в кавычки в конец строки ";C:\Program Files\Oracle\VirtualBox\"
  8. Нажмите [Ok]

Затем перейдите в каталог диска VirtualBox (под именем пользователя \VirtualBox VM), взятый из ( https://forums.virtualbox.org/viewtopic.php?f=7&t=52351)

  1. откройте cmd и перейдите на диск VirtualBox
  2. введите эту команду: VBoxManage showhdinfo
  3. Обратите внимание на UUID диска.
  4. введите эту команду: VBoxManage modifyhd UUID_of_the_VDI_disk --resize 80000 (это делает диск 80 гигабайтов, подгоняйте под нужный вам размер)

ВАЖНЫЕ ШАГИ НАЧИНАЙТЕ ЗДЕСЬ: Затем загрузите виртуальную машину на LiveCD (установочный диск) (взят из раздела Расширение размера раздела Ubuntu с помощью нераспределенного пространства (между этими двумя находится подстановка))

Я не могу подчеркнуть это достаточно:

Настоятельно рекомендуется сделать резервную копию любых важных файлов перед выполнением операций изменения размера / перемещения / расширения.

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

Раздел подкачки может быть удален только после выключения подкачки:

SWAP off: sudo / sbin / swapoff -a SWAP on: sudo / sbin / swapon -a

Шаги:

  1. Загрузка с Ubuntu LiveCD
  2. Откройте терминал и выключите своп
  3. Установить GParted
  4. Расширьте раздел, который вы хотите, но оставьте место для обмена
  5. зафиксировать изменения
  6. создать раздел подкачки
  7. включи своп

Примечание. Если ваш своп не является основным жестким диском, см. SwapFaq о том, как активировать раздел подкачки.

Настоятельно рекомендуется сделать резервную копию любых важных файлов перед выполнением операций изменения размера / перемещения / расширения.

Была такая же проблема на Ubuntu 15.04 с Ubuntu Gnome 15.04 на виртуальной машине. Кажется, что, несмотря на то, что это "Динамически распределенное хранилище", VirtuaBox не увеличивало его, и у меня были последние 100 МБ, и оно не позволяло мне обновляться через Обновления программного обеспечения. Решением было выполнить обновление через терминал.

sudo apt-get upgrade

Похоже, это заставило VirtualBox создать дополнительное хранилище, оно освободилось до 500 МБ, как только началось обновление.

Похоже, это не связано с ростом вашего виртуального диска, поскольку вы должны получить сообщение об ошибке от VirtualBox, сообщающее, что он не может выделить больше дискового пространства для вашего виртуального диска.

Некоторые идеи:

  • Использовали ли вы особую схему разбиения в вашей виртуальной машине?
  • Каков результат df -h в твоей ВМ?
  • Вы можете использовать baobab искать то, что потребляет все ваши / пространство.

/tmp будет tmpfs файловая система, хранящаяся в оперативной памяти. Поэтому, если вы не назначите у вас ~800 МБ свободной оперативной памяти в вашей виртуальной машине, этого будет недостаточно для хранения ISO.

Вероятно, это не то, что вы намеревались: просто сохраните ISO в "реальном" каталоге (например, /home/<username>) и это должно работать просто отлично.

Попробуйте настроить общую папку, это может быть решением вашей проблемы.

  1. В VirtualBox введите настройки вашей виртуальной машины> общие папки и добавьте новую; выберите путь в вашем хост-компьютере и назовите его FOLDER_NAME и проверить Auto mount а также make permanent,
  2. Установить гостевые дополнения; посмотрите на это, чтобы увидеть, как
  3. Создайте папку на вашей гостевой виртуальной машине, чтобы она указывала на папку, созданную на хосте, просто создайте новую папку, например /home/"your_user_name"/shared
  4. Подключите общую папку: sudo mount -t vboxsf "FOLDER_NAME" /home/"your_user_name"/shared
  5. Чтобы сделать монтировку автоматической, добавьте mount -t vboxsf "FOLDER_NAME" /home/"your_user_name"/shared" to the end of "/etc/rc.local" before "exit 0"

Вы можете использовать это простое решение: в вашем терминале введите эту команду

VBoxManage.exe modifyhd "path-of-your-disk" --resize 20000

Вы можете найти путь к вашему диску в конфигурации вашей виртуальной машины / хранилища / yourVM.vbi (путь справа)

Другие вопросы по тегам