iscsi windows 10 что это
Windows 10 — Подключение диска iSCSI
Для подключения диска iSCSI достаточно выполнить несколько простых шагов. Нажмите кнопку поиска и наберите текст «iSCSI». Windows 10 найдет вам стандартное приложение «Инициатор iSCSI».
Рис.1 Запуск приложения инициатора iSCSI
Если вы первый раз запускаете это приложение, операционная система предложит вам активировать соответствующую службу, которая будет работать и подключать диск при старте операционной системы автоматически.
Рис.2 Запуск службы инициатора Майкрософт iSCSI
Осталось только указать путь к сетевому диску iSCSI — вводите IP адрес локального сервера и нажимайте «Быстрое подключение…»
Рис.3 Настройка конечного объекта инициатора iSCSI
В открывшемся окне выберите нужный диск (если их несколько) и нажмите подключить.
Рис.4 Выбор и подключение конечного объекта iSCSI
Диск подключен. Теперь он отображается в разделе «Мой компьютер» как обычный локальный диск.
Настройка и подключение iSCSI-диска в Windows Server
Протокол iSCSI (Internet Small Computer System) представляет собой протокол SCSI, работающий с системами хранения данных поверх протокола IP. С помощью iSCSI вы сможете подключать ваши сервера к сетевым хранилищам по обычной TCP/IP сеть без использования FC. В этой статье мы рассмотрим, как настроить iSCSI-хранилище на одном Windows Server 2019 и использовать его на других серверах(в Windows Server 2016 и 2012 R2 все настраивается аналогично). Первый пример использования iSCSI: файловому серверу необходимо дополнительное место, и мы по сети подключаем к нему виртуальный диск с другого сервера-хранилища по iSCSI. Другой пример – построение отказоустойчивого кластера, когда для нескольких серверов необходимо общее хранилище.
Для использования ISCSI-диска нужно на сервере-хранилище настроить виртуальный диск (это обычный vhd/vhdx файл) и опубликовать его в виде iSCSI таргета, к которому подключаются iSCSI инициаторы (другие сервера и устройства).
Настройка iSCSI target в Windows Server
В мастере создания виртуального iSCSI диска нужно выбрать физический раздел, на котором его нужно разместить. Далее нужно присвоить имя iSCSI диска, указать размер диска и его тип (Fixed Size, Dynamically expanding или Differencing), имя iSCSI таргета.
На шаге Access Servers нужно указать серверы (iSCSI инициаторы), которые смогут подключаться к данному iSCSI таргет, выбрав один из вариантов подключения:
Пусть используется вариант с IP-адресом.
Можно создать iSCSI диск с помощью PowerShell. Создадим виртуальный диск размером 200 Гб:
По умолчанию создается динамический диск размером 4,096 Кб, независимо от того, сколько было указано параметром Size. Динамический диск будет расширяться по мере необходимости.
Если нужно использовать диск фиксированного размера (такие диске резервируют место на физическом носителе при создании), то его создать той же командой с дополнительным параметром UseFixed:
Далее таргету присваивается имя, здесь же можно разрешить к нему доступ с IP-адреса сервера-инициатора:
При желании вместо IP-адреса можно использовать IQN имя (iSCSI Qualified Name – уникальный идентификатор iSCSI устройства в сети):
Затем желательно проверить результат:
Get-IscsiServerTarget | fl TargetName, LunMappings
Настройка iSCSI Initiator в Windows Server 2019
Следующий шаг – подключение к созданному iSCSI диску со второго сервера-инициатора. Перейдите в панель управления Control Panel, запустите iSCSI initiator (или выполните команду iscsicpl.exe ).
В консоли управления службами services.msc поставьте автоматический тип запуска для службы Microsoft iSCSI Initiator Service, Или используйте команду:
Перейдите на вкладку Discovery, нажмите на кнопку Discover Portal и введите ввести IP-адрес первого сервера (iSCSI-таргет). Чтобы трафик ходил только через определённый сетевой интерфейс, нужно нажать кнопку Advanced, и изменить значения по умолчанию в выпадающих списках: Local Adapter –> Microsoft iSCSI Initiator, Initiator IP –> 172.17.244.8.
Осталось инициализировать сам iSCSI-диск, который сначала находится в состоянии Offline. Для этого на сервере-инициаторе необходимо в консоли Disk Management в контекстном меню нового диска выбрать пункт Online, а затем – Initialize Disk. Создайте на новом диске один или несколько разделов, присвойте метку и букву диска. Отформатируйте в файловой системе NTFS.
Для быстрой инициализации и форматирования нового диска можно использовать следующий однострочный PowerShell (см. пример в статье об управления дисками и разделами из PowerShell):
Теперь этот виртуальный диск, подключенный с другого сервера по протоколу iSCSI можно использовать как обычный локально подключенный диск.
Чтобы подключится к iSCSI таргет выполните команду:
Если использовалась дополнительная проверка аутентификации CHAP, то необходимо будет это указать, используя следующую конструкцию:
Если вы хотите обеспечить высокую доступность и балансировку нагрузки для iSCSI дисков, можно использовать несколько избыточные сетевые компоненты (сетевые карты, коммутаторы) и модуль MPIO.
Общие сведения о загрузке цели iSCSI
область применения: Windows Server 2016
Сервер цели iSCSI в Windows Server позволяет загружать сотни компьютеров из одного образа операционной системы, хранящегося в центральном расположении. Это улучшает эффективность, управляемость, доступность и безопасность.
Описание компонента
Используя разностные виртуальные жесткие диски (VHD), можно использовать один образ операционной системы («основной образ») для загрузки до 256 компьютеров. в качестве примера предположим, что вы развернули Windows Server с образом операционной системы примерно 20 гб и использовали два зеркальных диска, которые будут использоваться в качестве загрузочного тома. Для загрузки 256 компьютеров потребуется примерно 10 ТБ памяти — только для образа операционной системы. Но при загрузке с помощью сервера цели iSCSI используется 40 ГБ для базового образа операционной системы и 2 ГБ для разностных виртуальных жестких дисков на экземпляр сервера, что в сумме составляет 552 ГБ для образов операционной системы. Это позволяет сэкономить более 90 % памяти только для образов операционной системы.
Практическое применение
Контролируемые образы операционной системы предоставляют следующие преимущества:
Повышение безопасности и простоты управления. На некоторых предприятиях требуется для защиты данных физически блокировать хранилище в центральном расположении. В этом случае серверы имеют удаленный доступ к данным, включая образ операционной системы. При загрузке с помощью сервера цели iSCSI администраторы могут централизованно управлять загрузочными образами операционной системы и определять приложения, включаемые в главный образ.
Быстрое развертывание. Так как главный образ подготавливается с помощью средства Sysprep, при загрузке из главного образа компьютеры пропускают этап копирования файлов и установки, выполняемый в ходе установки Windows, и переходят сразу к этапу настройки. В рамках внутреннего тестирования в корпорации Майкрософт 256 компьютеров были развернуты за 34 минуты.
Быстрое восстановление. поскольку образы операционной системы размещаются на компьютере, на котором выполняется сервер цели iSCSI, при замене клиента, не требующего использования диска, новый компьютер может указывать на образ операционной системы и сразу же загружаться.
различные поставщики предоставляют решение загрузки сети хранения данных (SAN), которое может использоваться сервер цели iSCSI в Windows Server на оборудовании товара.
Требования к оборудованию
Сервер цели iSCSI не требует особого оборудования для функциональной проверки. В центрах обработки данных с крупномасштабными развертываниями проект необходимо проверять на соответствие с определенным оборудованием. В качестве справочной информации во внутреннем тестировании корпорации Майкрософт указано, что для развертывания на 256 компьютере требуется 24x15k дисков в конфигурации RAID 10. Пропускная способность сети 10 Гигабитей является оптимальной. Общая оценка — 60 серверов загрузки iSCSI на 1 гигабитный сетевой адаптер.
Для этого сценария не требуется специализированный сетевой адаптер, и можно использовать программный загрузчик (например, Ипксе с открытым исходным кодом загрузки).
Требования к программному обеспечению
Сервер цели iSCSI можно установить как часть роли «Файловые службы и службы iSCSI» в диспетчере сервера.
Загрузка сервера Nano из iSCSI (с сервера цели iSCSI под управлением Windows или из реализации цели стороннего поставщика) не поддерживается.
Бездисковая загрузка по технологии iSCSI
Начну из далека. Как часто вы встречаете организации использующие «Подключение к удаленному рабочему столу» как основной способ работы в офисе? Я стал встречать такие все чаще и мое личное мнение — это удобно! Удобно для сотрудников, удобно для системных администраторов, а самой компании это позволяет сократить IT расходы. А нередко это даже необходимость для комфортной многопользовательской работы в некоторых программах (пример — ПО 1С).
А как часто вы видите что в качестве клиентов используются обычные себе полноценные ПК, иногда даже вполне производительные и для локальной работы.
Разговор будет о замечательной технологии iSCSI, и как мы её можем использовать чтобы уменьшить совокупную стоимость владения, и поможет тем кто хочет познакомиться с технологией поближе.
Вики гласит:
iSCSI (англ. Internet Small Computer System Interface) — протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами.
Для понимания происходящего определимся с терминологией:
iSCSI Target: (Цель iSCSI) — программа или аппаратный контроллер (HBA), осуществляющие эмуляцию диска и выполняющие запросы iSCSI. подробнее
iSCSI Initiator: (Инициатор iSCSI) — Клиентская программа или аппаратный контроллер, который взаимодействует с iSCSI Target.
IQN: (iSCSI Qualified Name) — Уникальный идентификатор (имя) iSCSI Target’a или iSCSI Initiator’а.
LUN: (Logical Unit Number) — Адрес блочного устройства в диапазоне 0-127. подробнее
Инициатор iSCSI
Прелесть в том, что Windows 7, Windows Server 2008 и всё что старше умеют устанавливаться напрямую на iSCSI target. Проблема только в том, как инициализировать удаленное блочное устройство при включении ПК.
Все современные сетевые карты умеют работать по технологии PXE, а вот с iSCSI дружат только дорогущие серверные сетевые карты например intel
Однако есть как минимум два знакомых мне open source проекта gPXE и iPXE, последний, к слову, форк первого, с немного доработанной системой вывода ошибок и несколькими дополнительными опциями.
Лично я использую gPXE, я его нашел первым, к тому-же у них на сайте есть очень удобный генератор rom-o-matic
Есть много способов как загрузиться через gPXE. Для рабочего варианта я вшивал её ROM вместо PXE загрузчика в BIOS метеринки. Рисковый вариант, можно остаться без материнки, забегая вперед это позволит уменьшить время загрузки на
Обратите внимание на параметр «175 gPXE_Options», инкапсулированное значение «08 01 01 ff» означает опцию keep_san = 1, которая заставляет gPXE не удалять регистрацию диска в случае неудачной загрузки с него (это необходимо для установки операционной системы).
Настройки iSCSI инициатора на этом закончены.
Цель iSCSI
Настройки цели крайне простые и интуитивные.
Создаём новое или импортируем существующий VHD диск:
Далее создаём цель:
Добавляем созданный или импортированный ране диск:
На этом настройка цели почти закончена. Осталось только добавить IQN(или любой другой тип индификатора: MAC, IP) инициатора(ов) который имеет доступ к этой цели.
Если после этого при загрузке клиентского ПК в gPXE промелькнут надписи:
Registered as BIOS drive 0x80
Booting from BIOS drive 0x80
Значит у нас получилось. И можно приступать к установке ОС.
Установка ОС или Epic Fail
Уже с ностальгией вспоминаю тот момент, когда первый раз я дошел до этого этапа и… поначалу меня постигало кучу разочарований. Забегая вперед скажу, что причиной многому была неудачная материнская плата GYGABYTE GA-425TUD.
Что же я увидел когда дошел до пункта выбора диска? Верно. Ничего. Подумал, ага, надо подгрузить сетевые драйвера. Аномально долгий поиск
30 — 40 минут на пустой флешке, куда были переписаны исключительно дрова для нужной сетевухи, заставлял меня думать что ОС виснет и раз 5-10 я так и не дожидался окончания поиска, выключал, перезагружал, менял опции gPXE. Так сложилось, что однажды я таки дождался пока драйвера были найдены, и радовался как ребенок обнаружив что в меню выбора появился так желанный мне диск.
Радость тут-же омрачилась тем что ОС сообщила мне о невозможности установиться на этот диск и любезно попросила меня проверить включен ли в моём BIOS контроллер этого диска.
Решение было найдено довольно быстро вот тут в самом низу. Если коротко то ребята советовали включать/выключать SATA контроллер, менять режим его работы IDE, ACHI и даже попробовать подключить реальный диск на время установки, но установку проводить на iSCSI диск. Для меня сработало подключение реального диска в режиме ACHI. Теперь установка пошла на iSCSI диск без проблем. Однако после перезагрузки ОС (один из этапов установки) я постоянно ловил BSOD на classpnp.sys.
Причина до сих пор мне не совсем понятна.
Большими усилиями была найдена зацепка
Решением стало отключение LWF фильтра в ОС на сетевухе.
В этом варианте у меня заработало даже на проблемной материнке.
После этого я пробовал еще 2 или 3 материнки, установка проходила гладко изначально (нужно было лишь подгрузить сетевые драйвера).
Тесты
Интересно на сколько будет заметно что мой HDD где-то там в 100 метрах от меня? На глаз вообще не отличить! Но я даже не надеялся что вы поверите моему глазу по этому приведу результаты тестов.
Наши герои:
Seagate ST500DM002 — будет работать локально, как у людей ;D
iSCSI SSD Patriot 128 PYROSE — на сервере, будет работать через iSCSI, сетевой канал 1ГБ.
iSCSI RAID 10 4xSeagate ST500DM002 — на сервере, будет работать через iSCSI, сетевой канал 1ГБ.
(Локальный)Seagate ST500DM002
iSCSI SSD Patriot 128 PYROSE
iSCSI RAID 10 4xSeagate ST500DM002
Свод и выводы
На мой взгляд вполне заслуживающая внимания технология, как видно из тестов даже на 1ГБ сети имеет хороший КПД. При текущих ценах на HDD позволит экономить как минимум 2500р с рабочей станции и облегчает задачу резервирования данных. У меня в организации все сотрудники работают в терминале, еще вот открыли учебный класс на 8 рабочих мест, именно там в качестве теста я и внедрял эту технологию.
iSCSI хранилище для небогатых
Доброго времени суток, уважаемое сообщество!
В этой статье я хотел бы поделится опытом создания дискового хранилища, который вылился во множество экспериментов, проб, ошибок, находок, приправленных горькими разочарованиями. И, наконец, завершился в неком интересном, относительно бюджетном и быстром хранилище.
Если у вас есть подобная задача или вас просто заинтересовал заголовок, то добро пожаловать под хабракат.
Пролог
Итак, недавно перед нашим отделом встала задача обеспечить кластер из гипервизоров VMware ESXi 5.1 хранилищем большого обьема. На нем же мы запланировали расположить шифрованный maildir для dovecot и “облачное” файловое хранилище. Обязательным условием выделения бюджета было обеспечение места для хранения критически важной для компании информации, причем этот раздел должен быть зашифрован.
Железо
К сожалению, а может и к счастью, под такие амбициозные задачи большим бюджетом нас не обременили. Поэтому позволить себе какое-либо брендовое хранилище мы, как настоящие поклонники максимализма, не могли, и в рамках выделенных материальных ресурсов выбрали следующее железо:
Реализация
Выдавать таргеты, то бишь выделять ресурсы СХД потребителям, мы решили при помощи iSCSI и NFS. Наиболее разумным и быстрым решением, конечно, было бы использовать FCoE, чтобы не влезать в TCP с соответствующими ему накладными расходами, что, в общем-то можно было бы сделать с нашими сетевыми картами, но, к сожалению, у нас нет SFP свитча с поддержкой FCoE, купить его не было возможности, так как это стоило бы нам 500 т.р. сверху.
Еще раз покурив интернеты, нашли выход из этого в технологии vn2vn, но ESXi научится работать с vn2vn только к 6.x версии, поэтому, не думая дальше, приступили к тому, что есть.
Наш корпоративный стандарт для Linux серверов — CentOS, но в текущем ядре (2.6.32-358) шифрование работает очень медленно, поэтому пришлось использовать в качестве ОС Fedora. Конечно это полигон Red Hat, но в последних ядрах Linux данные шифруются практически “на лету”, а остальное нам, вроде бы, и не нужно.
К тому же текущая 19 версия будет использована как основа для RHEL 7, а следовательно позволит нам в будущем безболезненно перейти на CentOS 7.
Таргеты
Дабы не раздувать статью и не отдаляться от темы я опускаю все неинтересное типа сборки железа, бодания с контроллером, установки ОС и прочего. Также постараюсь как можно меньше описывать сам таргет и ограничиться только его работой с инициатором ESXi.
linux-iscsi.org
С Linux ядром 3.10.10 он показал мне 300 МБ/сек записи и 600 МБ/сек чтения в режиме blockio. Эти же цифры он показал с fileio и также с RAM диском. На графиках было видно, что скорость записи очень сильно скачет, вероятно это вызвано тем, что инициатор ESXi требует синхронизации записи. По этой же причине количество IOPS на запись было одинаково с fileio и blockio.
В меиллистах реккомендовали отключить emulate_fua_write, но к каким-либо измениям это не привело. Причем с ядром 3.9.5 он показывает лучшие результаты, что тоже заставляет задуматься о его будущем.
LIO, судя по описанию, умеет еще много чего, но большинство фич доступно только в коммерческой версии. Сайт, который, по моему мнению должен быть в первую очередь источником информации, пестрит рекламными объявлениями, что вызывает негатив. В итоге решили отказаться.
istgt
www.peach.ne.jp/archives/istgt
Используется в FreeBSD.
Таргет работает достаточно хорошо, за исключением нескольких но.
Во-первых, он не умеет blockio, во-вторых, не может использовать разные MaxRec и MaxXtran, по крайней мере мне этого не удалось. При небольших значениях MaxRec скорость последовательной записи не превышала 250 МБ/сек, а чтения была на вполне высоком уровне — 700 МБ/сек. Примерно по 40K иопсов я получил при рандомной записи 4к с глубиной очереди 32. При увеличении MaxRec скорость записи повышается до 700 МБ/сек, чтение падает до 600 МБ/сек. Иопсы падают до на чтение 30К и 20К на запись.
То есть как-то можно было бы найти золотую середину, меняя настройки, но как-то это показалось не трувей.
stgt.sourceforge.net
С этим таргетом возникли проблемы с настройкой интерфейса с гипервизором. ESXi постоянно путал LUN — принимал одни за другие, либо переставал видеть совсем. Было подозрение на проблему в некорректной привязке серийных номеров, но прописывание их в конфигах не помогло.
Скорость также не порадовала. Добится от него больше 500 МБ/сек ни на чтение, ни на запись не удалось. Количество IOPS на чтение — 20К, на запись примерно 15К.
В итоге — проблемы с конфигом и невысокие показатели в скорости. Отказать.
iscsitarget.sourceforge.net
Работал практически безукоризненно. Чтение и запись 700МБ/сек. IOPS на чтение порядка 30K, на запись 2000.
Инициатор ESXi заставлял таргет записывать данные на диск сразу же, без использования кеша системы. Также несколько напугали отзывы о нем в maillists — многие докладывали о нестабильной работе под нагрузкой.
scst.sourceforge.net
И наконец добрались до лидера нашей гонки.
После пересборки ядра и минимальной настройки самого таргета мы получили 750МБ/сек чтения и 950МБ/сек записи. IOPS в режиме fileio — 44K на чтение и 37K на запись. Сразу, почти без бубна.
Этот таргет показался мне идеальным выбором.
iSCSI для VMWare ESXi 5.1 на SCST и Fedora
И теперь, собственно, то, ради чего мы все тут собрались.
Небольшая инструкция по настройке таргета и инициатора ESXi. Я не сразу решил попробовать написать статью на Хабр, поэтому инструкция будет не пошаговой — восстанавливаю по памяти, но в ней будут основные моменты настройки, которые позволили добиться нужных результатов.
Подготовка ESXi 5.1
InitialR2T=No
ImmediateData=Yes
MaxConnections=1
MaxRecvDataSegmentLength=1048576
MaxBurstLength=1048576
FirstBurstLength=65536
DefaultTime2Wait=0
DefaultTime2Retain=0
MaxOutstandingR2T=32
DataPDUInOrder=No
DataSequenceInOrder=No
ErrorRecoveryLevel=0
HeaderDigest=None
DataDigest=None
OFMarker=No
IFMarker=No
OFMarkInt=Reject
IFMarkInt=Reject
Потребуется отключить Interrupt Moderation и LRO для сетевых адаптеров. Сделать это можно командами:
Для того чтобы повторно не устанавливать эти значения, их можно добавить в этот скрипт:
Подготовка Fedora
Скачиваем и устанавливаем в минимальном варианте последнюю версию Fedora.
Обновим систему и перезагрузимся:
Система будет работать только в локальной сети, поэтому я отключил файервол и SELinux:
Настроим сетевые интерфейсы и отключим сервис NetworkManager.service. Он не совместим с BRIDGE интерфейсами, а это было необходимо для NFS.
На сетевых картах отключено LRO.
По рекомендациям от Intel измененны следующие параметры системы:
Подготовка таргета
Для использования SCST рекомендуется добавить патчи в ядро. Это необязательно, но с ними производительность выше.
Во время создания хранилища последняя версия ядра была — 3.10.10-200. К моменту когда вы будете читать статью ядро уже может обновиться, но не думаю, что это сильно повлияет на процесс.
Создание rpm пакета с измененным ядром подробно описанно тут:
fedoraproject.org/wiki/Building_a_custom_kernel/ru
Но для того, чтобы не возникло трудностей опишу подготовку подробно.
Перейдем в его среду:
Установим пакеты для сборки и подготовим исходники ядра:
Теперь потребуются сами патчи. Скачаем SCST из svn репозитория:
Скопируем необходимые пачти в
Добавляем строчку в конфиг ядра:
Приступим к редактированию kernel.spec.
Добавляем наши патчи, желательно после всех остальных:
Добавляем команду применения патча, рекомендовано добавить после остальных записей:
После всех действий запускаем сборку rpm пакетов ядра с включенными файлами firmware:
После завершения сборки устанавливаем ядро firmware и заголовочные файлы ядра:
После успешной, надеюсь, загрузки перейдите в каталог с исходниками SCST и уже пользователем root соберите сам таргет:
После сборки добавьте сервис в автозапуск:
И настройте конфиг в /etc/scst.conf. К примеру мой:
Создайте файлы, разрешающие или запрещающие подключения к таргетам с определенных адресов, если вам это необходимо:
После настройки файлов конфигураци запустите SCST:
Если все было сделано правильно, то в ESXi появится соответствующий таргет.