В VMware vSphere вы можете использовать iSCSI диски в качестве общего дискового хранилища для ваших ESXi хостов. ESXi хост получает доступ к таким дискам по вашей локальной сети с помощью протокола TCP. В этой статье мы рассмотрим, как подключить iSCSI LUN с вашей СХД (или сервера) к хосту VMWare ESXi и создать на нам общее VMFS хранилище.
Предполагаем, что вы создали, настроили и опубликовали iSCSI таргет (диск) на вашей СХД (в Windows Server вы можете в качестве iSCSI таргет использовать виртуальный vhdx диск).
В данном примере мы используем отдельно стоящий хост с ESXi 6.7 (можно использовать и бесплатный ESXi Hypervisor). Это может быть физический хост или виртуальная машина (например, вот пример использования ESXi с помощью nested virtualization в Hyper-V). На хосте есть два сетевых интерфейса (один будет использоваться для управления, второй для трафика к iSCSI LUN).
Зайдите на веб-интерфейс управления ESXi хостом (
_https://192.168.13.50/ui/#/login
).
Настройка сети для iSCSI трафика в VMWare ESXi
Сначала нужно создать отдельный VMkernel сетевой интерфейс, который будет испоьзоваться ESXi хостом для доступа к iSCSI хранилищу. Перейдите в раздел Networking -> VMkernel NICs -> Add VMkernel NIC.
Кроме vmk порта нужно сразу создать новая группа портов (New port group). Укажите имя для этой группы – iSCSI и назначьте статический IP адрес для вашего интерфейса vmkernel.
Теперь перейдите в настройки вашего стандартного коммутатора vSwitch0 (Networking -> Virtual Switches). Проверьте, что второй физический интерфейс сервера vmnic1 добавлен в конфигурацию и активен (если нет, нажмите кнопку Add uplink и добавьте его).
Проверьте в секции Nic Teaming что оба физических сетевых интерфейса находятся в статусе Active.
Теперь в настройки группу портов iSCSI вам нужно разрешить использовать для iSCSI трафика только второй интерфейс. Перейдите в Networking -> Port groups -> iSCSI —> Edit settings. Разверните секцию NIC teaming, выберите Override failover order = Yes. Оставьте активной только vmnic1, порт vmnic0 переведите в состояние Unused.
В результате ваш ESXi хост будет использовать для доступа к вашему iSCSI LUN только один интерфейс сервера.
Настройка программного iSCSI адаптера в VMWare ESXi
По умолчанию в ESXi отключен программный адаптер iSCSI. Чтобы включить его, перейдите в раздел Storage -> Adapters. Нажмите на кнопку Software iSCSi.
Измените iSCSI enable на Enabled.
Затем в секции Dynamic targets добавьте IP адрес вашего iSCSI хранилища и порт подключения (по-умолчанию для iSCSI трафика используется порт TCP 3260). ESXi просканирует все iSCSI таргеты на этом хосте и выведет их в списке Static Targets.
Сохраните настройки. Обратите внимание, что на вкладке Storage -> Adapters появился новый HBA vmhba65 типа iSCSI Software Adapter.
Если вы не видите список iSCSI таргетов на СХД, можно продиагностировать доступность iSCSI диска через консоль ESXi.
Включите SSH на VMware ESXi хосте и подключитесь к нему с помощью любого SSH клиента (я использую встроенный SSH клиент Windows 10)
С помощью следующей команды можно выполнить проверку доступности вашего iSCSI хранилища (192.168.13.10) с указанного vmkernel порта (vmk1) :
# vmkping -I vmk1 192.168.13.10
В этом примере iSCSI хранилище отвечает на ping.
Теперь нужно проверить, что на хранилище доступен iSCSI порт TCP 3260 (в этом примере 192.168.13.60 это IP адреса интерфейса vmk1):
# nc -s 192.168.13.60 -z 192.168.13.10 3260
Connection to 192.168.13.10 3260 port [tcp/*] succeeded!
Проверьте, что на хосте включен программный iSCSI:
# esxcli iscsi software get
true
Если нужно, включите его:
# esxcli iscsi software set -e true
Software iSCSI Enabled
Также можно получить текущие параметры программного HBA адаптера iSCSI:
# esxcli iscsi adapter get -A vmhba65
vmhba65 Name: iqn.1998-01.com.vmware:srv-esx1-1487e5fb Alias: Vendor: VMware Model: iSCSI Software Adapter Description: iSCSI Software Adapter Serial Number: Hardware Version: Asic Version: Firmware Version: Option Rom Version: Driver Name: iscsi_vmk Driver Version: TCP Protocol Supported: false Bidirectional Transfers Supported: false Maximum Cdb Length: 64 Can Be NIC: false Is NIC: false Is Initiator: true Is Target: false Using TCP Offload Engine: false Using ISCSI Offload Engine: false
Создаем VMFS хранилище на iSCSI LUN в VMWare ESXi
Теперь на доступном iSCSI диске можно создать VMFS (Virtual Machine File System) хранилище для размещения файлов виртуальных машин.
Перейдите в раздел Storage -> Datastores -> New datastore.
Задайте имя VMFS хранилища и выберите iSCSI LUN, на котором его создать.
Выберите тип файловой системы VMFS 6 и укажите, что для хранилища нужно использовать весь объем iSCSI диска. Через несколько секунд новое VMFS хранилище станет доступно из ESXi.
Итак, вы подключили iSCSI диск к вашему ESXi хосту и создали на нем VMFS хранилище. Это хранилище могут одновременно использовать несколько ESXi серверов. Теперь у вас есть общее хранилище, и если вы настроите VMware vCenter server, вы сможете использовать vMotion для перемещения запущенных ВМ между хостами.