При совместном использовании сетевого диска с их вычислительной установкой большинство владельцев NAS склонны использовать протокол SMB. Хотя это не плохой выбор, бывают случаи, когда вам может понадобиться переключиться на другой метод передачи файлов на ваш NAS и с него.
iSCSI — один из таких протоколов, хотя его функциональность и варианты использования сильно отличаются от SMB. Поэтому я составил подробное руководство, охватывающее все, что вам нужно знать об этом высокоскоростном протоколе.
Что такое iSCSI?
И когда его следует использовать?
С технической точки зрения iSCSI (Internet Small Computer System Interface) — это протокол, который предоставляет доступ на уровне блоков к устройствам хранения данных по сети. Как более развитая форма стандарта SCSI, iSCSI преобразует команды SCSI в пакеты TCP/IP и отправляет их в решение для хранения данных через Ethernet. Это позволяет вам получать доступ к блочному хранилищу, как к диску, физически подключенному к вашему ПК.
Проще говоря, iSCSI обеспечивает простой способ настройки жесткого диска или SSD, подключенного к серверу NAS/SAN, в качестве локального диска в вашей системе. В отличие от обычного протокола сетевого общего доступа, такого как SMB, после создания виртуального диска для вашего ПК с помощью iSCSI вы не сможете переносить данные на этот диск с другого устройства (если только вы не настроите способ доступа других систем к дискам на этом ПК).
Таким образом, служба iSCSI не подходит тем, кто ищет простой способ обмена файлами между несколькими устройствами, подключенными к домашней сети. Вместо этого iSCSI полезен, когда вы хотите выделить больше места для хранения определенного устройства в локальной сети, не ставя под угрозу скорость чтения/записи накопителя.
Например, недавно я использовал iSCSI для переноса своей библиотеки Steam на устройства NAS, поскольку SMB был недостаточно хорош для запуска больших игр с NAS. Хотя жесткий диск iSCSI имел немного большее время загрузки в больших играх с открытым миром, в большинстве случаев он работал очень хорошо. Фактически, если предположить, что на вашем соединении Ethernet нет узких мест, связанных с пропускной способностью, диск iSCSI может обеспечить схожую (реально, немного более низкую) скорость передачи, чем локальный диск, подключенный к вашему ПК.
Как настроить диск iSCSI на NAS?
Разобравшись с основами, пора создать общий ресурс iSCSI и подключить его к ПК. В этом руководстве мы будем использовать TrueNAS Scale, но общая процедура одинакова для TrueNAS Core и операционных систем первой стороны, которые вы найдете в готовых NAS.
Создание (и оптимизация) тома Zvol для iSCSI
Прежде чем включить службу iSCSI для диска, вам необходимо создать на нем блок Zvol, выполнив следующие действия:
Запустите веб-интерфейс TrueNAS и войдите в свою учетную запись. Если вы уже настроили набор данных на своем NAS, перейдите на вкладку Datasets и нажмите кнопку Add Zvol. Введите имя Zvol и размер блока. Установите для параметра «Синхронизация» значение «Стандарт», для параметра «Сжатие» — значение «lz4», а для параметра «Дедупликация ZFS» — значение «Выкл.». При отключенном режиме «Только чтение» и скрытом Snapdev измените размер блока на 128 КБ, если вам нужна максимальная скорость за счет эффективности. В качестве альтернативы вы можете уменьшить это значение, если скорость не является для вас приоритетом. Наконец, нажмите Save, чтобы создать свой блок Zvol.
Настройка службы iSCSI
Когда блок хранения Zvol готов, пришло время настроить общий ресурс iSCSI на вашем NAS.
Перейдите на вкладку «Общие ресурсы» и нажмите кнопку «Мастер» под заголовком «Цели блокировать (iSCSI) общие ресурсы». Введите имя общего ресурса iSCSI, затем выберите «Устройство» в качестве типа экстента и выберите созданный ранее блок Zvol в качестве устройства. Выберите Modern OS в качестве платформы совместного использования, оставьте настройку «Цель» на «Создать новый» и нажмите «Далее». Если вы единственный пользователь, имеющий доступ к NAS, выберите «Нет» в качестве метода аутентификации обнаружения и оставьте группу аутентификации обнаружения без изменений. Нажмите кнопку Добавить рядом с IP-адресом, затем выберите 0.0.0.0 из раскрывающегося списка и нажмите Далее. Нажмите «Сохранить» в разделе «Инициатор». Вернувшись на вкладку «Общие ресурсы», нажмите на три точки и выберите «Включить службу».
Инициализация диска iSCSI в Windows
После запуска службы iSCSI вам нужно настроить виртуальный диск на вашем ПК, прежде чем вы сможете эффективно использовать диск хранения. Сначала вам нужно использовать встроенную утилиту iSCSI Initiator Properties для подключения к цели iSCSI.
Щелкните правой кнопкой мыши по кнопке «Пуск» и выберите «Выполнить». Введите iscsicpl в строку «Открыть» и нажмите «ОК». Перейдите на вкладку «Обнаружение» и нажмите «Обнаружить портал». Введите IP-адрес вашего устройства NAS и нажмите «ОК». Вы можете использовать приложение сетевого сканера, например Fing, чтобы определить IP-адрес вашего NAS. Перейдите на вкладку Targets, нажмите кнопку Connect и нажмите OK во всплывающем окне.
После сопряжения цели iSCSI с ПК вы можете добавить блочное хранилище в качестве локального диска с помощью инструмента «Управление дисками»:
Щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Управление дисками». Выбрав GPT в качестве стиля раздела, нажмите «ОК», чтобы инициализировать новый диск. Найдя диск iSCSI, щелкните по нему правой кнопкой мыши и выберите «Новый простой том». Нажмите «Далее» на экране приветствия и введите размер простого тома. Обязательно нажимайте «Далее» после каждого шага. Затем назначьте букву диска тому iSCSI. Выберите опцию «Форматировать диск» и оставьте остальные настройки по умолчанию. Нажмите «Готово» после повторной проверки всех параметров.
Если вы правильно выполнили все шаги, диск должен отобразиться в файловом менеджере, и вы сможете начать хранить на нем все свои файлы.
Как расширить диск iSCSI?
Иногда вам может потребоваться больше места для хранения, чем вы изначально выделили для диска iSCSI. Единственная проблема заключается в том, что если вы попытаетесь расширить дисковое пространство без соблюдения надлежащей процедуры, вы можете повредить том хранения, а в худшем случае можно потерять часть или все ваши сохраненные данные.
Таким образом, предварительным шагом является выключение ПК, сопряженного с томом iSCSI. Это связано с тем, что если оставить систему включенной во время работы с настройками Zvol, то в дальнейшем могут возникнуть проблемы. Поэтому для выполнения этого раздела вам придется переключиться на другую систему или даже на смартфон.
В веб-интерфейсе TrueNAS Scale откройте вкладку «Общие ресурсы», нажмите на три точки и выберите «Отключить службу». Перейдите на вкладку «Наборы данных» и нажмите «Изменить Zvol». Введите новый размер Zvol и нажмите «Сохранить». Вернитесь на вкладку Shares и включите службу iSCSI. Перезагрузите другой ПК, подключенный к диску iSCSI, и откройте утилиту Drive Management. Щелкните правой кнопкой мыши по основному разделу диска и выберите Extend volume… Убедитесь, что объем пространства, который вы хотите добавить на диск, отображается в разделе «Выбрано», и нажмите «Далее». Нажмите кнопку «Готово», чтобы сохранить изменения, внесенные в объем хранилища.
Удовлетворение всех ваших требований к локальному хранилищу с помощью iSCSI
Несмотря на то, что он доступен по сети, диск iSCSI обеспечивает удивительно надежную производительность. Когда я запускал игры с моего самодельного HDD NAS и Aiffro K100, я не столкнулся с какой-либо задержкой ввода или отставанием из-за протокола iSCSI. Конечно, время загрузки было не самым лучшим, особенно в играх с открытым миром. Но оглядываясь назад, я мог бы сократить время, необходимое для загрузки ресурсов, если бы у меня были установлены сетевые карты 10GbE на обоих устройствах NAS и на моем ПК.
Черт, есть довольно много вариантов использования этого высокоскоростного протокола помимо игр. Если вы снимаете видео высокого разрешения и уже забили все внутренние диски кадрами, стоит попробовать iSCSI, если вы не ограничены пропускной способностью Ethernet. Аналогично, вам стоит рассмотреть этот протокол, если вы хотите настроить блочное хранилище для всех виртуальных машин и контейнеров на вашем домашнем сервере Proxmox.