- Правильное увеличение размера диска в виртуальной машине
- Увеличение размера виртуального диска в VirtualBox для гостевой операционной системы Oracle Linux
- VirtualBox. Виртуальные диски. Их типы. Расширение виртуального носителя.
- О проблеме
- 1. О типах виртуальных носителей
- 2. Решение проблемы
- Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант — динамически расширяемый.
- Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант — фиксированный.
- 3. Расширение дискового пространства в гостевой системе
- увеличение размера VDI диска VirtualBox
Правильное увеличение размера диска в виртуальной машине
Не претендуя на полноту, все же считаю, что это может пригодиться системным администраторам.
Увеличение размера диска в виртуальной машине происходило при следующих вводных: формат файла виртуалки qcow2, виртуальная машина использует lvm и ext4, root partition находится в extended partition. Действо обычно происходит ночью, когда нагрузка минимальна и даунтайм не сильно давит на нервы. Хотя при работе с highload-проектами адреналина всё равно выделяется достаточно, чтобы 10 раз подумать, перед тем, как что-либо делать. Поэтому перед началом процесса, лучше отключить систему оповещения по СМС, чтобы не пугать коллег сообщениями типа «Server down» среди ночи.
1. Выключить виртуальную машину
Я сделал это через GUI, нажав на красную кнопку power в virt-manager. Если нет virt-manager, это можно сделать дав команду shutdown в командной строке виртуальной машины.
2. На гипервизоре увеличиваем размер файла (в моем случае на 200 гигабайт)
3. Цепляем диск к другой (сервисной) виртуальной машине через управляющую машину с virt-manager, альтернативный вариант — загрузиться с CD с поддержкой lvm.
Cooтветственно, при загрузке с LiveCD, vdb поменяется на vda
4. Запускаем сервисную машину (на ней тоже должен быть lvm) через virt-manager.
5. Далее на сервисной (или LVM liveCD) машине:
получим размер диска:
увеличим extended partition, если этого не сделать получим Error: Can’t have overlapping partitions. ubuntu parted -gparted
увеличим logical root partition
теперь нужно увеличить размер физического диска в lvm
увеличиваем размер логического диска в lvm
В выводе resize2fs должно быть такое:
теперь проверим и исправим файловую систему:
диск готов
6. выключаем сервисную машину, отключаем от нее диск в virt-manager
из командной строки, не используя GUI для управления виртуальными машинам можно сделать это при помощи virsh, использование которого хорошо описано здесь: управление виртуальными машинами из командной строки
7. Запускаем сервер
Увеличение с минимальным даунтаймом, почти на лету, проверено на lvm2/ext4 можно сделать так:
1. Увеличение размера файла на 200 гигабайт выполняется на гипервизоре
2. Перезагрузка виртуальной машины
3. На виртуальной машине
Посмотрим размер физического диска и всех логических разделов
увеличим extended partition
увеличим logical root partition
теперь нужно увеличить размер физического диска в lvm
увеличиваем размер логического диска в lvm
В этом случае проверять и исправлять файловую систему нельзя, fsck -f /dev/mapper/vm—db—0—vg-root убьёт файловую систему
Проверить, что получилось:
Источник
Увеличение размера виртуального диска в VirtualBox для гостевой операционной системы Oracle Linux
В данном посте пошагово описывается способ расширения размера дискового раздела root операционной системы Oracle Linux за счет увеличения виртуального диска VirtualBox.
Могут возникнуть случаи, когда заранее выделенного места на дисковом пространстве гостевой операционной системы (далее ОС) Oracle Enterprise Linux (далее OEL) в виртуальной машине может быть недостаточно. В такой ситуации, есть возможность расширить дисковое пространство (виртуальный диск) на гостевой операционной системе средствами VirtualBox и системными средствами ОС OEL, не пересоздавая виртуальную машину. Под гостевой ОС подразумевается операционная система, которая устанавливается, настраивается и работает на виртуальной машине. В данном посте описывается ситуация, когда заполняется дисковое пространство на корневом дисковом разделе root. Для расширения дискового пространства системного диска гостевой ОС Oracle Linux, надо выполнить следующие шаги:
- Проверить текущий размер диска гостевой ОС.
- Настроить диск виртуальной машины в VirtualBox.
- Расширить системный диск гостевой операционной системы.
1. Проверка текущего размера расширяемого локального диска гостевой ОС.
Проверяется текущий размер дискового раздела root гостевой ОС с помощью инструментов командной строки.
Анализируя полученный результат, можно заключить, что в корневом разделе (/) (в данном случае /dev/mapper/ol-root) свободно 350М из имеющихся 8 Гб.
Проверяется размер диска в гостевой Oracle Linux.
Результат команды fdisk показывает, что размер виртуального диска /dev/sda 10.7 Гб и из них 8585 MB (то есть 8 Гб) используется корневым разделом – /dev/mapper/ol-root: 8585 MB.
После этого можно приступать к расширению дискового пространства корневого раздела.
2. Настройка диска виртуальной машины в VirtualBox.
Необходимо остановить гостевую операционную систему Oracle Linux. Надо убедиться, что виртуальная машина выключена, а не находится в состоянии сохранения. Также перед продолжением, необходимо удалить снэпшоты (snapshots), которые ассоциируются с виртуальной машиной, если они используются в VirtualBox. Это поможет определить, что модифицируется корректный виртуальный диск, и что все будет правильно работать после модификации.
Для настройки расширения диска виртуальной машины в VirtualBox, надо войти в меню «Файл» и выбрать «Менеджер виртуальных носителей», как показано на скриншоте ниже.
В «Менеджере виртуальных носителей» можно увидеть все виртуальные диски существующих виртуальных машин. В данном примере их три. Изменение размера виртуального диска будет выполняться для OEL-fdisk.vdi, у которой размер диска 10 Гб. Выбирается OEL-fdisk.vdi и по нажатию на «Свойства» можно получить доступ к дополнительной информации и опциям, среди которых есть и изменение размера диска.
Размер диска увеличивается на 2 Гб в пункте «Размер», то есть был 10 Гб и теперь назначается 12 Гб.
3. Расширение корневого раздела (/) гостевой операционной системы внутри виртуальной машины.
Теперь необходимо запустить виртуальную машину на Oracle Linux и распределить появившееся дисковое пространство. Для этого можно использовать утилиту fdisk и проверить размер раздела диска /dev/sda, где находится корневой раздел (/).
Видно, что размер диска изменился с 10 на 12 Гб. Теперь надо сделать это новое пространство видимым для системы и нужного раздела. Запускается утилита fdisk для удаления и пересоздания LVM, данные пользователей останутся без изменений.
Выбирается ключ «m» для получения списка команд. Из списка выбирается ключ «p» для вывода данных таблицы разделов (партицирования).
Удаляется второй раздел ключом «d», т.к. основной раздел по умолчанию находится во втором разделе:
Создается новый основной раздел ключом «n» и начальные и конечные значения секторов оставляются по умолчанию:
После создания нового раздела проверяются текущие значения таблицы разделов (партицирования):
Меняется системный идентификатор для созданного раздела с помощью ключа «t» и шестнадцатеричного кода 8e, который обозначает Linux LVM. Таким образом, тип раздела сменится с Linux на Linux LVM.
Все изменения на диск записываются ключом «w».
Новые изменения разделов вступят в силу после следующей перезагрузки операционной системы. В связи с этим перезагружается операционная система.
После перезагрузки ОС проверяются настройки физического раздела диска.
и изменяется размер физического диска:
Проверяются размер и другие настройки логического размера диска.
Далее расширяется логический диск с помощью команды lvextend:
Ошибка выше возникает из-за того, что в этой логической группе уже есть логический том, который занимает место и не дает расшириться на 10 Гб. В данном случае можно распределить логическому тому все свободное дисковое пространство, используя приведенную ниже команду:
Проверяются настройки логического размера диска после его расширения:
Применяются изменения для логического раздела диска.
Проверяются размеры разделов из чего видно, что корневой раздел (/) (в данном случае /dev/mapper/ol-root) расширился с 8 Гб на 10 Гб и свободно стало 2.4 Гб вместо 350 Мб.
На этом завершается процесс увеличения размера корневого диска гостевой операционной системы Oracle Enterprise Linux, работающей в VirtualBox.
Источник
VirtualBox. Виртуальные диски. Их типы. Расширение виртуального носителя.
О проблеме
Во время работы с VBox так вышло, что однажды мне не хватило места на виртуальном диске. Почитав гайды в интернете, нашёл как увеличить размер диска. Только ничего не получилось. Оказалось, что при создании диска, был выбран фиксированный размер дискового пространства.
Задачи
- Разобраться с типами дисков
- Расширить виртуальный диск с фиксированным объёмом
- Завершить расширение диска в гостевой ОС
- Не потерять данные на расширяемом виртуальном диске
1. О типах виртуальных носителей
Выдержка из документации, приведена ниже. Ссылка на доку. Искать часть 5.2. Disk Image Files (VDI, VMDK, VHD, HDD)
Файл образа диска виртуальной машины находится на хостиг-системе и воспринимается гостевой системой, как жёсткий диск определённой геометрии. Когда гостевая ОС читает с диска или записывает на него, VBox перенаправляет запрос в файл образа.
Как и физический диск, виртуальный носитель имеет размер и ёмкость, которые необходимо указать при создании диска. Только в отличие от физического носителя его можно расширять.
VBox поддерживает типы виртуальных носителей:
- VDI. Собственный тип, формат контейнера жёсткого диска от VBox
- VMDK. Популярный открытый формат контейнера, используется многими другими продуктами виртуализации
- VHD. Тип виртуального носителя, который использует Microsoft
- HDD. Также поддерживаются файлы изображений Parallels версии 2
Варианты создания диска внезависимости от выбранного типа виртуального носителя:
- Фиксированный размер. Если создаём образ с фиксированным размером, то на хостинг-системе будет создан файл образа примерно такого же размера, как и емкость виртуального диска. Таким образом, для диска размером 10 ГБ у нас будет файл размером 10 ГБ
- Макимальный объём диска, расширить нельзя.
- Динамический размер. Изначально размер диска будет очень маленьким. Объём носителя будет увеличиваться каждый раз при записи на диск до тех пор, пока не достигнет максимальной ёмкости, выбранной при его создании
- Максимальный объём диска можно увеличить.
2. Решение проблемы
Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант — динамически расширяемый.
- Запустить VirtualBox.
- Открыть менеджер виртуальных дисков (сочетанием клавиш Ctrl + D)
- Во вкладке Жесткий диск, выбрать из списка тот, который расширяем
- Ниже, во вкладке Атрибуты, увеличиваем объём диска с помощью бегунка
- Так же можно увеличить объём диска, вручную прописав его размер в окошке справа от бегунка
- Подтверждаем
- После короткого ожидания, размер диска увеличен
- Далее необходимо запустить гостевую ОС и расширить диск уже там
Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант — фиксированный.
- Открыть менеджер виртуальных носителей
- Выбрать диск
- Сверху, кнопки с вариантами действий над диском
- «Копировать»
- В открывшемся окне необходимо открыть «Экспертный режим»
- В правой части окна «Хранение на жёстком диске»/»Storage on physical hard disk», нужно выбрать Динамически расширяемый вариант создания диска
- Подтвердить копирование
- Займет какое-то время
- В менеджере виртуальных носителей появится копия диска, только уже тип диска будет динамический.
- Выбрать диск и расширить его
- После расширения, копию расширенного диска необходимо примонтировать в виртуальной машине, вместо старого
3. Расширение дискового пространства в гостевой системе
Гостевая ОС, Windows
- Запустить гостевую ОС
- Открыть управление дисками.
- для Win7 — правым кликом по иконке Мой компьютер — Управление — Управление дисками
- для Win10 — правым кликом по иконке Windows/Пуск — Управление дисками
- Так же правым кликом выбрать диск, который необходимо расширить
- В контекстном меню, «Расширить том. «
- Готово
Гостевая ОС, думаю любой дистрибутив GNU/Linux
Я расширял в Debian-Arch подобных
- Загрузиться в live режиме
- Запустить GParted, если его нет, то:
sudo apt install gparted
sudo pacman -S gparted - Неиспользуемый раздел будет как-бы вне основного блока размеченного пространства
- Для расширения необходимо
- Выбрать раздел, у меня /dev/sda2
- Правым кликом — Расширить..
- Расширяем, подтверждаем. Сверху, где графическое отображение объёма диска, можно расширить раздел курсором
- Теперь появилась возможность расширить основной раздел, у меня /dev/sda5
- Расширяем так же, как и /dev/sda2
- Затем подтверждаем все действия, зелёная галочка сверху.
- Раздел расширен, перезагрузка
Источник
увеличение размера VDI диска VirtualBox
есть VDI диск размером 10Gb. нужно увеличить его размер до 40Gb.
выполняю следующее: 1)останавливаю виртуалку, 2)VBoxManage modifyhd home.vdi —resize 40000, 3)VBoxManage showhdinfo home.vdi
в ответ получаю: Logical size: 40000 MBytes
запускаю виртуалку. в ней выполняю «df -h», и вижу такое: /dev/sdb1 10G 3,3G 6,3G 35% /mnt
т.е. размер остался прежним.
что я делаю не так?
Нужно не только увеличить образ жёсткого диска, но ещё и разделы в нём, а потом — файловые системы. Т.е., ещё необходимо поработать с гостевой системой fdisk’ом.
скажите, а возможно сохранить данные на разделе при использования fdisk`а? т.е. не затрет ли fdisk уже имеющиеся данные?
скажите, а возможно сохранить данные на разделе при использования fdisk`а? т.е. не затрет ли fdisk уже имеющиеся данные?
Запусти gparted, и измени разделы.
конкретно fdisk’ом ты только подвинешь границу раздела, а сохранность данных зависит от ФС-специализированной утилиты. Обычно, всё остаётся на своих местах.
Да, тебе правильно подсказали, что чтобы не заморачиваться, можно воспользоваться gparted как средство всё-в-одном-флаконе.
есть только терминальный доступ. gparted, насколько я помню, требует гуя?
fdsik — утилита для редактирования таблицы разделов и только.
Если у вас один раздел на диске, который нужно увеличить или раздел находится в конце диска и за ним есть свободное пространство то тогда вам с помощью fdisk нужно удалить запись об этом разделе, предварительно запомнив границы раздела, так же лучше сохранить где-нибудь текущую таблица разделов (0 сектор), затем создать новую запись для этого раздела в таблице разделов с помощью fdisk, указав значение начальной границы то, которое и было, а в качестве конечного значения указать большее значение или значение, соответствующее границе диска. Затем нужно увеличить файловую систему на разделе.
В случае же, если у вас несколько разделов на диске и увеличить нужно раздел, за которым находится другой раздел, тогда вам придётся удалить другой раздел, с помощью dd передвинуть данные второго раздела или утилитами для работы с файловой системой, удалить раздел, который нужно увеличить, создать новую запись для него с указанием новых границ, увеличить размер файловой системы на нём, создать запись для другого удалённого раздела, при чём попав на границы файловой системы.
Источник