Компания StarWind Software известна пользователям как производитель лучшего в отрасли программного решения Virtual SAN для создания отказоустойчивых хранилищ на базе хост-серверов виртуализации VMware vSphere и Microsoft Hyper-V. StarWind иногда выпускает бесплатные утилиты для администраторов виртуальных инфраструктур, и сегодня мы поговорим об очередной новинке - StarWind iSCSI Accelerator.
Протокол iSCSI был разработан в 1998 году, но сейчас широко используется для организации хранилищ, особенно для виртуальных машин на платформах VMware и Microsoft. Но в то время не существовало многоядерных процессоров, поэтому протокол оптимизирован для 1-2 CPU и в базовой реализации не может использовать потенциал современных процессоров.
Поэтому Microsoft iSCSI Initiator в дефолтной конфигурации также использует только максимум 2 физических ядра на процессор, что может привести к затыку по производительности с точки зрения операций ввода-вывода (IOPS).
Это может привести к задержкам в канале Initiator <-> Target:
Современные серверные процессоры содержат множество ядер, при этом еще каждое из физических ядер может быть разделено на 2 логических, поэтому для инициатора iSCSI совершенно логично использовать все эти вычислительные мощности.
StarWind iSCSI Accelerator именно это и делает - он балансирует нагрузку на логические и физические ядра таким образом, чтобы инициатор iSCSI равномерно загружал процессор и не создавал узкого места с точки зрения мощности CPU.
В целом, можно настроить и Microsoft iSCSI Initiator для использования нескольких ядер, но это довольно муторный процесс, поэтому в StarWind и придумали iSCSI Accelerator - он представляет собой драйвер для Windows, который устанавливается простым пакетным файлом из дистрибутива:
Процедура установки выглядит так:
Запускаете сценарий prepare_test_machine.cmd, который устанавливает тестовый сертификат, переключает машину в режим test mode и отключает проверки integrity checks, чтобы разрешить использование самоподписанных сертификатов драйверами (потребуется перезагрузка, также надо отключить режим Secure Boot, если включен).
Запускаете сценарий install_lb.cmd, который и устанавливает драйвер iSCSI Accelerator. Используйте установку от имени администратора, иначе получите вот такое сообщение об ошибке:
Используйте сценарии start_lb.cmd и stop_lb.cmd для управления статусом запуска или остановки драйвера. Если драйвер запущен (его можно поставить в autorun), он автоматически балансирует новые iSCSI-сессии по всем ядрам процессоров (на уровне TCP-сессий).
Надо понимать, что эта версия пока находится в статусе technical preview и использует самоподписанный сертификат, поэтому лучше ее использовать на данный момент только в тестовой среде. Но попробовать стоит - особенно, если вы испытываете проблемы с производительностью по IOPS и наблюдаете высокую загрузку CPU.
Скачать StarWind iSCSI Accelerator можно абсолютно бесплатно по этой ссылке.