Я должен был дать изображению VirtualBox дополнительное дисковое пространство.
Я изменил размер своего контейнерного виртуального диска с:
VBoxManage modifyhd <absolute path to file> --resize <size in MB> //example
VBoxManage modifyhd example.vdi --resize 10000
ПРЕДУПРЕЖДЕНИЕ, Вы не можете уменьшить размер!
Я работаю df -h
на моей виртуальной машине человечности 16.04 - никакое изменение.
/dev/mapper/example-vg--vg-root 5G 4.9G 50M 100% /
В этой точке я ничего не знал о группах объема, но после некоторого рытья я нашел, что у меня теперь есть 5G свободного пространства, как я получаю это своей группе объема и оттуда к моему логическому тому?
Таким образом, как я получаю то свободное пространство к своему логическому тому (LV) в моей группе объема (VG)?
Вы имеете дело с дисковым пространством на три (и подразумеваемая четверть) уровень абстракции:
.vdi
файл - Вы изменили размер этого файла с VBoxManage
, но пространство еще не появилось на следующих двух уровнях абстракции. По существу то, что Вы сделали, похоже на установку более крупного физического диска в реальном компьютере и скопировало содержание исходного диска с dd
. У Вас есть больше (виртуального) дискового пространства теперь, но Вы не можете использовать его, потому что структуры данных, используемые для доступа к диску, еще не были обновлены. VBoxManage
команда, вероятно, привела к тривиальному изменению в Вашем использовании дискового пространства хост-системы, после того как Вы начинаете использовать то пространство в виртуализированной среде, использование пространства физического диска увеличится. Принятие Вас имеет достаточное реальное дисковое пространство, это не должно быть проблемой, и это не влияет на то, что необходимо сделать; я упоминаю это только для полноты. ответ Olavi Sau, кажется, корректен, но представлен в обратном порядке того, что необходимо на самом деле сделать, таким образом, это могло сбивать с толку. (Таким образом, ответ описывает операции файловой системы/LV перед операциями раздела/PV; но необходимо сделать операции раздела/PV сначала.) Таким образом, я думал, что представление ответа "вида с высоты птичьего полета" будет полезным дополнением.
Первая вещь, которую необходимо сделать, проверяют, что у Вас уже нет пространства, в котором Вы нуждаетесь путем наблюдения, сколько свободного пространства группа объема имеет.
Все следующие команды обычно требуют sudo.
Вы видите атрибуты групп объема с vgdisplay
vgdisplay
Необходимо видеть что-то вроде этого:
--- Volume group ---
VG Name example-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 15.52 GiB
PE Size 4.00 MiB
Total PE 3972
Alloc PE / Size 3963 / 15.48 GiB
Free PE / Size 9 / 36.00 MiB
VG UUID JZCVgU-QvdG-2dMN-ZLrO-YXHp-83bq-zItAUD
Если у Вас есть свободные физические степени (PE), можно просто добавить, что они (если бесплатный физический размер степеней удовлетворяет потребности, пропустите к добавлению к логическому тому Ctrl + F ADDING TO LOGICAL VOLUME
).
Если у Вас нет достаточного свободного пространства в Вашей группе объема, необходимо добавить его от свободного выделенного места, но сначала необходимо разделить его.
Можно сделать это с fdisk
fdisk /dev/sda
Сначала перечислите существующую таблицу (Необходимо знать, где запустить раздел с),
В fdisk ( Command (m for help):
)
p
Отобразит что-то вроде этого:
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 32000000 30998531 14.8G 5 Extended
/dev/sda3 32002048 48779263 16777216 8G 8e Linux LVM
/dev/sda5 1001472 32000000 30998529 14.8G 8e Linux LVM
Скопируйте самый верхний уровень. Иначе Вы могли бы создать раздел между разделами, который ограничивает размер раздела пространством между разделами. (как 1 Кбит)
Продолжите двигаться путем нажатия n (создайте новый раздел),
n
Выберите число по умолчанию (оно не имеет значения очень, но записывает его или помнит его),
Вставьте самый верхний уровень для первого сектора и конца как +size {K, M, G, T, P} (или однако Вам нравится),
Это создаст новый раздел.
Необходимо теперь перезагрузить ( sudo reboot
)
После перезагрузки создают физический том pvcreate /dev/sda##THE NUMBER YOU CHOSE##
Перезагрузите снова в случае необходимости sudo reboot
Если Вы не помните число, Вы можете просто fdisk /dev/sda ... p
перечислять их.
Теперь расширьте свою группу объема vgextend example-vg /dev/sda##NUMBER##
sudo parted ##example-vg-path ( from vgdisplay) ##
print list ( find your /dev/mapper/example-vg--vg-root )
resizepart NUMBER
Введите свой размер
quit
sudo resize2fs /dev/mapper/example--vg-root
Выполненный df -h
проверять.
Окончание стало немного неуклюжим, но о хорошо второпях :)