Download PDF
Download page Создание и подключение файла образа диска в хостовой ОС.
Создание и подключение файла образа диска в хостовой ОС
В представленном примере описаны процессы создания файла образа диска в формате QCow2 и подключения его в хостовой операционной системе.
На подключенный образ диска можно скопировать, например, файлы локального репозитория Astra Linux. Подготовленный образ диска затем можно подключить к гостевой машине для установки оперативного обновления без подключения интернет-репозитория Astra Linux.
Для того чтобы создать файл образа диска, необходимо выполнить команду:
Пример
Пример вывода после выполнения команды:
Formatting 'repo_disk.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=25769803776 lazy_refcounts=off refcount_bits=16
Чтобы подключить файл образа диска, необходимо выполнить последовательность действий, описанную ниже.
Загрузить драйвер Network Block Device (NBD):
sudo modprobe nbdПодключить образ диска в качестве блочного устройства:
sudo qemu-nbd -c /dev/nbd0 <наименование_диска>.qcow2где/dev/nbd0
– свободное устройство NBD.Пример
sudo qemu-nbd -c /dev/nbd0 repo_disk.qcow2Появление сообщения об ошибке вида:
... Failed to set NBD socket ...
CODEозначает, что указанное устройство NBD занято. Необходимо выполнить подключение к другому блочному устройству (
nbd1, nbd2
и т.д.).Появление сообщения об ошибке вида:
Failed to open /dev/nbd0: No such file or directory...
CODEозначает, что драйвер NBD не был загружен.
Для того чтобы разместить файлы локального репозитория Astra Linux на подключенном образе диска, необходимо выполнить последовательность действий, описанную ниже.
Просмотреть разделы на блочном устройстве:
sudo fdisk -l /dev/nbd0Пример вывода после выполнения команды:Диск /dev/nbd0: 24 GiB, 25769803776 байт, 50331648 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
CODE- Создать раздел на диске (один, первичный, размером равный объему всего диска). Для этого:
запустить инструмент командной строки
fdisk
в интерактивном режиме:sudo fdisk /dev/nbd0при появлении приглашения для ввода вида:
Команда (m для справки):
CODEввести "n" (подготовить конфигурацию нового раздела) и нажать клавишу <Enter>. Значения всех запрашиваемых параметров оставить без изменений (сразу нажимать клавишу <Enter>).
Пример вывода после завершения настройки параметров раздела:Создан новый раздел 1 с типом 'Linux' и размером 24 GiB.
CODEпри появлении приглашения для ввода вида:
Команда (m для справки):
CODEввести "w" (записать на блочное устройство конфигурацию нового раздела) и нажать клавишу <Enter>.
Пример вывода после завершения настройки параметров раздела:
Таблица разделов была изменена. Вызывается ioctl() для перечитывания таблицы разделов. Синхронизируются диски.
CODEПосле этого интерактивный режим работы инструмента командной строки
fdisk
завершится.
Просмотреть разделы на блочном устройстве:
sudo fdisk -l /dev/nbd0Пример вывода после выполнения команды:... Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/nbd0p1 2048 50331647 50329600 24G 83 Linux
CODEСоздать файловую систему
ext4
в разделеnbd0p1
:sudo mkfs.ext4 /dev/nbd0p1Пример вывода после успешного выполнения команды:Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
CODEСоздать каталог, например,
/tmp/repo
, для монтирования созданного раздела:mkdir /tmp/repoПримонтировать раздел:
sudo mount /dev/nbd0p1 /tmp/repoСкопировать в каталог
/tmp/repo
файлы локального репозитория Astra Linux, например, базовый репозиторий оперативного обновления 1.7.2.UU.1 (БЮЛЛЕТЕНЬ № 2022-1011SE17MD). Для этого необходимо в каталоге с tar-архивом обновленного базового репозитория выполнить команду:sudo tar zxvf base-1.7.2.11-04.10.2022_16.55.tgz -C /tmp/repo
После завершения копирования, необходимо выполнить последовательность действий, описанную ниже.
Отмонтировать раздел:
sudo umount /tmp/repoОтключить образ диска:
sudo qemu-nbd -d /dev/nbd0Пример вывода после успешного выполнения команды:/dev/nbd0 disconnected
CODEВыгрузить драйвер Network Block Device:
sudo modprobe -r nbd
Далее файл образа можно подключить в качестве дополнительного диска к гостевой машине.
Файл образа диска предварительно должен быть скопирован в пул хранилища (по умолчанию /var/lib/libvirt/images
).