Хранилище образов iSCSI-Libvirt#

Хранилище iSCSI-Libvirt является хранилищем образов, предназначенное для регистрации уже существующих томов iSCSI, доступных узлам гипервизора.

Настройка фронтальной машины#

Дополнительная настройка не требуется.

Настройка узла виртуализации#

Дополнительная настройка не требуется.

Аутентификация iSCSI CHAP#

Для использования аутентификации по протоколу CHAP необходимо создать секретный ключ libvirt на всех узлах.

При использовании аутентификации CHAP необходимо учесть следующее:

  • поле incominguser в файле аутентификации iSCSI должно соответствовать параметру хранилища ISCSI_USER;

  • поле <target> в XML-файле секретного ключа должно содержать параметр ISCSI_USAGE;

  • действия должны быть выполнены на всех узлах.

Для настройки аутентификации CHAP необходимо:

  1. Создать файл аутентификации iSCSI-источника, например, следующего содержания:

<target iqn.2013-07.com.example:iscsi-pool>
    backing-store /home/tgtd/iscsi-pool/disk1
    backing-store /home/tgtd/iscsi-pool/disk2
    incominguser myname mysecret

</target>
  1. Создать файл iscsi-secret.xml следующего содержания:

<secret ephemeral=’no’ private=’yes’>
    <description>Passphrase for the iSCSI example.com server</description>
    <usage type=’iscsi’>
        <target>libvirtiscsi</target>
    </usage>
</secret>
  1. Зарегистрировать созданный XML-файл в libvirt:

  1. выполнить команду:

sudo virsh secret-define iscsi-secret.xml

Пример вывода после выполнения команды:

Secret c4dbe20b-b1a3-4ac1-b6e6-2ac97852ebb6 created
  1. выполнить команду:

sudo virsh secret-list

Пример вывода после выполнения команды:

UUID Usage
----------------------------------------------------------
c4dbe20b-b1a3-4ac1-b6e6-2ac97852ebb6 iscsi libvirtiscsi
  1. выполнить команды:

MYSECRET=’printf %s "mysecret" | base64’
sudo virsh secret-set-value c4dbe20b-b1a3-4ac1-b6e6-2ac97852ebb6 $MYSECRET

Пример вывода после выполнения команды:

Secret value set

Общие настройки ПВ#

После установки хранилища настройка ПВ выполняется в два этапа:

  • регистрация системного хранилища;

  • регистрация хранилища образов.

Регистрация системного хранилища#

Хранилище iSCSI-Libvirt может работать с системным хранилищем, построенным на базе файловой технологии хранения (NAS/NFS или локальная файловая система). При этом могут применяться следующие методы передачи данных:

  • метод совместно используемой передачи (shared);

  • метод передачи ssh.

Файловая технология хранения используется только для энергозависимых дисков и context-устройств.

Регистрация хранилища образов#

Хранилища образов должны создаваться со значениями, приведенными в таблице:

Параметр

Значение

NAME

Имя хранилища

TYPE

IMAGE_DS

DS_MAD

iscsi

TM_MAD

iscsi

DISK_TYPE

iscsi

ISCSI_HOST

Узел iSCSI. Например, host или host:port

При необходимости использовать аутентификацию CHAP добавить к хранилищу параметры, приведенные в таблице:

Параметр

Значение

ISCSI_USAGE

Использование секретного ключа со строкой аутентификации CHAP

ISCSI_USER

Аутентификация iSCSI CHAP пользователя

Примечание

Пример

Создание хранилища с использованием конфигурационного файла: 1. Создать файл imageds.txt со следующим содержанием:

NAME = iscsi
DISK_TYPE = "ISCSI"
DS_MAD = "iscsi"
TM_MAD = "iscsi"
ISCSI_HOST = "the_iscsi_host"
ISCSI_USER = "the_iscsi_user"
ISCSI_USAGE = "the_iscsi_usage"
  1. Выполнить команду:

onedatastore create imageds.txt

Пример вывода после выполнения команды:

ID: 101

Предупреждение

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

Использование хранилища#

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

Примечание

Пример

Регистрация в хранилище 101 образа, в который добавляется iscsi-target c идентификатором iqn.1992-01.com.example:storage:diskarrays-sn-a8675309: 1. Создать image.tmpl со следующим содержанием:

NAME = iscsi_device
PATH = iqn.1992-01.com.example:storage:diskarrays-sn-a8675309
PERSISTENT = YES
  1. Выполнить команду:

oneimage create image.tmpl -d 101

Предупреждение

Данное хранилище является контейнером для существующих устройств, и образы используют его память. Все зарегистрированные устройства имеют размер 0, а хранилище устройств в целом занимает не более 1 МБ доступного пространства.

Примечание

В шаблоне образа можно переопределить значения параметров ISCSI_HOST, ISCSI_USER, ISCSI_USAGE и ISCSI_IQN. Изменения будут применены для новых виртуальных машин.

Пример

Шаблон образа, в который добавляется LUN с идентификатором 0, принадлежащего iscsi-target c идентификатором iqn.2014.01.192.168.50.61:

test:7cd2cc1e:
NAME=iscsi_device_with_lun PATH=iqn.2014.01.192.168.50.61:test:7cd2cc1e/0
ISCSI_HOST=192.168.50.61
PERSISTENT=YES