Подключить виртуальный диск linux

Обновлено: 05.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 подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.

В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.

Что такое монтирование?

Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.

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

Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.

Монтирование дисков в Linux

Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:

$ mount файл_устройства папка_назначения

Или расширенный вариант:

$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения

Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра - это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.

Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:

  • -V - вывести версию утилиты;
  • -h - вывести справку;
  • -v - подробный режим;
  • -a, --all - примонтировать все устройства, описанные в fstab;
  • -F, --fork - создавать отдельный экземпляр mount для каждого отдельного раздела;
  • -f, --fake - не выполнять никаких действий, а только посмотреть что собирается делать утилита;
  • -n, --no-mtab - не записывать данные о монтировании в /etc/mtab;
  • -l, --show-labels - добавить метку диска к точке монтирования;
  • -c - использовать только абсолютные пути;
  • -r, --read-only - монтировать раздел только для чтения;
  • -w, --rw - монтировать для чтения и записи;
  • -L, --label - монтировать раздел по метке;
  • -U, --uuid - монтировать раздел по UUID;
  • -T, --fstab - использовать альтернативный fstab;
  • -B, --bind - монтировать локальную папку;
  • -R, --rbind - перемонтировать локальную папку.

Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.

Монтирование разделов с помощью mount

Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:

sudo mount /dev/sdb6 /mnt/


В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:

sudo mount -v /dev/sdb6 /mnt/


Если нужно, вы можете указать файловую систему с помощью опции -t:

sudo mount -v -t ext4 /dev/sdb6 /mnt

Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:

sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt

Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:

sudo mount -t ext4 -o noexec /dev/sdb6 /mnt

Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.

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


Посмотреть uuid для ваших разделов можно с помощью команды:


Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:

sudo mount --label="home" /mnt/


Вы можете примонтировать одну папку в другую, для этого используйте опцию --bind

sudo mount --bind /mnt/ /media/

Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:

Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:


Размонтирование устройств в Linux

Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:

sudo umount /mnt

Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.


Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:

lsof -w /mnt
$ lsof -w /dev/sdb6


Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:

sudo umount -l /mnt

Выводы

В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!

Как подключить дополнительный диск в Linux (создание таблицы разделов, разметка, форматирование и монтирование)

Рассмотрим пример добавления дополнительного диска в Linux при условии, что нужно создать на новом диске таблицу разделов, затем создать раздел диска, отформатировать этот диск и настроить автоматическое монтирование нового раздела при загрузке системы. Для операций с диском будем использовать утилиту parted.

В нашем примере к виртуальной машине (на базе гипервизора Microsoft Hyper-V) с ОС Ubuntu Linux 14.04 LTS подключается дополнительный диск. Для виртуальной машины Hyper-V второго поколения (Gen2) это можно сделать «на горячую», то есть не останавливая гостевую ОС и не выключая виртуальную машину.

Разметка и форматирование диска

После того, как диск добавлен запросим список всех доступных системе дисков командой:


Как видно, система обнаружила новый диск /dev/sdd, и этот диск не имеет разметки.

Войдём в режим работы с утилитой parted:

Приглашение командной строки сменит вид на «(parted)». Сменим текущий диск (по умолчанию текущим диском устанавливается первый найденный в системе, например /dev/sda) на тот, с которым мы собираемся выполнять операции разметки:


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

На текущем выбранном диске создадим новую пустую таблицу разделов с типом gpt.


Создадим первичный раздел, который будет занимать весь объем диска:


Как видим, создан раздел без файловой системы. Теперь нам нужно отформатировать этот раздел с нужной нам файловой системой, например ext4. Как я понял, утилита parted не умеет форматировать разделы в ext4, поэтому завершим работу с утилитой и выполним форматирование другими средствами.

Посмотрим текущее положение вещей, и увидим что имеется раздел /dev/sdd1 без файловой системы:


Форматирование только что созданного раздела в интересующую нас файловую систему ext4 мы можем выполнить с помощью утилиты mkfs.ext4 командой:


Проверим результат, например так:


Монтирование разделов диска

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

Создаём каталог, в который будем монтировать новый раздел и сразу монтируем его:

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

Выясним идентификатор раздела (UUID), чтобы использовать его для настройки автоматического монтирования:


Чтобы монтирование диска происходило автоматически при каждой загрузке системы внесём изменения в системный конфигурационный файл fstab.

Добавим в конец файла строку монтирования нашего раздела:

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

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

Виртуальный жесткий диск в Linux

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

В этой статье мы продемонстрируем, как создать том виртуального жесткого диска, используя файл в Linux. В этом руководстве мы создадим том VHD размером 1 ГБ и отформатируем его в файловой системе EXT4.

Создайте новый образ для хранения тома виртуального диска

  • if=/dev/zero: входной файл для предоставления символьного потока для инициализации хранилища данных
  • of=VHD.img: файл образа, который будет создан как том хранения
  • bs=1M: чтение и запись до 1M одновременно
  • count=1200: копировать только 1200 МБ (1 ГБ) входных блоков


Далее нам нужно файл образа VHD отформатировать в тип файловой системы EXT4 с помощью утилиты mkfs. Когда будет предложено, что /media/VHD.img не является специальным блочным устройством, ответьте y, как показано на скриншоте.

Форматирование образа VHD

Чтобы получить доступ к тому VHD, нам нужно подключиться к каталогу (точке монтирования). Для создания точки монтирования и чтобы смонтировать том VHD, выполните следующие команды. Для задания параметров для монтажа используйте -o. Опция loop здесь указывает привязку к /dev/ директории.

Примечание. Файловая система VHD будет оставаться подключенной только до следующей перезагрузки. Чтобы подключать ее при загрузке системы, добавьте эту запись в файл /etc/fstab.

Теперь можно проверить вновь созданную файловую систему VHD с точкой монтирования, используя команду df.

Отображение разделов диска вLinux

Удаление тома виртуального диска

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

Вот и все! В этом руководстве мы продемонстрировали, как создать том виртуального жесткого диска, используя файл в Linux. Если у вас есть какие-либо мысли или вопросы, свяжитесь с нами через форму комментариев ниже.

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