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

How to mount a virtual hard disk?

Have you searched Google? It abounds with guides on mounting VMDK, VDI, VHD, and raw disk image files on Ubuntu.

4 Answers 4

Linux and other Unix-like hosts can mount images created with the raw format type using a loopback device. From a root login (or using sudo), mount a loopback with an offset of 32,256.

mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint 

For other types of qemu images, you can use qemu-nbd

modprobe nbd max_part=16 qemu-nbd -c /dev/nbd0 image.qcow2 partprobe /dev/nbd0 mount /dev/nbd0p1 /mnt/image 

Plus, usually, you can convert image from one format to another.

raw - (default) the raw format is a plain binary image of the disc image, and is very portable. On filesystems that support sparse files, images in this format only use the space actually used by the data recorded in them. cloop - Compressed Loop format, mainly used for reading Knoppix and similar live CD image formats cow - copy-on-write format, supported for historical reasons only and not available to QEMU on Windows qcow - the old QEMU copy-on-write format, supported for historical reasons and superseded by qcow2 qcow2 - QEMU copy-on-write format with a range of special features, including the ability to take multiple snapshots, smaller images on filesystems that don't support sparse files, optional AES encryption, and optional zlib compression vmdk - VMware 3 & 4, or 6 image format, for exchanging images with that product vdi - VirtualBox 1.1 compatible image format, for exchanging images with VirtualBox. 

I found this solution for (VirtualBox) .VDI when I searched, on this website:

modprobe nbd max_part=16 qemu-nbd -c /dev/nbd0 /path/to/some.vdi mount -o loop /dev/nbd0p1 /mnt # do stuff umount /mnt qemu-nbd -d /dev/nbd0 rmmod nbd 

The same as «Qemu’s way» commands. No borders!

Источник

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

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

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

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

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

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

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

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

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

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

  1. На панели Диски в разделе Диски данных выберите Подключение существующих дисков.
  2. Выберите раскрывающееся меню имя диска и выберите диск из списка доступных управляемых дисков.
  3. Выберите Сохранить , чтобы подключить существующий управляемый диск и обновить конфигурацию виртуальной машины:

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

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

Поиск диска

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

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd" 

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

sda 0:0:0:0 30G ├─sda1 29.9G / ├─sda14 4M └─sda15 106M /boot/efi sdb 1:0:1:0 14G └─sdb1 14G /mnt sdc 3:0:0:0 4G 

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

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

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

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

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

sda 0:0:0:0 30G ├─sda1 29.9G / ├─sda14 4M └─sda15 106M /boot/efi sdb 1:0:1:0 14G └─sdb1 14G /mnt sdc 3:0:0:0 4G sdd 3:0:0:1 16G sde 3:0:0:2 32G 

Из выходных данных 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 .

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100% sudo mkfs.xfs /dev/sdc1 sudo partprobe /dev/sdc1 

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

Читайте также:  Cat head tail linux

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

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

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

sudo mount /dev/sdc1 /datadrive 

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

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

/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a" /dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u" /dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01" /dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u" /dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk" 

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

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

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2 

Завершив редактирование файла, сохраните и закройте редактор.

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

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

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

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

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd" 

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

sda 0:0:0:0 30G ├─sda1 29.9G / ├─sda14 4M └─sda15 106M /boot/efi sdb 1:0:1:0 14G └─sdb1 14G /mnt sdc 3:0:0:0 4G └─sdc1 4G /datadrive 

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

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

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

Читайте также:  Установочные пакеты linux mint

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

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

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2 
sudo apt-get install util-linux sudo fstrim /datadrive 
sudo yum install util-linux sudo fstrim /datadrive 
sudo zypper install util-linux sudo fstrim /datadrive 

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

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

Вы можете также подключить диск данных с помощью Azure CLI.

Источник

Добавление в Linux второго диска Virtual Box

И так, представим картину, у нас есть сервер на unix системе в VirtualBox и мы например не хотим забивать корень системы каким нибудь ПО или базой, что делать? Будем добавлять второй диск в систему.

И так, что мы сейчас имеем? вводим команду и смотрим её результат

мы имеем диск sda объемом 8Гб разделенный на 2 части.

sda1 — тут находится все необходимое для загрузки ОС

sda2 — а тут лежат уже все остальные файлы, корень, домашние директории и т.д

И так, добавляем диск. Для этого выключаем нашу виртуальную машину и заходим в её настройки VirtualBox

Выбираем нужный размер диска и создаем

В итоге у нас получится как то так.

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

Появился диск sdb объемом 8Gb , теперь давайте его введем в эксплуатацию, для этого нам поможет утилита pvcreate

Готово, диск создан, осталось еще чуть чуть.

Проверяем, вводим команду, которая покажет сколько диском она видит.

В данном случае sda2 , на котором сама ОС и sdb , который только что добавлен нами.

Теперь нужно создать для этого диска группу, для этого используем команду vgcreate

Команда vgs показывает какие volume группы в нашей ОС есть.

После создания группы нужно создать Logic Volume и уже ему назначить весь объем диска, для этого нужна команда lvcreate -n -l+100%FREE

Команда lvs покажит какие Logic Volume в нашей ОС уже есть и покажет их объем.

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

Для создания файловой системы я буду использовать команду mkfs.xfs

команда blkid покажет наши UUID’s и в какой файловой системе они у нас сейчас.

Видим что наш новый диск находится в группе vg00 , а в эту группу входит Logic Volume lv00 и имеет файловую систему xfs

Осталось только добавить UUID в файл fstab и замапить диск к папке.

На cкрине выше берем UUID /dev/mapper/vg00-lv00 и через echo добавляем его в файл fstab ( ОСТОРОЖНО, У ВАС БУДЕТ ДРУГОЙ UUID )

echo UUID=ваш_uuid /новая/папка xfs defaults 0 0 >> /etc/fstab

Источник

Оцените статью
Adblock
detector