Динамический диск VirtualBox не расширяется до размера Virtual
У меня Ubuntu 12.04 работает на VirtualBox 4.2.4 на диске Dynamic VDI с лимитом 8 ГБ на реальном разделе ext4 с более чем 40 ГБ доступного свободного места. Однако VDI не расширяется до предела. 8 ГБ более чем достаточно для того, что я хочу сделать.
Как мне сделать доступным остальное пространство? Доступное пространство в / и.home составляет 41 КБ.
5 ответов
VirtualBox Dynamic Disk не использует доступное свободное дисковое пространство для автоматического увеличения раздела
Этот пост был написан для гостевой ОС Ubuntu Server 18.04, работающей на Virtualbox 6.1.6.
Я считаю, что правильное описание этой проблемы должно быть примерно таким:
"Несмотря на то, что был создан динамический диск на 32 ГБ, раздел ОС получил сообщение" диск заполнен "на уровне около 4 ГБ и не смог автоматически увеличить его размер, используя" свободные "28 ГБ с динамического диска на 32 ГБ".
Если это проблема, с которой вы столкнулись, и вы настроили гостевую ОС с использованием Ubuntu Linux и LVM (и файловой системы EXT4), то решением этой проблемы является использование команд lvextend и resize2fs. Смотрите мое решение и описание ниже:
Запустите виртуальную машину и войдите в систему. Оказавшись внутри, откройте терминал.
Отображение информации о выделенном дисковом хранилище:
$
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%).
Отображение информации о блочных устройствах:
$
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.
Отображение информации о файловой системе на блочных устройствах:
$
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.
Отображение информации о физическом объеме:
$
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.
Отображение информации о группе томов:
$
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 ГБ нераспределенной свободной памяти для увеличения логического тома.
Вывести информацию о логическом томе:
$
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.
Снова отобразите информацию о выделенном дисковом хранилище, чтобы проверить новое дисковое хранилище:
$
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 (Шаги):
- нажмите кнопку Пуск
- Щелкните правой кнопкой мыши компьютер
- Нажмите Свойства
- Нажмите Расширенные настройки системы
- На вкладке [Дополнительно] нажмите кнопку [Переменные среды]
- Под Системными Переменными прокрутите вниз к пути и нажмите [Редактировать]
- Добавьте все в кавычки в конец строки ";C:\Program Files\Oracle\VirtualBox\"
- Нажмите [Ok]
Затем перейдите в каталог диска VirtualBox (под именем пользователя \VirtualBox VM), взятый из ( https://forums.virtualbox.org/viewtopic.php?f=7&t=52351)
- откройте cmd и перейдите на диск VirtualBox
- введите эту команду: VBoxManage showhdinfo
- Обратите внимание на UUID диска.
- введите эту команду: VBoxManage modifyhd UUID_of_the_VDI_disk --resize 80000 (это делает диск 80 гигабайтов, подгоняйте под нужный вам размер)
ВАЖНЫЕ ШАГИ НАЧИНАЙТЕ ЗДЕСЬ: Затем загрузите виртуальную машину на LiveCD (установочный диск) (взят из раздела Расширение размера раздела Ubuntu с помощью нераспределенного пространства (между этими двумя находится подстановка))
Я не могу подчеркнуть это достаточно:
Настоятельно рекомендуется сделать резервную копию любых важных файлов перед выполнением операций изменения размера / перемещения / расширения.
Это можно сделать путем удаления раздела подкачки, расширения нужного раздела и повторного создания раздела подкачки.
Раздел подкачки может быть удален только после выключения подкачки:
SWAP off: sudo / sbin / swapoff -a SWAP on: sudo / sbin / swapon -a
Шаги:
- Загрузка с Ubuntu LiveCD
- Откройте терминал и выключите своп
- Установить GParted
- Расширьте раздел, который вы хотите, но оставьте место для обмена
- зафиксировать изменения
- создать раздел подкачки
- включи своп
Примечание. Если ваш своп не является основным жестким диском, см. 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>
) и это должно работать просто отлично.
Попробуйте настроить общую папку, это может быть решением вашей проблемы.
- В VirtualBox введите настройки вашей виртуальной машины> общие папки и добавьте новую; выберите путь в вашем хост-компьютере и назовите его
FOLDER_NAME
и проверитьAuto mount
а такжеmake permanent
, - Установить гостевые дополнения; посмотрите на это, чтобы увидеть, как
- Создайте папку на вашей гостевой виртуальной машине, чтобы она указывала на папку, созданную на хосте, просто создайте новую папку, например
/home/"your_user_name"/shared
- Подключите общую папку:
sudo mount -t vboxsf "FOLDER_NAME" /home/"your_user_name"/shared
- Чтобы сделать монтировку автоматической, добавьте
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 (путь справа)