Я прочитал в Руководстве администратора XenServer в разделе 4.1.6.2, что вы можете сопоставить необработанные LUN-ы с VDI, если вы используете NetApp или EqualLogic SAN. Можно ли сделать то же самое с программными сетями хранения данных iSCSI (т. Е. Использовать сеть хранения данных на базе Nexenta / ZFS в качестве цели iSCSI)? Я знаю, что могу настроить iSCSI SR и разместить там VDI, но я бы хотел избежать этого, поскольку в противном случае мне пришлось бы иметь дело с накладными расходами LVM, к тому же это затруднило бы клонирование. Я бы занимался созданием снимков и клонированием из SAN. Таким образом, я просто хочу использовать сопоставление один LUN-на-VDI, без привлечения LVM внутри хоста XenServer.
Я не против настройки этого через CLI, если это необходимо. Я бы предпочел что-то надежное, которое будет сохраняться при перезагрузках хоста XenServer, но если мне нужно написать сценарий, который будет инициализировать сеансы iSCSI до запуска виртуальных машин и загрузки VDI, я в порядке.
Догадаться. Существует недокументированный драйвер SR "iscsi", который создает SR LUN-per-VDI (я обнаружил это, просматривая каталог / opt / xensource / sm - см. Файл ISCSISR.py). Вы можете настроить это только через командную строку, включая создание VBD и прикрепление его к виртуальным машинам. VBD и VDI даже не отображаются в XenCenter.
Вот пример команды для его настройки:
xe sr-create name-label=san type=iscsi device-config:target=<IP address of target> device-config:targetIQN=<IQN of target> shared=true
Это автоматически создаст VDI для каждого iSCSI LUN. Если вы добавите новый iSCSI LUN в SAN, XenServer добавит для него новый VDI после выполнения следующей команды:
xe sr-scan uuid=<UUID of SR>
Кроме того, если вы в конечном итоге измените размер LUN, XenServer не подхватит это автоматически, поэтому вам придется выполнить следующее:
xe vdi-forget uuid=<UUID of VDI that you resized>
iscsiadm -m node -R
xe sr-scan uuid=<UUID of SR>
А чтобы создать VBD и подключить его к виртуальной машине:
xe vbd-create vm-uuid=<UUID of VM> device=<VBD device #, e.g. 0> vdi-uuid=<VDI of UUID>