Почему не отображается пространство с измененным размером виртуального диска (vdi) и как его исправить?

Мне пришлось предоставить дополнительное пространство на диске VirtualBox.

Я изменил размер моего виртуального диска контейнера с помощью:

VBoxManage modifyhd --resize //example VBoxManage modifyhd example.vdi --resize 10000

ВНИМАНИЕ, вы не можете уменьшить размер!

Я запускаю df -h на моей виртуальной машине ubuntu 16.04 - без изменений.

/dev/mapper/example-vg--vg-root 5G 4.9G 50M 100% /

На данный момент я ничего не знал о группах томов, но после некоторого рытья я обнаружил, что я теперь есть 5G свободного места, как я могу получить это в моей группе томов и оттуда до моего логического тома?

Итак, как мне получить это свободное пространство для моего логического тома (LV) в моем группа томов (VG)?

1
задан 3 May 2017 в 15:43

4 ответа

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

Для всех следующих команд обычно требуется 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

Если у вас есть свободные физические экстенты ( vgdisplay ) вы можете просто добавить их (если размер свободного физического экстента покрывает ваши потребности, перейдите к добавлению в логический том Ctrl + F ADDING TO LOGICAL VOLUME).

Если вы не у вас достаточно свободного места в вашей группе томов, вам нужно добавить его из вашего свободного выделенного пространства, но сначала вам нужно разбить его.

Вы можете сделать это с помощью группы volume [ ! d10] 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

Копировать наивысшую Для всех следующих команд обычно требуется sudo. . В противном случае вы можете создать раздел между разделами, который ограничивает размер раздела пространством между разделами. (например, 1 kb)

Продолжайте, нажимая n (создайте новый раздел)

n

Выберите номер по умолчанию (это не имеет большого значения, но запишите его или вспомните это)

Вставить самый высокий конец для первого сектора и завершить как + размер {K, M, G, T, P} (или, как вам нравится)

Это создаст

Теперь вы должны перезагрузить (sudo reboot)

После перезагрузки создайте физический том pvcreate /dev/sda##THE NUMBER YOU CHOSE##

Перезагрузите снова, если необходимо sudo reboot [ ! d23]

Если вы не помните номер, который вы можете просто 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, чтобы проверить.

Окончание получилось немного неуклюжим, но ох хорошо спешит: )

1
ответ дан 18 July 2018 в 13:54

Вы занимаетесь дисковым пространством на трех (и подразумеваемом четвертом) уровне абстракции:

Место на диске в файле .vdi - вы изменили размер этого файла с помощью VBoxManage, но пространство еще не появилось на следующих двух уровнях абстракции. По существу, то, что вы сделали, это как установить больший физический диск на реальном компьютере и скопировать содержимое исходного диска с помощью dd. Теперь у вас больше (виртуального) дискового пространства, но вы не можете использовать его, потому что структуры данных, используемые для доступа к диску, еще не обновлены. Разделы (например, физические тома или PV) на виртуальном диске. Вы должны либо изменить размер существующего PV, либо создать новый, либо добавить его в свою группу томов (VG). См. Этот вопрос для указателей на эту тему. Логические тома (файловые системы). После того, как вы расширили PV или создали новый и добавили его в VG, вы должны развернуть логический том (LV) и файловую систему, которые он содержит. В вопросе, указанном в предыдущем пункте, описывается, как это сделать. Дисковое пространство в хост-системе - это четвертый / подразумеваемый уровень абстракции и фактически «выше» предыдущих. Хотя команда VBoxManage, вероятно, привела к незначительному изменению на использование дискового пространства вашей хост-системы, как только вы начнете использовать это пространство в виртуализованной среде, использование физического дискового пространства будет увеличиваться. Предполагая, что у вас достаточно свободного места на диске, это не должно быть проблемой, и это не влияет на то, что вам нужно делать; Я упоминаю это только для полноты.

Ответ Олави Сау кажется правильным, но представлен в обратном порядке того, что вы на самом деле должны делать, поэтому это может сбивать с толку. (То есть, ответ описывает операции файловой системы / LV перед операциями раздела / PV, но сначала вам нужно выполнить операции раздела / PV.) Таким образом, я думал, что представление ответа «с высоты птичьего полета» станет полезным дополнением.

1
ответ дан 18 July 2018 в 13:54

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

Для всех следующих команд обычно требуется 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

Если у вас есть свободные физические экстенты ( vgdisplay ) вы можете просто добавить их (если размер свободного физического экстента покрывает ваши потребности, перейдите к добавлению в логический том Ctrl + F ADDING TO LOGICAL VOLUME).

Если вы не у вас достаточно свободного места в вашей группе томов, вам нужно добавить его из вашего свободного выделенного пространства, но сначала вам нужно разбить его.

Вы можете сделать это с помощью группы volume [ ! d10] 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

Копировать наивысшую Для всех следующих команд обычно требуется sudo. . В противном случае вы можете создать раздел между разделами, который ограничивает размер раздела пространством между разделами. (например, 1 kb)

Продолжайте, нажимая n (создайте новый раздел)

n

Выберите номер по умолчанию (это не имеет большого значения, но запишите его или вспомните это)

Вставить самый высокий конец для первого сектора и завершить как + размер {K, M, G, T, P} (или, как вам нравится)

Это создаст

Теперь вы должны перезагрузить (sudo reboot)

После перезагрузки создайте физический том pvcreate /dev/sda##THE NUMBER YOU CHOSE##

Перезагрузите снова, если необходимо sudo reboot [ ! d23]

Если вы не помните номер, который вы можете просто 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, чтобы проверить.

Окончание получилось немного неуклюжим, но ох хорошо спешит: )

1
ответ дан 24 July 2018 в 20:17

Вы занимаетесь дисковым пространством на трех (и подразумеваемом четвертом) уровне абстракции:

Место на диске в файле .vdi - вы изменили размер этого файла с помощью VBoxManage, но пространство еще не появилось на следующих двух уровнях абстракции. По существу, то, что вы сделали, это как установить больший физический диск на реальном компьютере и скопировать содержимое исходного диска с помощью dd. Теперь у вас больше (виртуального) дискового пространства, но вы не можете использовать его, потому что структуры данных, используемые для доступа к диску, еще не обновлены. Разделы (например, физические тома или PV) на виртуальном диске. Вы должны либо изменить размер существующего PV, либо создать новый, либо добавить его в свою группу томов (VG). См. Этот вопрос для указателей на эту тему. Логические тома (файловые системы). После того, как вы расширили PV или создали новый и добавили его в VG, вы должны развернуть логический том (LV) и файловую систему, которые он содержит. В вопросе, указанном в предыдущем пункте, описывается, как это сделать. Дисковое пространство в хост-системе - это четвертый / подразумеваемый уровень абстракции и фактически «выше» предыдущих. Хотя команда VBoxManage, вероятно, привела к незначительному изменению на использование дискового пространства вашей хост-системы, как только вы начнете использовать это пространство в виртуализованной среде, использование физического дискового пространства будет увеличиваться. Предполагая, что у вас достаточно свободного места на диске, это не должно быть проблемой, и это не влияет на то, что вам нужно делать; Я упоминаю это только для полноты.

Ответ Олави Сау кажется правильным, но представлен в обратном порядке того, что вы на самом деле должны делать, поэтому это может сбивать с толку. (То есть, ответ описывает операции файловой системы / LV перед операциями раздела / PV, но сначала вам нужно выполнить операции раздела / PV.) Таким образом, я думал, что представление ответа «с высоты птичьего полета» станет полезным дополнением.

1
ответ дан 24 July 2018 в 20:17

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

Похожие вопросы: