Подключение виртуального диска ubuntu

Обновлено: 06.07.2024

Как добавить дополнительное дисковое хранилище в гостевую ОС на виртуальную машину KVM с командой virsh в операционной системе Linux?

Вы можете легко добавить дополнительные жесткие диски в KVM домене/виртуальной машине, чтобы получить увеличенное пространство для хранения данных гостя. В этом учебном пособии показано, как добавить дополнительное дисковое хранилище в виртуальную машину KVM, используя опцию командной строки virsh в Linux.

Ниже приведены шаги по добавлению файлового хранилища (образа диска) в виртуальную машину с помощью команды virsh в Linux:

Шаг 1 – Создайте новый образ диска

Введите следующую команду на хосте KVM для создания нового образа диска под названием ubuntu-box1-vm-disk1-5G с размером 5G:

Или вы можете использовать команду dd для создания предварительно выделенного файла, для этого выполните:

Вы только что создали команду qemu-img или dd для создания нового необработанного образа диска размером 5 ГБ. Образ диска называется ubuntu-box1-vm-disk1-5G :

Примеры возможных выводов данных:

Некоторые замечания относительно формата qcow2

Шаг 2 – Прикрепите диск к виртуальной машине

Прежде чем присоединить диск к вашей виртуальной машине, узнайте имя текущего диска. Войдите в вашу виртуальную машину и введите следующую команду:

Примеры возможных выводов данных:

Таким образом, моя виртуальная машина имеет /dev/vda с размером 40 ГБ. Чтобы подключить вновь созданный образ ubuntu-box1-vm-disk1-5G , вы должны использовать /dev/vdb . Если у вас уже есть диск /dev/vdb , вам нужно изменить vdb на свободное устройство, например /dev vdc , и так далее. Чтобы прикрепить диск к виртуальной машине, под названием ubuntu-box1 используйте следующий синтаксис.

Примеры возможных выводов данных:

Будьте Осторожны : С помощью всего нескольких нажатий клавиш fdisk может уничтожить часть или весь ваш жесткий диск или рабочий раздел. Убедитесь, что вы используете правильные имена устройств с помощью команды fdisk.

Шаг 3 – Разбиение диска на виртуальной машине

Теперь у гостя с именем «ubuntu-box1» есть устройство на жестком диске, называемое /dev/vdb . Зайдите в вашу виртуальную машину и введите следующую команду для проверки того же самого:

Примеры возможных выводов данных:

Затем запустите fdisk для нового устройства:

Введите n для нового раздела. Введите p для основного раздела. Выберите номер доступного раздела 1. Введите первый цилиндр по умолчанию, нажав Enter. Выбрать весь диск можно, нажав Enter. Наконец, введите p для проверки нового раздела. Введите w, чтобы записать изменения и выйти. Пример сеанса из команды fdisk.

Разбиение диска на виртуальной машине

Рисунок 01: Разделение диска с помощью команды fdisk на виртуальной машине.

Чтобы отформатировать новый раздел с файловой системой ext4, введите:

Примеры возможных выводов данных:

Форматирование /dev/vdb1 как ext4

Рисунок 02: Форматирование /dev/vdb1 как ext4

Наконец, вам нужно создать монтируемую директорию:

И смонтируйте диск для гостя:

Отредактируйте файл /etc/fstab

И обновите его следующим образом, чтобы /dev/vdb1 постоянно монтировались после перезагрузки:

Сохраните и закройте файл. Теперь у вас есть гостевая виртуальная машина, которая имеет дополнительное виртуализированное файловое хранилище в системе на базе KVM Linux.

В этой статье показано, как подключить новый и существующий диски к виртуальной машине Linux на портале Azure. Вы также можете подключить диск данных к виртуальной машине Windows на портале Azure.

Прежде чем подключить диски к виртуальной машине, ознакомьтесь со следующими советами:

  • Размер виртуальной машины определяет, сколько дисков данных к ней можно подключить. Дополнительную информацию см. в статье Размеры виртуальных машин.
  • На самом деле диски, подключенные к виртуальным машинам, — это VHD-файлы, хранящиеся в Azure. Дополнительные сведения см. в статье Обзор компонента "Управляемые диски" Azure.
  • Подключив диск, необходимо подключиться к виртуальной машине Linux для подключения нового диска.

Поиск виртуальной машины

  1. Используйте портал Azure для поиска виртуальной машины. Найдите и щелкните Виртуальные машины.
  2. Выберите виртуальную машину из списка.
  3. На странице Виртуальные машины в разделе Параметры выберите Диски.

Подключение нового диска

На панели Диски в разделе Диски данных выберите Создать и подключить новый диск.

Введите имя управляемого диска. Проверьте параметры по умолчанию и при необходимости обновите значения параметров Тип хранилища, Размер (ГиБ) , Шифрование и Кэширование узла.

Проверьте параметров диска.

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

Подключение существующего диска

На панели Диски в разделе Диски данных выберите Подключить существующий диск.

Щелкните раскрывающееся меню Имя диска и выберите нужное имя из списка доступных управляемых дисков.

Щелкните Сохранить, чтобы подключить имеющийся управляемый диск и обновить конфигурацию виртуальной машины:

Подключение к виртуальной машине Linux для подключения нового диска

Чтобы разбить диск на разделы, отформатировать и подключить новый диск к виртуальной машине Linux, подключитесь к своей виртуальной машине по протоколу SSH. Дополнительные сведения см. в статье Как использовать SSH с Linux в Azure. В следующем примере выполняется подключение к виртуальной машине с общедоступным IP-адресом 10.123.123.25 и именем пользователя azureuser:

Поиск диска

После подключения к виртуальной машине необходимо найти диск. В этом примере для перечисления дисков используется lsblk .

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

В этом примере добавленный диск — sdc . Это LUN 0 размером 4 ГБ.

В качестве более сложного примера посмотрите, как отображаются несколько дисков данных в портале:

Снимок экрана с несколькими дисками, показанными в портале.

На рисунке видно, что имеется 3 диска данных: 4 ГБ в LUN 0, 16 ГБ в LUN 1 и 32 ГБ в LUN 2.

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

Из выходных данных lsblk видно, что диск 4 ГБ в LUN 0 — sdc , диск 16 ГБ в LUN 1 sdd , а диск 32 ГБ в LUN 2 — sde .

Разбиение нового диска на разделы

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

Служебную программу parted можно использовать для разделения диска данных на разделы и его форматирования.

Рекомендуется использовать самую актуальную версию parted , доступную для вашего дистрибутива. Если размер диска — 2 тебибайтов (ТиБ) или больше, необходимо использовать GPT-схему разбиения дисков на разделы. Если размер диска меньше 2 ТиБ, то можно использовать MBR- или GPT-схему разбиения дисков на разделы.

В следующем примере используется parted в /dev/sdc , где обычно находится первый диск данных на большинстве виртуальных машин. Замените sdc правильным параметром для своего диска. Мы также выполняем его форматирование в файловой системе XFS.

Используйте служебную программу partprobe , чтобы убедиться, что ядро распознает новый раздел и файловую систему. Невозможность использовать partprobe может привести к тому, что команды blkid или lslbk не будут немедленно возвращать UUID для новой файловой системы немедленно.

Подключение диска

Создайте каталог для подключения файловой системы, используя mkdir . В следующем примере создается каталог в /datadrive :

Используйте mount , чтобы затем подключить файловую систему. В следующем примере раздел /dev/sdc1 подключается к точке подключения /datadrive :

Чтобы обеспечить автоматическое повторное подключение диска после перезагрузки, его необходимо добавить в файл /etc/fstab. Также настоятельно рекомендуется для ссылки на диск использовать в файле /etc/fstab идентификатор UUID (глобальный уникальный идентификатор), а не просто имя устройства (например, /dev/sdc1). Если операционная система обнаруживает ошибку диска во время загрузки, использование UUID позволяет избежать подключения ошибочного диска в это расположение. Остальные диски с данными затем получают те же идентификаторы устройств. Чтобы найти UUID нового диска, используйте служебную программу blkid :

Результат должен быть аналогичным приведенному ниже:

Некорректное изменение файла /etc/fstab может привести к невозможности загрузить систему. Если у вас есть сомнения, см. инструкции по правильному изменению этого файла в документации дистрибутива. Также рекомендуется перед внесением изменений создать резервную копию файла /etc/fstab.

Затем откройте файл /etc/fstab в текстовом редакторе, как показано ниже:

В этом примере используйте значение UUID для устройства /dev/sdc1 , созданного на предыдущих шагах, и точку подключения /datadrive . Добавьте следующую строку в конец файла /etc/fstab :

Мы использовали редактор nano editor. Выполнив редактирование файла, используйте Ctrl+O , чтобы записать его, а затем Ctrl+X , чтобы выйти из редактора.

Если вы позднее удалите диск данных без редактирования файла fstab, виртуальная машина может не загрузиться. Большинство дистрибутивов поддерживает параметры fstab nofail и (или) nobootwait. Эти параметры позволяют системе загружаться, даже если диск не подключится во время загрузки. Дополнительные сведения об этих параметрах см. в документации дистрибутива.

Параметр nofail обеспечивает запуск виртуальной машины даже в том случае, если файловая система повреждена или отсутствует диск во время загрузки. Без этого параметра может возникнуть ситуация, описанная в записи блога Cannot SSH to Linux VM due to FSTAB errors (Не удается подключиться к виртуальной машине Linux по протоколу SSH из-за ошибок FSTAB).

Проверка диска

Теперь можно использовать lsblk снова, чтобы посмотреть диск и точку подключения.

Результат должен выглядеть следующим образом.

Вы видите, что sdc теперь подключен к /datadrive .

Поддержка операций TRIM и UNMAP для Linux в Azure

Некоторые ядра Linux поддерживают операции TRIM и UNMAP для отмены неиспользуемых блоков на диске. Эту функцию особенно удобно использовать в хранилище уровня "Стандартный", чтобы сообщать Azure о том, что удаленные страницы больше не действительны и могут быть удалены. Это позволяет сократить затраты, если вы создаете большие файлы, а затем удаляете их.

Существует два способа включить поддержку операций TRIM в виртуальной машине Linux. Как обычно, обратитесь к документации дистрибутива, чтобы выбрать рекомендуемый метод.

Используйте параметр подключения discard в /etc/fstab. Ниже приведен пример.

В некоторых случаях параметр discard может негативно влиять на производительность. Кроме того, вы можете вручную выполнить команду fstrim из командной строки или добавить ее в crontab для регулярного выполнения.

Ubuntu

RHEL или CentOS

Дальнейшие действия

Дополнительные сведения и инструкции по устранению неполадок с диском см. в разделе Устранение неполадок при изменении имени устройства виртуальной машины Linux.

VirtualBox — программный продукт виртуализации для операционных систем. Иногда бывают ситуации, когда без операционной системы Windows не обойтись. Можно попробовать использовать wine и запустить то приложение, которое нужно. Но не все из них работают или работают некорректно.

Возможности VirtualBox

Начиная с 4-ой версии Oracle xVM VirtualBox существует в единственной редакции, распространяемой под лицензией GNU GPL с открытыми исходными кодами.

Некоторые дополнительные функции выделены в отдельный пакет Oracle VM VirtualBox Extension Pack, среди которых:

RDP-сервер — позволяет подключаться к виртуальной системе удалённо с помощью любого RDP-совместимого клиента; возможность PXE-загрузки при использовании сетевой карты от Intel.

Пакет Oracle VM VirtualBox Extension Pack распространяется под лицензией PUEL, т.е. его можно использовать бесплатно для личных (некоммерческих) целей.

На данный момент VirtualBox включает в себя следующие возможности:

Нативная x86-виртуализация, не требующая наличия поддержки аппаратных техник Intel VT или AMD-V (которая, однако, может быть включена в настройках). Дружественный пользовательский интерфейс, в том числе и на русском языке (построенный с помощью Qt). Наличие Guest VM Additions для упрощения взаимодействия с хостовыми ОС. Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal). Поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы. Поддержка Общих папок для простого обмена файлами между хостовой и гостевой системами.

Установка VirtualBox

Из репозиториев ubuntu

Для установки необходимо в терминале набрать следующую команду либо нажать специальную кнопку:

Для продолжения операции у Вас будет запрошен пароль, введите Ваш пароль и ждите пока закончится загрузка и установка приложения.

Из репозиториев Oracle

Версию VirtualBox можно установить с официального репозитория Oracle. На нём находятся более новые версии.

Для добавления репозитория нужно воспользоваться терминалом.

Необходимо добавить официальный репозиторий VirtualBox в файл /etc/apt/sources.list . Для этого выполните команду:

Добавим и зарегистрируем в системе ключ репозитория с помощью команды в терминал:

Вы должны увидеть примерно следующий текст в Источниках приложений в „Аутентификации”:

Обновите список пакетов:

Устанавливаем пакет для модулей ядра таких как vboxdrv и vboxnetflt:

Для установки VirtualBox введите:

Если нужна более старая версия: замените virtualbox-6.0 на virtualbox-5.2 для установки версии VirtualBox 5.2

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

Для применения изменений необходимо завершить сеанс и повторить вход в систему, либо перезагрузиться.

Работа с VirtualBox

Процесс установки гостевой системы на платформе VirtualBox весьма прост и не требует от пользователя дополнительных усилий. При создании виртуальной машины необходимо выбрать:

определить количество выделяемой ей оперативной памяти; создать виртуальный диск (фиксированного размера или динамически расширяющийся по мере его заполнения в гостевой системе).

Дальнейший процесс установки происходит так же, как и в других платформах виртуализации. Более подробно установка гостевой системы описывается в данной статье.

Дополнения гостевой ОС

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

Для Windows

Просто выберите в меню гостевой операционной системы Устройства→Установить дополнение гостевой ОС. Спустя некоторое время в гостевой Windows должен появится диаллог запуска программы. Если этого не произошло - зайдите в CD-ROM и запустите ее вручную.

Во время установки могут появится предупреждения о несовместимости драйверов. Везде соглашайтесь с установкой. После того как программа установится - перегрузите гостевую ОС. После этого появится нормальное разрешение экрана и другие возможности.

Для Ubuntu

Используя диск Guest Additions

Прежде чем начать установку дополнений гостевой операционной системы, нужно выполнить несколько простых действий.

Используя пакетный менеджер

Рекомендуется что бы версия гостевых дополнений совпадала с версией virtualbox

Расшаривание директорий

Иногда хочется использовать файлы реальной машины из виртуальной. В этом нам поможет сервис «Общие папки». Он позволяет расшаривать директории между виртуальной и реальной ОС.

Чтобы пользоваться функцией «Общие папки», вы должны установить дополнения гостевой операционной системы.

Нажимаем правой кнопкой мыши по нужной виртуальной машине, выбираем Свойства → Общие папки .

Также, можно проделать тоже самое и из уже запущенной виртуальной машины.

А для остальных версий:

Для Windows

Кликнув правой клавишей мыши по значку «Мой компьютер», выбираем пункт «Подключить сетевой диск».

Затем выбирайте диск, который будет использоваться для расшаренной папки. В качестве пути к сетевому диску вам нужно указать следующее:

имя_папки - то самое имя, которые Вы дали расшаренной директории.

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

Для Ubuntu

В свойствах расшаренной директории в настройках virtualbox поставить опцию «Автоподключение» и в виртуальной ubuntu добавить пользователя в группу vboxsf командой

Общая папка будет монтироваться при загрузке гостевой ОС и иметь адрес /media/sf_имя

Работа с USB устройствами

Если вы хотите использовать USB устройства в гостевой системе, то делаем несколько простых шагов:

Перед включением поддержки USB обязательно отключите гостевую операционную систему

После того, как вы нажмете на устройство - VirtualBox без предупреждений заберет ресурс и отдаст его гостевой операционной системе. Так что будьте аккуратны с сохранением данных на устройстве, прежде чем отдать его гостевой ОС. Если вы выберите этот пункт еще раз - устройство также без предупреждений отключиться из гостевой cистемы.

Работа с USB 2.0 устройствами

Начиная с версии 4.0, для работы с USB 2.0 устройствами необходимо установить VirtualBox Extension Pack , который можно найти на официальной странице загрузки.

После загрузки, просто запустите его и он автоматически установится.

Убираем меню и строку состояния машины

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

Чтобы включить меню и строку состояния:

Создание RAW диска

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

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

Если таких разделов в вашей системе нет, их можно создать например с помощью утилиты GParted, поджав один или несколько существующих разделов.

Стоит отметить, что создание RAW диска недоступно через графический интерфейс. Придется запускать команды в консоли.

Первое, что надо сделать - определиться какой раздел или диск мы отдадим на растерзание виртуальным системам:

и в него пишем следующую строчку

Если доступ нужен любому пользователю, имеющему право запускать виртуальные машины, проще прописать доступ всей группе vboxusers:

Если вы хотите передать виртуальным системам несколько разделов, то повторите эту строчку для каждого из них, заменяя имя раздела (или диска).

Перегружаем систему и проверяем:

Теперь все готово к созданию диска. Вводим команду (без sudo):

Все, диск создан.

Теперь при создании виртуальной машины, вместо создания нового виртуального диска, выберите «Использовать существующий», справа от поля ввода нажмите кнопку «Выбрать образ» и укажите путь до созданного vmdk файла (в нашем случае /home/stc/.VirtualBox/HardDisks/sda.vmdk).

Стоит уточнить, что выделенные таким образом в виртуальный RAW диск разделы, будет рассматриваться гостевой системой как отдельные диски, поэтому основная система к нему обращаться не сможет (в каждом разделе будет вся структура диска, с MBR и своей разбивкой на разделы). Именно поэтому при создании таких разделов, не стоит их форматировать и монтировать к основной системе.

Собственно такой метод позволяет экспериментировать на виртуалке с любыми таблицами разделов. На хосте может быть GPT, а виртуалке на выш выбор MBR или тоже GPT (но своя). Важно! Если вы создаете «снимок» состояния системы, это значит, что все изменения в состоянии виртуального диска будут записываться не на диск, а в файл изменений, что снизит быстродействие вашей виртуальной машины. Каждый такой снимок на любом типе виртуального диска по определению будет замедлять операции записи и чтения пропорционально количеству уже существующих снимков.

Сохранение и восстановление RAW дисков

В отличие от обычных образов дисков, которые сохраняются и копируются как обычные файлы основной системы, RAW диск - это реальный раздел на диске, который основная система видит как неформатированный. Поэтому для его сохранения используем команду dd и архиватор, умеющий работать с потоками. Могут подойти bzip2 или 7-zip (7za).

Для создания образа диска надо ввести команду

Не забываем подставлять вместо sda6 имя своего раздела!

Степень сжатия особой роли играть не должна. В примерах у bzip2 стоит максимальное сжатие, а у 7za - слабое. Гораздо больше на качество сжатия будет влиять процедура предварительного удаления лишних данных с виртуального диска и заполнение свободного места определенным символом (обычно нулевым). Сделать это можно специализированными процедурами в соответствующей гостевой системе типа Disk Wiper (windows) или BleachBit (ubuntu).

Для восстановления раздела подойдет команда

Здесь стоит обратить внимание на пару тонкостей.

Во-первых, команда dd достаточно медленная и на копирование, например, 20 GiB диска может уйти около 4 часов. Примерно такое же время потребуется и на восстановление.

Во-вторых, восстанавливать образ можно и не в тот же раздел, что был источником. Для этого настоятельно рекомендуется записать точный размер диска, подглядев его, например, в дисковой утилите. В частности размер того же 20 GiB диска был 21 475 885 056 байт. При создании нового раздела для восстановления следует учитывать, что он должен быть как минимум не меньше оригинала. Лучше, если у вас получится создать раздел ровно такого же размера, как и оригинальный.

И еще: сохранять и восстанавливать образы стоит после того, как доступ к разделу будет предоставлен соответствующему пользователю или группе (см. выше).

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

Это может понадобиться, например, для установки дополнительной операционной системы пока вы работаете в основной или для обмена данными между виртуальной машиной и реальным миром. В этой статье мы разберемся как подключить физический диск VirtualBox.

Для этого вам надо знать файл этого жесткого диска в директории /dev операционной системы Linux. Вы можете посмотреть его с помощью утилиты Gparted:


В этом примере мы будем подключать к виртуальной машине NVMe накопитель с идентификатором /dev/nvme0p1. Чтобы создать на основе идентификатора диска его файл для VirtualBox выполните команду в терминале:

sudo VBoxManage internalcommands createrawvmdk -filename

/nvme0p1.vmdk -rawdisk /dev/nvme0p1


Файл для VirtualBox сохраняем в нашей домашней папке. Команду надо выполнять от имени суперпользователя. Чтобы иметь возможность использовать этот диск в VirtualBox нужно запустить виртуальную машину от имени суперпользователя:


Теперь можно выбрать этот диск при создании новой машины или подключить его к существующей машине в настройках. В Windows команда будет выглядеть аналогично, только к ней надо добавить расширение .exe и идентификатор диска будет другим. Его можно посмотреть с помощью утилиты Управление дисками, которую можно открыть из меню Управление значка Мой компьютер. Теперь вы знаете как выполняется подключение физического диска virtualbox.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: