Разное

Initiator iscsi: Настройка ISCSI initiator в linux / Хабр

Содержание

Настройка iSCSI инициатора в Windows

В предыдущей статье мы поговорили о том, как можно организовать iSCSI хранилище на Windows Server 2008 R2  с помощью пакета Microsoft ISCSI Target 3.3. Данная статья посвящена настройки iSCSI клиента (он называется iSCSI инициатор) на ОС семейства Windows.

Для работы с iSCSI  target –ом (это сервер, предоставляющий услугу доступа к  дисоквым ресурсам по протоколу iSCSI)  с  клиентской ОС нам необходимо иметь установленный и настроенный iSCSI инициатор.

В ОС Windows Vista, Windows 7, Windows Server 2008 и 2008 R2 программный iSCSI инициатор уже установлен. Чтобы iSCSI initiator появился в Windows XP и Windows Server 2003, придется установить клиентскую часть (тот самый файл iscsitargetClient_public.msi, который мы получили в предыдущей части статьи).  Мастер установки крайне прост и описывать его нет необходимости.

Запустим утилиту управления iSCSI initiator

В том случае, если вы запускаете этот сервис впервые появится предупреждающее окно о необходимости запустить службу Microsoft iSCSI.

В поле Target нужно указать имя сервера с запущенной службой  ISCSI Target  и нажать кнопку Quick Connect.

В появившемся окне будут отображен список всех таргетов, доступных по указанному адресу (в моем случае он один). Выберите его и нажмите Done

Затем перейдите в консоль управления дисками (Computer management->Storage->Disk Management) , где должен появиться новый диск. Необходимо инициализировать,  отформатировать его и назначить ему букву диска.

После окончания всех операций на компьютере появится новый диск, с которым можно работать точно так же как с локальными дисками, реально же он располагается в сети на нашем сервере.

Бездисковая загрузка по технологии 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 метеринки. Рисковый вариант, можно остаться без материнки, забегая вперед это позволит уменьшить время загрузки на ~ 10 сек.

Расскажу лучше о простом и безопасном для оборудования способе под названием PXE chainloading подробно (англ.) . Суть такова — с помощью PXE загрузчика загружаем gPXE, который в свою очередь выступает iSCSI инициатором и передает управление диску. Для этого нам нужен TFTP сервер (я не стал прибегать к стороннему софту, сделал как тут) и правильная настройка DHCP сервера.

Вот так выглядит DHCP параметры у меня:

Обратите внимание на параметр «175 gPXE_Options», инкапсулированное значение «08 01 01 ff» означает опцию keep_san = 1, которая заставляет gPXE не удалять регистрацию диска в случае неудачной загрузки с него (это необходимо для установки операционной системы).

В параметре «017 Корневой путь» самый просто синтаксис будет iscsi:<Айпи iSCSI target>:::::<IQN цели>

Настройки iSCSI инициатора на этом закончены.

Цель iSCSI

В качестве цели я использовал Microsoft iSCSI Software Target 3.3

Настройки цели крайне простые и интуитивные.

Создаём новое или импортируем существующий 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 фильтра в ОС на сетевухе.

Открываем HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

Находим и открываем подпапку для NIC (eg. 0007)

Открывает подпапку Linkage

Редактируем FilterList. Удаляем линию которая ссылается на LWF driver UUID {B70D6460-3635-4D42-B866-B8AB1A24454C}. В моём случае это бала вторая линия.

До:

{158B0494-2576-4DE5-9E32-98DB9E177DD8}-{B5F4D659-7DAA-4565-8E41-BE220ED60542}-0000

{158B0494-2576-4DE5-9E32-98DB9E177DD8}-{B70D6460-3635-4D42-B866-B8AB1A24454C}-0000

После:

{158B0494-2576-4DE5-9E32-98DB9E177DD8}-{B5F4D659-7DAA-4565-8E41-BE220ED60542}-0000

В этом варианте у меня заработало даже на проблемной материнке.

После этого я пробовал еще 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 подключение к схд сервера под windows [Colobridge WIKI]

Применимость: Windows

Слова для поиска:


Задача:

Как настроить подключение к блочному устройству на системе хранения по протоколу iSCSI?

Решение:

Для работы с блочным устройством через протокол iSCSI необходимо выполнить следующие условия:

  1. Установить два отдельный сетевых адаптера (минимум — один выделенный адаптер) для подключения в сеть хранения.

  2. Настроить сетевое оборудование провайдера для доступа сервера в сеть хранения

  3. Настроить iSCSI инициатор и параметры аутентификации, сообщить эти параметры провайдеру

  4. Подключиться к таргету по всем доступным путям.

  5. Установить и настроить многопутевой доступ UltraPath

Терминология iSCSI

  • iSCSI (Internet Small Computer System Interface) — протокол, который базируется на TCP/IP и разработан для подключения к устройствам хранения данных в режиме блочного устройства. Протокол обеспечивает передачу по сети команд SCSI и эмулирует локальный жесткий диск из набора данных находящихся на СХД.

  • Инициатор (initiator) — iSCSI-клиент.

  • Таргет — iSCSI-сервер; предоставляет доступ к своим устройствам по iSCSI.

  • iSCSI Портал — группа таргетов, которые анонсируются вместе. Обычно один узел хранения — один портал.

  • LUN (Logical Unit Number) — уникальный номер объекта внутри таргета содержащий набор данных. Ближайшим аналогом LUN является жесткий диск, раздел диска или отдельный том.

  • Обнаружение (discovery) — процесс, в ходе которого инициатору становятся известны доступные ему таргеты.

Установка и подключение сетевой карты

В ходе заказа услуги следует сообщить параметры сетевых адаптеров которые вы предполагаете выделить для работы с СХД. Или заказать установку дополнительных адаптеров.

После установки адаптеров и настройки сетевого оборудования сетевой инженер сообщит вам адреса которые вам нужно будет настроить на ваших адаптерах.

Проверка доступности

Сервера клиента двумя отдельными сетевыми интерфейсами (минимум — один отдельный сетевой порт) должен быть подключен в сеть хранения:

Наличие второго интерфейса позволит агрегировать (объединить) производительность обоих портов и обеспечит живучесть при обрыве связи по одному из каналов.

Для подключения к таргету вам следует убедиться, что сеть хранения доступна для вашего сервера.

iSCSI — портал системы хранения должен быть доступен на следующих адресах:

C0.P0  10.30.1.1
C1.P0  10.30.1.2
C0.P1  10.30.2.1
C1.P1  10.30.2.2

Если у вас один сетевой порт, то вы должны видеть или первую или вторую пару адресов.

Проверьте доступность командой

ping <IP адрес>

Настройка Инициатора

Найдите в контрольной панели iSCSI Initiator

Control Panel>System and Security>Administrative Tools>iSCSI Initiator

Имя IQN текущего инициатора можно посмотреть на закладке:

Имя инициатора

IQN (iSCSI qualified name) – имя длиной до 255 символов в следующем формате:
iqn.<year-mo>.<reversed_domain_name>:<unique_name>

  • year-mo — год (year) и месяц (mo), когда был зарегистрирован домен;

  • reversed_domain_name — официальное имя домена, записанное в обратном порядке;

  • unique_name — это произвольное имя, например, имя сервера (ad321).

Пример: iqn.2009-01.net.colobridge:ad321

Во избежание лишних недоразумений рекомендуем использовать имя сервера которое мы назначили вашему серверу, например, вы можете найти это имя в списке ваших услуг:

Портал > Панель клиента > Продукты/услуги > Dedicated Flex +, ad060.colobridge.net

Из всего этого используете ad060 и настраиваете на своем сервере имя инициатора iqn.2009-01.net.colobridge:ad060

При этом имя хоста в параметрах операционной системы может быть каким угодно.

И имя IQN может быть любым, просто нам удобнее вести учет выдачи ресурсов по нашим внутренним спискам.

Аутентификация

Вам потребуется настроить аутенификацию для discovery и аутенификацию для подключения.

Придумайте или сгенерируйте криптостойкий пароль 14-16 символов

Для создания учетной записи вашего сервера на системе хранения передайте следующую информацию:

Имя сервера:
Версию операционной системы:
Имя инициатора:
Пароль:

После получения этой информации администратор системы хранения создаст учетную запись для вашего сервера с соответствующими вашему заказу LUN и параметрами отображения.

В панели iSCSI Initiator Properties перейдите на закладку Discovery, нажмите Discover Portal, укажите IP-адрес, нажмите Advanced, поставьте птицу на чекбоксе Enable CHAP log on. В качестве имени используйте имя инициатора, пароль 14-16 символов.

Повторите эти действия для каждого из адресов iSCSI портала.

После этих действий на закладке Targets должны отображаться 4 тергета в окне Discovered targets. Если у вас только одна карта, то там должен быть список из двух таргетов.

Последовательно укажите на каждый из таргетов и нажмите кнопку Connect. Затем Advanced, поставьте птицу на чекбоксе Enable CHAP log on. В качестве имени используйте то же самое имя инициатора и пароль 14-16 символов.

В менеджере дисков вы должны увидеть новый диск или диски с размерами соответствующими заказанным. Если этого нет, обновите список устройств через менеджер дисков или менеджер устройств.

Так как ваш сервер видит СХД по нескольким путям, то вместо одного диска вы будете видеть 4.

Но не торопитесь ставить чекбокс для Enable multi-path в параметрах инициатора. Есть лучшее решение.
.

UltraPath

Разумеется, вы можете использовать стандартный multipath из вашей операционной системы.
Однако Huawei UltraPath скорее всего окажется надежнее.

Скачайте и установите пакет UltraPath for Windows. Ссылку для скачивания последней версии пакета вам передаст служба технической поддержки. Или вы найдете ссылку под этой статьей.

Преимущества Huawei UltraPath

После установки перезагрузите сервер.

Убедитесь, что драйвер UltraPath установлен и работает:

Теперь нужно запустить консоль Ultra-Path, зайти в меню System > Global Settings и установить параметры как на этом снимке:

Зайдите в менеджер дисков, активируйте диск, создайте раздел с файловой системой.

В консоли Ultra-Path выберите все пути (1), запустите Performance Monitor (2), выберите тип измерений / measurement (3), запустите мониторинг (4), дайте нагрузку на диск и убедитесь что данные передаются по всем путям.

Тестирование производительности

Для теста производительности рекомендуем использовать утилиту diskspd

Последовательность действий:

  1. Подключите таргет

  2. Через менеджер дисков переведите новый диск в online
  3. Инициализируйте диск и cоздайте файловую систему

    Для tier-2 и tier-3 это может длится довольно долго несмотря на то, что вы выбрали быстрое форматирование

  1. В консоли Power Shell перейдите на созданный вами диск

  2. Создайте на диске каталог для тестирования, например — mkdir D:\test

  3. Перейдите в этот каталог cd D:\test
  4. Скачайте и распакуйте утилиту diskspd в отдельный каталог

  5. Выполните рекомендуемые команды

Test-1

Это нагрузочный тест с имитацией работы OLTP позволяющий оценить нагрузочные характеристики диска.

C:\Diskspd\amd64fre\diskspd.exe  -r -w30 -d600 -W300 -b8K -t4 -o15 -h -L -Z1M -c100G test.bin > test-1.txt

Значение опций:

  • -r -w30 — Тестирует произвольные операции ввода-вывода (-r) с соотношением операций записи (-w30) и чтения 30/70 для эмуляции типичного режима рабочей нагрузки OLTP.

  • -d600 -W300 — Задает 10-минутную продолжительность теста (сбора данных) (-d600), выполняемого после 5-минутного прогрева (-W300). При тестировании прогрев необходим для того, чтобы до начала сбора данных управление внутренними устройствами достигло состояния, близкого к устойчивому. Это важно при тестировании как операций чтения, так и операций записи.

  • -b8K — Задает размер блока в 8 КБ (-b8k) — размер страницы, типичный для виртуальных машин Microsoft SQL Server и Hyper-V.

  • -t4 -o15 — Создает 4 потока на файл (-t4). Каждый поток включает 15 ожидающих операций ввода-вывода (-o15).

  • -h — Отключает программное кэширование и аппаратное кэширование записи — эквивалентно открытию файла с флагами FILE_FLAG_NO_BUFFERING и FILE_FLAG_WRITE_THROUGH.

  • -L — Собирает данные о задержке.

  • -Z1M Поддерживает исходные буферы произвольной записи размером 1 МБ (-Z), которые обеспечивают обычно несжимаемый поток данных на твердотельные накопители. Это важно для управления работой определенных классов устройств флэш-памяти и твердотельных накопителей.

  • -c100G test.bin > test-1.txt Создает указанный файл данных test.bin размером 100 ГБ (-c100G) и сохраняет результат теста в файле test-1.txt

Test-2, Test-3

Эти тесты служат для оценки ширины канала связи с СХД

test-2: последовательное чтение блоками по 512K

diskspd.exe -si -w0 -d180 -W60 -b512K -t4 -o15 -h -L -c100G test.bin

test-3: последовательная запись блоками по 512K

diskspd.exe -si -w100 -d180 -W60 -b512K -t4 -o15 -h -L -c100G test.bin

Пример результатов тестирования

Тестирование производилось ночное время при небольших конкурирующих нагрузках и без лимитирования SmartQoS

Использовался один порт 10GbE Intel X520 (MTU=9000) на стороне хоста и два порта на стороне СХД с Huawei UltraPath-8.06.063.

В некоторых тестах вы можете заметить малую разницу между различными Tier. Этот эффект объясняется особенностями работы кэша и контроллера СХД. При значительных конкурирующих нагрузках этот эффект делится между клиентами в соответствии с уровнем приоритета tier.

Смотрите также:


Актуальность: 2017/05/01 16:17

Бездисковая загрузка по технологии iSCSI на базе ОС Windows / Хабр

Написанию данного поста предшествовало сбор информации по частям и многочасовое курение как русскоязычных, так и англоязычных ресурсов в сети интернет в поиске сравнительно простых способов реализации бездисковой загрузки ПК.

Предпосылкой к изучению данного вопроса стало наличие в сети компьютера, с вышедшем из строя дисковым накопителем. Необходимо было запустить на данном ПК «полноценную» 64-битную операционную систему Windows 7 без использования Linux-сервера, ограничившись только имеющимися в локальной сети Windows системами. Приводимые в данном посте программные продукты распространяются бесплатно и могут работать как на серверных, так и на пользовательских версиях Windows.

Разговор пойдет о замечательной технологии 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;
  • DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP;
  • TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций.

Введение

Современные операционные системы Windows 7, Windows Server 2008 и всё, что старше, умеют подключаться напрямую на iSCSI target. Проблема только в том, как инициализировать удаленное блочное устройство при включении ПК.

Вспомним, что почти все современные сетевые карты умеют загружаться по технологии PXE. А вот с iSCSI дружат в основном только дорогостоящие серверные сетевые карты, например Intel. Однако, существует как минимум два open source проекта gPXE и iPXE позволяющий при загрузке ПК подключаться iSCSI устройствам. Последний, к слову, форк первого, с немного доработанной системой вывода ошибок и дополнительными опциями.

Есть много способов, как загружаться через gPXE и iPXE. В данном посте мы будем рассматривать загрузку с использованием iPXE и подключением для него необходимых скриптов в процессе загрузки.

Суть такова — при запуске компьютера сетевая карта получает необходимые настройки через DHCP сервер и загружает PXELINUX. Далее загрузчик PXELINUX подключает необходимый скрипт и загружает iPXE, который, в свою очередь, выступает iSCSI инициатором и передает управление диску. До момента инициализации блочного устройства передачу файлов по сети обеспечивает протокол TFTP.

Для чего мы загружаем PXELINUX?

Некоторые могут спросить — а для чего загружать PXELINUX? Во первых, через PXELINUX загрузчик iPXE получает необходимый скрипт для инициализации нужного iSCSI target-а. Во вторых, чтобы можно было построить удобное меню с выбором различных вариантов загрузки. В третьих, если в сети существует несколько бездисковых рабочих станций, то нужно чтобы каждый ПК подключался «к своему» iSCSI-диску и не имел доступа к «чужим» дискам, а значит их нужно как то отделять друг от друга, например, по MAC-адресам. Для этих целей будет использоваться двухстадийная загрузка с использованием PXELINUX.

Но обо всем по порядку. Начнем с установки и настройки в системе Windows необходимого софта для реализации DHCP, TFTP и iSCSI Target-а. Для этого я использовал бесплатно распространяемые программные продукты Tftpd32 и StarWind Virtual SAN. Программа Tftpd32 используется как в роли DHCP сервера, так и в роли TFTP сервера, ну а StarWind Virtual SAN соответственно будет использоваться в роли iSCSI target-а. Скачать данные программы можно на сайте разработчиков, ссылки которых указанны в их названиях. Для скачивание программы StarWind Virtual SAN необходимо будет выбрать на сайте Free версию программы и пройти процесс регистрации, с указанием корпоративного почтового адреса. На указанный вами почтовый адрес придет лицензионный ключ и ссылка на скачивание самой программы.

Настройка программы Tftpd32

Данная программа довольно простая и интуитивно понятная, поэтому приведу просто скриншоты своих настроек:


На вкладке «GLOBAL» у меня отмечены галочкой сервисы TFTP Server, Syslog Server и DHCP Server. На вкладке TFTP в поле Base Directory указана точка, которая означать, что в качестве корневой директорией будет использоваться папка, куда установлена сама программа Tftpd32. На вкладке DHCP в поле Boot File указан название загружаемого файла, которую мы рассмотрим дальше в настройках PXELINUX. На вкладке SYSLOG настройки не требуются.

Цель iSCSI. Настройка программы StarWind Virtual SAN

При установке программа никаких настроек не запрашивает, единственное может дополнительно запустить установку .NET Framework 4, если она еще не установлена в системе. После установки программа запускает свои службы и сразу готова к работе. На рабочем столе создается ярлык StarWind Management Console для управления.

Открываем StarWind Management Console, жмем кнопку Add Server и создаем новый сервер с IP-адресом 192.168.0.1. Имеющийся по умолчанию сервер с IP-адресом 127.0.0.1 можно удалить.

Далее выбираем созданный нами сервер и нажимаем ссылку Add Target. В появившемся окне можем указать свое название IQN цели, активировав галочку Target Name. В частности я указал iqn.2014-11.home:win7-64bit.

Далее выбираем созданный нами Target и нажимаем ссылку Add Device.

В появившейся окне выбираем Hard Disk Device, далее выбираем Virtual Disk, указываем расположение и объем создаваемого диска, задаем объем и параметры кэширования, и создаем дисковое устройство нажатием кнопки Create.

В итоге получаем настроенный и готовый к работе iSCSI Target, имеющий следующий вид:


При необходимости мы можем создавать необходимое количество iSCSI Target-ов и на каждый из них подключить необходимое количество iSCSI дисков. А также обеспечить безопасности доступа к iSCSI Target-ам с использованием CHAP-аутентификации клиентов, нажав по ссылке Add Permission.

Настройка PXELINUX

PXELINUX входит в комплект программ syslinux. Поэтому идем на сайт www.syslinux.org/wiki/index.php/Download, нажимаем на ссылку Download и загружаем zip архив с набором загрузчиков syslinux. Открываем загруженный архивный файл и распаковываем файлы pxelinux.0 из директории core и menu.c32 из директории com32/menu. Файл pxelinux.0 является загрузчиком, который передается клиентскому ПК DHCP сервером, а файл menu.c32 отвечает за построение загрузочного меню. Распакованные файлы размещаем в папку, куда установлена программа Tftpd32 (куда указывает путь в поле Base Directory в настройках TFTP).

В папке программы Tftpd32 создаем вложенную папку pxelinux.cfg, а в нем создаем файл default следующего содержания:
default menu.c32

gfxmenu /erdpxe

prompt 0

MENU TITLE Boot Menu (select the OS to boot)

MENU AUTOBOOT Windows 7 64bit in # seconds

TIMEOUT 50

TOTALTIMEOUT 3000

LABEL Windows 7 64bit

MENU DEFAULT

KERNEL IPXE.KRN

INITRD win7.ipxe

Думаю излишнем писать подробный комментарий к данному файлу, рассмотрим только две последние строчки:

KERNEL IPXE.KRN — указывает на ядро iPXE, которую нужно загрузить.

INITRD win7.ipxe — указывает на файл скрипта с параметрами iPXE

Указанных настроек PXELINUX вполне достаточно для использования дефолтной конфигурации и можно перейти к дальнейшей настройке iPXE, поэтому остающуюся часть текста решил убрать под спойлер.

Создание отдельного загрузочного меню для каждого ПКЕсли в сети существует несколько бездисковых рабочих станций, и нужно чтобы каждый ПК имел доступ только «к своему» iSCSI-диску и не имел доступа к «чужим» дискам, то нам нужно будет создать несколько файлов с загрузочным меню для каждого ПК.

При получении файла конфигурации от TFTP сервера клиент ищет подходящую для себя в следующем порядке:
pxelinux.cfg/01-88-99-aa-bb-cc-dd

pxelinux.cfg/C0A800FE

pxelinux.cfg/C0A800F

pxelinux.cfg/C0A800

pxelinux.cfg/C0A80

pxelinux.cfg/C0A8

pxelinux.cfg/C0A

pxelinux.cfg/C0

pxelinux.cfg/С

И если ничего подходящего нет —

pxelinux.cfg/default

Здесь pxelinux.cfg — сама папка с файлами конфигурации.

01-88-99-aa-bb-cc-dd — файл с названием МАС-адрес клиента, в нижнем регистре, разделенный тире, с префиксом 01-.

Соответственно, для каждой бездисковой рабочей станции нам нужно написать «свое» загрузочное меню и разместить в папке pxelinux.cfg с названием файла 01-mac-адрес клиента, в нижнем регистре. Содержимое этих файлов может отличаться, к примеру, только последней строчкой INITRD win7.ipxe.

Инициатор iSCSI. Настройка iPXE

Итак, далее идем на сайт ipxe.org/download и загружаем iso-образ iPXE загрузчика. Из загруженного iso-образа вытаскиваем файл IPXE.KRN и сохраняем его в папке программы Tftpd32.

В этой же папке создаем файл win7.ipxe следующего содержания:
#!ipxe

dhcp net0

set keep-san 1

#login

sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit

Строка dhcp net0 данного скрипта указывает, что необходимо получить настройки через DHCP сервер в сети.

Строка set keep-san 1 указывает, что подключение к iSCSI Target-у необходимо сохранить даже если загрузка с данного устройства не удалась (этот параметр необходим, когда нужно устанавливать операционную систему с накопителей CD/DVD).

Если в iSCSI Target настроена CHAP-аутентификации клиентов, то нужно раскомментировать строку #login, которая будет выводит форму для ввода логина и пароля.

Последняя строка непосредственно подключает указанный iSCSI Target, инициализирует удаленный диск и передает процесс дальнейшей загрузки на данное устройство. Синтаксис подключения будет таким iscsi:<Айпи iSCSI target>:::::<IQN цели>.

Добавление дополнительных пунктов в загрузочное менюЕсли мы хотим добавить в загрузочное меню еще один пункт, например, для загрузки ОС Windws 8.1, то создаем в StarWind Virtual SAN новый Target с указанием IQN цели iqn.2014-11.home:windows8.1, добавляем в него новое дисковое устройство iSCSI, а затем в файле pxelinux.cfg/default добавляем к примеру такие строчки:
LABEL Windows 8.1

KERNEL IPXE.KRN

INITRD win8.1.ipxe

Ну и далее создаем файл win8.1.ipxe следующего содержания:
#!ipxe

dhcp net0

set keep-san 1

#login

sanboot iscsi:192.168.0.1::::iqn.2014-11.home:windows8.1

Установка ОС Windows 7

Перед началом установки Windows 7 на бездисковую станцию открываем его BIOS и настраиваем порядок опроса загрузочных устройств следующим образом:
1) Hard Disk
2) Network
3) CD/DVD
4) остальные устройства

Если на ПК имеется установленный жесткий диск, то на время установки Windows его желательно отключить, чтобы компьютер не пытался с него загружаться.

Далее размещаем в приводе CD/DVD установочный диск Windows 7 и перезагружаем компьютер.

Первым делом мы должны увидеть запуск загрузки через PXE. Если этого не произошло то снова заходим в BIOS и разрешаем загрузку компьютера через сетевой адаптер.

Далее на экране появиться загрузочное меню PXELINUX. Если этого не произошло проверяем, запущена ли на другом компьютере программа Tftpd32, правильно ли она настроена и не блокирует ли его работу firewall-ы, антивирусы или другие программы.

После выбора необходимого пункта загрузочного меню PXELINUX мы должны увидеть запуск iPXE.

В процессе инициализации iPXE должны промелькнут надписи:

Registered as BIOS drive 0x80

Booting from BIOS drive 0x80

Это значит, что ПК удачно подключился к iSCSi диску.

Затем мы увидим ошибку загрузки через iSCSi диск, после чего компьютер перейдет к опросу следующего загрузочного устройства и запустит установка Windows 7 с привода CD/DVD. При этом подключение к iSCSi диску останется активным — за это отвечает указанная в скрипте строчка set keep-san 1.

Для тех, у кого не запускается установка Windows с привода CD/DVDBIOS некоторых компьютеров, после неудачной попытки загрузки с iPXE, останавливает процесс запуска. Соответственно дальнейшая загрузка установщика Windows с привода CD/DVD не происходит. Такое поведение было замечено, например, на ноутбуках компании Hewlett-Packard. В подобных случаях спасает загрузка с использованием gPXE. Для этого:
1) открываем страницу сайта rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/build.php,
2) в поле Choose an output format выбираем пункт PXE bootstrap loader keep [Keep PXE stack method 1] (.kpxe),
3) в самом нижнем поле Embedded Script вводим три строчки нашего скрипта:
dhcp net0
set keep-san 1
sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit
4) сохраняем загрузчик gPXE в папку программы Tftpd32 и прописываем название файла на сервере DHCP в поле Boot File,
5) устанавливаем ОС Windows и обратно прописываем название файла pxelinux.0 на сервере DHCP в поле Boot File.

В процессе установки Windows, на этапе выбора дискового устройства мы должны увидеть подключенный нами iSCSi диск. Если iSCSi диск в списке отсутствует, значит установщик Windows не смог автоматически подключить необходимые драйвера для сетевой карты. В этом случае скачиваем с сайта разработчика необходимые драйвера сетевой карты и подключаем их установщику Windows. После этого iSCSi диск должен появиться в списке.

Если получили сообщение о невозможности установки Windows на выбранный дискИногда на этапе выбора дискового устройства можно получить сообщение о невозможности установки Windows на выбранный диск и просьбу проверить, включен ли в BIOS контроллер этого диска.

В этом случае первым делом проверьте в BIOS порядок опроса загрузочных устройств. Жесткий диск должен находиться на первой позиции, даже если на компьютере физически не установлен дисковый накопитель.

Если проблема не исчезла, то попробуйте в BIOS-е включать/выключать SATA контроллер, менять режим его работы IDE, ACHI, либо подключить реальный диск на время установки, но установку проводить на iSCSI диск.

После выбора дискового устройства начнется установка Windows 7. Дальше никаких трудностей возникнуть не должно. После установки мы получаем «полноценную» операционную систему Windows 7, работающей на iSCSI диске.

Установка ОС Windows (альтернативный метод)

Не знаю кому как, но мне лично не представляется удобным для каждого установочного образа Windows записывать DVD диск.
Мне привычнее распаковать содержимое установочного диска и запустить установку Windows с жесткого диска. К тому же с жесткого диска операционная система устанавливается быстрее.

Приведу пример, с использованием стандартного загрузчика bootmgr, имеющегося в любом установочном дистрибутиве Windows.

Данный метод подходит также для установки Windows с локальных жестких дисков.

Если коротко, то создаем на iSCSI диске небольшой «активный» раздел, копируем туда содержимое установочного диска Windows, и затем настраиваем MBR, для загрузки с диска установщика Windows. Подробности под спойлером.

Альтернативный метод установки ОС WindowsИтак, откроем на рабочей Windows системе Панель управления — Администрирование — Инициатор iSCSI.
Появиться окно «Свойства: Инициантор iSCSI».

Переходим на вкладку «Обнаружение» и нажимаем кнопку «Обнаружить портал…».

В открывшемся окне вводим IP-адрес нашей цели iSCSI — 192.168.0.1 и нажимаем ОК.

Далее переходим обратно на вкладку «Конечные объекты» и увидим все цели с идентификаторами IQN.

Выбираем в списке нужную цель и нажимаем кнопку «Подключить».

Откроется еще одно окно требующий нашего подтверждения, где также нажимаем ОК.

Если в открывшемся окне оставить галочку «Добавить это подключение в список предпочитаемых конечных объектов» то указанная цель будет автоматически подключаться к системе при каждой загрузке.

Открываем оснастку «Управление компьютером» и переходим на вкладку «Управление дисками». Тут мы увидим, что в нашей системе появилось еще одно дисковое устройство. Создаем на этом диске «Основной раздел», указав размер диска чуть больше размера нашего установочного образа. Далее форматируем под файловую систему NTFS, подключаем любую букву диска и делаем раздел «активным».

Откроем необходимый образ установочного диска программой UltraISO или WinRar и распакуем содержимое образа на созданный в предыдущем пункте раздел диска. Важно, чтобы после распаковки на диске оставалось как минимум 100Мб свободного места (Для Windows 8 рекомендуется 350Мб свободного места). Если свободного места недостаточно, то расширяем выбранный раздел в оснастке «Управление дисками».

Затем скачиваем из интернета программу BOOTICE и запускаем (ссылки приводить не буду, сами сможете найти без труда).

В программе выбираем нужный нам диск из раскрывающегося списка. В моем случае HD6:

Далее нажимаем кнопку «Process MBR» и откроется следующее окно:

В данном окне выбираем последний пункт «Windows NT 5.x / 6.x MBR» и нажимаем кнопку «Install/Config».

На диске будет настроен MBR, загружающий стандартный загрузчик bootmgr из активного раздела диска.

Далее можно загружаться на бездисковом ПК с данного iSCSI-диска и сходу устанавливать ОС WIndows.

Установка Windows запуститься автоматически.

Но рассмотрим еще один момент. Если мы хотим сделать данный раздел скрытым от пользователей и недоступным для операционной системы, то запускаем командную строку от имени администратора и набираем следующие команды:

Diskpart

List disk

Sel disk x (вместо x подставляем номер нужного диска, список которых выводит предыдущая команда)

Sel part 1 (при необходимости список разделов можно посмотреть командой List part)

Remove

Set id=27

После этого данный раздел диска станет технологическим и скрытым. Для этого раздела уже не возможно назначит букву диска и примонтировать его к работающей системе, но устанавливается Windows с данного раздела без проблем.

Получится что то типа раздела восстановления)

Надеюсь данная статья будет вам полезна. Всем удачи!

Ссылки на литературу:

Подключение и настройка iSCSI в Windows Server

Навигация по статье

Это инструкция по подключению iSCSI диска в Windows Server 2016. При заказе услуги iSCSI хранилище в SIM-Networks вы получите сообщение, подобное приведенному ниже (учтите, что значения чисел в адресе сервера могут отличаться от примера-иллюстрации, а вместо букв X,Y или Z в сообщении будут указаны реальные значения для настройки вашего доступа):

Услуга «iSCSI Backup» активирована.

Параметры доступа:

  • Адрес сервера (iscsi-target): 185.59.101.184
  • Логин: YYY
  • Пароль: ZZZ
  • Доступ к услуге на данный момент ограничен всего одним IP-адресом — XXX.XXX.XXX.XXX

Подключение диска iSCSI

1. Зайдите в «Панель Управления -> Администрирование» и запустите Инициатор iSCSI.

2. В разделе «Свойства» инициатора iSCSI перейдите на вкладку «Обнаружение» и нажмите кнопку «Обнаружить портал».

3. В открывшемся окне заполните поле «IP адрес» сервера iSCSI.

4. Откройте раздел дополнительных параметров подключения к серверу (нажмите кнопку «Дополнительно»). Выберите значения полей «Локальный адаптер» и «IP-адрес инициатора», как на рисунке ниже (где IP-адрес инициатора — это IP вашего локального сетевого адаптера, через который разрешено подключение к серверу iSCSI).

5. Сохраните настройки, убедитесь в получении изображения, подобного приведенному ниже:

6. В разделе «Свойства» инициатора iSCSI перейдите на вкладку «Конечные объекты», выберите появившийся объект с неактивным состоянием и нажмите кнопку «Подключить».

7. В открывшемся окне «Подключение к конечному объекту», нажмите кнопку «Дополнительно…»

8. Заполните поля раздела, как на рисунке ниже. Параметры «Имя» и «Секрет» — это «Логин» и «Пароль» из письма, отправленного вам при активации услуги.

9. Сохраните настройки. Убедитесь, что значение поля «Состояние» обнаруженного конечного объекта – «Подключено», как на рисунке ниже. Выйдите из раздела «Свойства» Инициатора iSCSI, сохранив настройки.

Инициализация и форматирование диска iSCSI

Подключенный iSCSI диск необходимо подготовить к работе (инициализировать и отформатировать).

10. В разделе «Администрирование» откройте вкладку «Управление компьютером».

11. Перейдите в раздел «Управление дисками».

12. Убедитесь, что ваш диск отображается, его состояние – «Вне сети».

 

13. Выберите из контекстного меню пункт «В сети».

14. Выполните инициализацию диска.

15. Проверьте, что статус диска изменился на «В сети», но на нём отсутствуют разделы и файловая система.

16. Из контекстного меню на не размеченном диске выберите «Создать простой том».

17. После открытия «Мастера создания простого тома» нажмите кнопку «Далее».

18. Укажите в соответствующем поле размер раздела, или оставьте без изменений значение «по умолчанию» (если необходимо использовать весь диск под один раздел).

19. Назначьте букву диска для нового раздела.

20. Выберите тип файловой системы и метку тома.

21. Нажмите кнопку «Готово» и убедитесь в завершении форматирования тома.

Важно! Во время форматирования может возникнуть окно с предложением отформатировать диск. Необходимо игнорировать этот запрос, закрыть окно и дождаться окончания форматирования.

22. Проверьте, что новый том находится в состоянии «Исправен».

23. Убедитесь, что новый том отображается среди дисков в «Проводнике».

Проверка доступности диска iSCSI для записи

24. Для проверки тома, перейдите к соответствующему диску в «Проводнике» и создайте, к примеру, текстовый файл, как на рисунке ниже:

25. Убедитесь, что при создании файла проблем не возникло – это означает, что новый том iSCSI подключен, отформатирован и работает исправно.

iSCSI и другие

Вступление

С появлением Fibre Channel и SAN, построенных на нем, мир storage сделал ставку на сетевой доступ к системам хранения. Практически все в один голос заявили, что за сетями хранения данных — будущее. На протяжении нескольких лет FC интерфейс оставался безальтернативным стандартом для их построения, но уже сегодня многие понимают, что наступает время перемен. В SAN на основе FC есть пара серьёзных недостатков — это цена и проблемы доступа к географически (на расстоянии больше сотен км) отдаленным устройствам. В последнее время возник ряд инициатив, которые находятся на этапе стандартизации и призваны решить или же обойти указанные проблемы. Интереснейшая из них — iSCSI.

Буквосочетание iSCSI все чаще попадает на страницы газет и проспекты ведущих производителей систем хранение данных. Загляните на ресурсы, посвященные storage, и вы обязательно его увидите. Но, просмотрев статьи и новости, вы скорее всего найдете массу абсолютно противоположных утверждений: одни преподносят iSCSI как неопровержимого лидера для сетей хранения данных уже в недалеком будущем, другие поставили на нем крест еще до его рождения.

Sun стала в оппозицию к ІP Storage

Sun стала в оппозицию к IP Storage. Sun Microsystems не будет выпускать систем хранения данных с доступом по IP. Марк Канепа, вице-президент Sun, ответственный за производство всех систем хранения данных, заявил на днях, что IP Storage был всего лишь «мечтой», сообщает Byte and Switch.

Канепа сказал, что «непрактично применять TCP/IP для организации SAN из-за большей задержки в таких сетях. Даже если у сетей хранения на основе IP есть будущее, то наступит оно через три-пять лет, а возможно, не наступит никогда. Поток от систем хранения данных не может работать поверх стека протоколов общего назначения, у него есть особые потребности. Технологические трудности внедрения TCP/IP намного более велики, чем многие думают. Именно поэтому мы в Sun делаем ставку на Fibre Channel», сказал он. До сих пор никто из производителей систем хранения данных не занимал столь четкой позиции против IP Storage. Конкуренты Sun, компании Hewlett-Packard и IBM, более или менее активно поддерживают эти технологии.

17 декабря, 2001: www.ustar.kiev.ua

HP обещает поддержку iSCSI

«Окончательная версия новой технологии должна появиться в первом квартале 2002 года, — сообщил руководитель подразделения систем сетевого хранения HP Марк Томпсон. Корпорация намеревается представить широкий спектр продуктов, которые поддерживают стандарт, іSCSI, предназначенный для объединения систем хранения в ІP-сетях…»

В HP признают, что пользователи систем Fibre Channel чувствуют себя достаточно комфортно и большее тяготеют к модернизованной технологии FCIP, чем к іSCSI. Но, в то же время, в HP верят, что опыт работы с решениями, основанными на протоколе ІP, и в особенности с Ethernet, сделает продукты іSCSI привлекательными для многих заказчиков.

Computerworld, #35/2001: «Федеративные системы хранения»

IBM выпускает продукт на базе iSCSI

IBM TotalStorage IP Storage 200i обеспечивает прямое подключение накопителей Ethernet LAN. Эта высокоскоростная система хранения данных поддерживает новый промышленный стандарт iSCSI, что обеспечивает передачу SCSI протокола поверх IP.

Ну что ж, столь противоречивые сообщения не оставляют нам другого выбора кроме как разобраться самим и самостоятельно взвесить все «ЗА» или «ПРОТИВ».

iSCSI

«iSCSI (Internet Small Computer System Interface) — это протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами».

Определение SNIA — IP Storage Forum: www.snia.org

iSCSI описывает:

  • Транспортный протокол для SCSI, который работает поверх TCP
  • Новый механизм инкапсуляции SCSI команд в IP сети
  • Протокол для новой генерации систем хранения данных, которые будут использовать «родной» TCP/IP

Сразу возникает негодование, хочется все разложить по отдельным кучкам. Как говорил один мой преподаватель: «Котлеты отдельно, мухи отдельно». Дело в том, что правила доставки пакетов в IP и SCSI абсолютно противоположные. В IP пакеты доставляются получателю без соблюдения строгой последовательности, он же и восстанавливает данные, на что затрачиваются определенные ресурсы. В то же время, по спецификации SCSI, как канального интерфейса, все пакеты должны передаваться один за другим без задержки, а нарушение этого порядка приводит к потере данных. Несмотря на то, что, по мнению некоторых специалистов, эта проблема вносит неоднозначность в практическое использование технологии iSCSI, на сегодня уже реализован ряд устройств, которые подтверждают ее жизнеспособность. Инженеры, которые работали над iSCSI, смогли определенным образом решить эту проблему. Спецификация iSCSI требует увеличения размеров заголовка пакета. В заголовок включается дополнительная информация, которая значительно ускоряет сборку пакетов.

По мнению одного из болельщиков iSCSI, Хеймора, старшего системного инженера университета штата Юта, основным препятствием для распространения Ethernet как базовой технологии построения сетей хранения данных является относительно большое время задержки (близкое к 75 микросекундам), которое возникает из-за особенностей стека TCP/ІР. В High-End системах при одновременном обращении к тысячам файлов это может стать серьезной проблемой.

Специалисты, которые работают над iSCSI, осознают значение проблемы задержки. И несмотря на то, что разрабатывается масса средств для уменьшения влияния параметров, которые служат причиной задержки при обработке IP пакетов, технология iSCSI позиционируется для построения систем среднего уровня.

iSCSI развивается очень быстро. Потребность в новом стандарте ощущалась так сильно, что буквально за 14 месяцев с момента предложения по созданию iSCSI, с которым в феврале 2000 года выступила IETF, появилось достаточно много устройств, чтобы продемонстрировать возможности по их взаимодействию. В июле 2000-го был опубликован Draft 0 по iSCSI, который стал началом работ по реализации технологии. В январе 2001 года в рамках SNIA (Storage Networking Industry Association) был создан IP Storage форум, который через полгода уже насчитывал 50 членов, а в апреле этого же года был представлен продукт, который в скором времени выиграл награду «Enterprise Networking Product».

Что же такого замечательного в iSCSI, что он находит поддержку среди грандов компьютерной индустрии, не считаясь с существующими внутри стандартам противоречиями.

Некоторые из важнейших прикладных задач и функций, реализуемые с использованием систем хранения данных, это:

Задачи, которые эффективно реализуются современными методами:

    · Консолидация систем хранения данных · Резервирование данных · Кластеризация серверов · Репликация (дублирование) · Восстановление в аварийных ситуациях

Новые возможности, которые эффективно реализуются с использованием IP Storage:

    · Географическое распределение SAN · QoS · Безопасность

Вместе с этим, новые системы хранения данных, для которых iSCSI будет родным протоколом, сформируют еще массу преимуществ:

    · Обеспечивается единая технология для подсоединения систем хранения, серверов и клиентов в рамках LAN, WAN, SAN · Наличие значительного опыта индустрии в Ethernet и SCSI технологиях · Возможность значительного географического отдаления систем хранения · Возможность использовать средства управления TCP/IP сетями

Причем, для передачи данных на storage с интерфейсом iSCSI можно использовать не только носители, коммутаторы и маршрутизаторы существующих сетей LAN/WAN, но и обычные сетевые карточки на стороне клиента. Правда, при этом возникают значительные накладные расходы процессорной мощности на стороне клиента, который использует такую карточку. По утверждению разработчиков, программная реализация iSCSI может достичь скоростей среды передачи данных Gigabit Ethernet при значительной, до 100% загрузке современных CPU. В связи с чем, рекомендуется использование специальных сетевых карточек, которые будут поддерживать механизмы разгрузки CPU от обработки стека TCP. На момент написания статьи (Июнь 2002 года), такие карточки производила компания Intel.

Intel PRO/1000T IP Storage Adapter предлагается компанией Intel по цене 700USD за штуку. Это устройство содержит мощный процессор Xscale, 32M памяти и осуществляет передачу вычислений, связанных с протоколами iSCSI и TCP/IP, а также расчет контрольных сумм кадров TCP, IP на интегрированный процессор. Его быстродействие, согласно внутренним тестам компании, может достигать 500Mbit/s при 3-5% загрузке CPU host системы.

Давайте рассмотрим iSCSI повнимательней

Рисунок 1. IP сеть с использованием iSCSI устройств

В примере, изображенном на рисунке 1, каждый сервер, рабочая станция и накопитель поддерживают Ethernet интерфейс и стек протокола iSCSI. Для организации сетевых соединений используются IP маршрутизаторы и Ethernet коммутаторы.

С внедрением SAN мы получили возможность использовать SCSI протокол в сетевых инфраструктурах, обеспечивая высокоскоростную передачу данных на уровне блоков между множественными элементами сети хранения данных.

Internet Small Computer System Interface тоже обеспечивает блочный доступ к данным, но не самостоятельно, а поверх сетей TCP/IP.

Архитектура обычного SCSI базируется на «клиент»/«серверной» модели. «Клиент», например сервер, или рабочая станция, инициирует запросы на считывание или запись данных с исполнителя — «сервера», например системы хранения данных. Команды, которые выдает «клиент» и обрабатывает «сервер» помещаются в Command Descriptor Block (CDB). «Сервер» выполняет команду, а окончание ее выполнения обозначается специальным сигналом. Инкапсуляция и надежная доставка CDB транзакций между инициаторами и исполнителями через TCP/IP сеть и есть главная задача iSCSI, причем ее приходится осуществлять в нетрадиционной для SCSI, потенциально ненадежной среде IP сетей.

Перед вами модель уровней протокола iSCSI, которая дает возможность понять порядок инкапсуляции SCSI команд для передачи их через физический носитель.

Рисунок 2. Модель нижних уровней протокола iSCSI

iSCSI протокол осуществляет контроль передачи блоков данных и обеспечивает подтверждение достоверности завершения операции ввода/вывода. Что, в свою очередь, обеспечивается через одно или несколько TCP соединений.

іSCSI имеет четыре составляющие:

  • Управление именами и адресами (iSCSI Address and Naming Conventions).
  • Управление сеансом (iSCSI Session Management).
  • Обработка ошибок (iSCSI Error Handling).
  • Безопасность (iSCSI Security).
Управление именами и адресами

Так как iSCSI устройства являются участниками IP сети, они имеют индивидуальные Сетевые Сущности (Network Entity). Сетевая Сущность может содержать одних или несколько iSCSI Узлов.

Рисунок 3. Модель сетевых сущностей

iSCSI узел является идентификатором SCSI устройств (в Сетевой Сущности), доступных через сеть. Каждый iSCSI узел имеет уникальное iSCSI имя (длиной до 255 байт), которое формируется по правилам, принятым для обозначения узлов в Internet. Например: «fqn.com.ustar.storage.itdepartment.161». Такое название имеет удобную для восприятия человеком форму и может обрабатываться Сервером Доменных Имен (DNS). Таким образом, iSCSI имя обеспечивает корректную идентификацию iSCSI устройства вне зависимости от его физического местонахождения. В то же время, в процессе контроля и передачи данных между устройствами удобнее пользоваться комбинацией IP адреса и TCP порта, которые обеспечиваются Сетевым порталом (Network Portal). iSCSI протокол дополнительно к iSCSI именам обеспечивает поддержку псевдонимов, которые, как правило, отображаются в системах администрирования для удобства идентификации и управления администраторами системы.

Управление сеансом

iSCSI сессия состоит из фаз аутентификации (Login Phase) и фазы обмена (Full Feature Phase), которая звершается специальной командой.

Фаза аутентификации iSCSI аналогична процессу Fibre Channel Port Login (PLOGI). Она используется для того, чтобы согласовать разнообразные параметры между двумя Сетевыми Сущностями и подтвердить право доступа инициатора. Если фаза аутентификации iSCSI завершается успешно, исполнитель подтверждает login инициатору, иначе логин не подтверждается, а TCP соединение закрывается.

Как только login подтвердится, iSCSI сессия переходит к фазе обмена. Если было установлено более одного соединения TCP, iSCSI требует, чтобы каждая пара команда/ответ проходила через одно TCP соединение. Такая процедура гарантирует, что каждая отдельная команда считывания или записи будет осуществляться без необходимости дополнительно отслеживать каждый запрос по поводу его прохождения по разным потокам. Однако разные транзакции могут одновременно передаваться через разные TCP соединения в рамках одной сессии.

Рисунок 4. Пример iSCSI Write

В завершение транзакции инициатор передает/принимает последние данные, а исполнитель отправляет ответ, который подтверждает успешную передачу данных.

В случае необходимости закрыть сессию, используется команда iSCSI logout, которая передает информацию о причинах завершения сессии. Она также может передать информацию о том, какое соединение следует закрыть в случае возникновения ошибки соединения, чтобы закрыть проблемные TCP связи.

Обработка ошибок

В связи с высокой вероятностью возникновения ошибок при передаче данных в некоторых типах IP сетей, в особенности WAN реализациях, в которых может функционировать iSCSI, протокол предусматривает массу мероприятий по обработке ошибок.

Для того, чтобы обработка ошибок и восстановление после сбоев функционировали корректно, как инициатор, так и исполнитель должны иметь возможность буферизации команд до момента их подтверждения. Каждое конечное устройство должно иметь возможность выборочно восстановить утраченный или испорченный PDU в рамках транзакции для восстановления передачи данных.

Иерархия системы обработки ошибок и восстановление после сбоев в iSCSI включает:

  1. На наиболее низком уровне — определение ошибки и восстановление данных на уровне SCSI задачи, например, повторение передачи утраченного или поврежденного PDU.
  2. На следующем уровне — в TCP соединении, которое передает SCSI задачу, может произойти ошибка, а именно, TCP соединение может повредиться. В этом случае осуществляется попытка восстановить соединение.
  3. И наконец, сама iSCSI сессия может испортиться. Терминация и восстановление сессии, как правило, не требуется, если восстановление корректно отрабатывается на других уровнях, однако может произойти обратное. Такая ситуация требует закрытия всех TCP соединений, завершения всех задач, недовыполненных SCSI команд и перезапуска сессии через повторный login.
Безопасность

В связи с использованием iSCSI в сетях, где возможен несанкционированный доступ к данным, спецификация предусматривает возможность использования разнообразных методов для повышения безопасности. Такие средства шифрования, как IPSec, которые используют нижние уровни, не требуют дополнительного согласования, так как являются прозрачными для верхних уровней, в том числе для iSCSI. Для аутентификации могут использоваться разнообразные решения, например такие, как Kerberos, или обмен Частными Ключами, в качестве репозитария ключей может использоваться iSNS сервер.

Другие (iFCP, FCIP)

В рамках работы над сетевыми технологиями хранения данных в Internet Engineering Task Force (IETF) была создана рабочая группа IP Storage (IPS) по направлениям:

  • iSCSI (Internet Small Computer Systems Interface)
  • FCIP (Fibre Channel over TCP/IP)
  • iFCP (Internet Fibre Channel Protocol)
  • iSNS (Internet Storage Name Service)

А также, как уже отмечалось, в январе 2001 в рамках SNIA (Storage Networking Industry Association) был организован IP Storage форум. Сегодня форум включает три подгруппы: FCIP, iFCP, iSCSI. Каждая из которых представляет протокол, который находится под протекцией IETF.

FCIP — созданный на базе TCP/IP туннельный протокол, функцией которого является соединение географически отдаленных FC SAN без какого-либо влияния на FC и IP протоколы.

iFCP — созданный на базе TCP/IP протокол для соединения FC систем хранения данных FC сетей хранение данных, используя IP инфраструктуру совместно или вместо FC коммутационных и маршрутизирующих элементов.

iSCSI — рассматривается выше…

Для лучшего понимания позиционирования этих трёх протоколов приведем структурную схему сетей, построенных с их использованием.

Рисунок 5. Блок-схема IP Storage сетей

Fibre Channel over IP

Наименее революционным из трех названых выше является протокол Fibre Channel over IP. Он не вносит практически никаких изменений в структуру SAN и в организацию самых систем хранения данных. Главная идея этого протокола — реализация возможности объединения географически отдаленных сетей хранения данных.

Вот так выглядит стек протокола FCIP:

Рисунок 6. Нижние уровни протокола FCIP

FCIP помогает эффективно решить задачу территориального распределения, и объединения SAN на больших расстояниях. Его основными преимуществами является то, что этот протокол полностью прозрачен для существующих FC SAN сетей и ориентирован на использование инфраструктуры современных MAN/WAN сетей. Таким образом, для обеспечения новой функциональности пользователям, которые ищут возможности связать между собою географически отдаленные FC SAN, будет нужен всего лишь FCIP шлюз и подключение к MAN/WAN сети. Географически распределенная SAN, построенная с помощью FCIP, воспринимается SAN устройствами как обычная FC сеть, а для MAN/WAN сети, к которой она подключенная, она представляет обычный IP трафик.

Draft стандарт рабочей группы IETF IPS — FCIP определяет:

  • правила инкапсуляции FC кадров для передачи через TCP/IP;
  • правила использования инкапсуляции для создания виртуальной связи между FC устройствами и элементами FC сети;
  • окружение TCP/IP для поддержки создания виртуальной связи и обеспечение тунелирования FC трафика через IP сеть, включая безопасность, целостность данных и вопрос скорости передачи данных.

Среди прикладных задач, которые можно качественно решить с использованием FCIP протокола: удаленное резервирование, восстановление данных и общий доступ к данным. При использовании высокоскоростных MAN/WAN коммуникаций можно также с успехом применять: синхронное дублирование данных и общий распределенный доступ к системам хранения данных.

iFCP

Internet Fibre Channel Protocol — это протокол, который обеспечивает передачу FC трафика поверх TCP/IP транспорта между шлюзами iFCP. В этом протоколе, транспортный уровень FC замещается транспортом IP сети, трафик между FC устройствами маршрутизируется и коммутируется средствами TCP/IP. Протокол iFCP предоставляет возможность подключать существующие FC системы хранения данных к IP сети с поддержкой сетевых сервисов, которые нужны этим устройствам.

Стек протокола iFCP имеет такой вид:

Рисунок 7. Нижние уровни протокола iFCP

iFCP, согласно спецификации:

  • накладывает кадры FC для их транспортирования на предварительно определенное TCP соединение;
  • FC сервисы передачи сообщений и маршрутизации перекрываются в шлюзовом устройстве iFCP, таким образом, сетевые структуры и компоненты FC не сливаются в общую FC SAN, а управляются средствами TCP/IP;
  • динамично создает IP туннели для FC кадров

Важной особенностью iFCP является то, что этот протокол обеспечивает FC device-to-device связь (связь между устройствами) через IP сеть, которая является значительно более гибкой схемой, если сравнивать ее со связью SAN-to-SAN. Так, например, если iFCP имеет TCP связь между парами портов N_Port двух FC устройств, такая связь может иметь свой собственный уровень QoS, который будет отличаться от уровня QoS другой пары FC устройств.

Заключение

Подводя итоги, хочется выразить свою твёрдую уверенность в том, что Fibre Channel в ближайшее время никуда не исчезнет, рынок FC SAN будет расти и развиваться. В то же время, IP Storage протоколы предоставят возможность эффективно использовать сети хранения данных в тех прикладных задачах, для которых FC не может обеспечить эффективной реализации. Используя протоколы FCIP и iFCP, сети хранения данных станут географически распределенными. А внедрение iSCSI в свою очередь, даст возможность использования преимуществ SAN в сферах, которые до сих пор остаются нереализованными, или реализуются неэффективно в рамках распространенных сегодня технологий.

P.S.

Бурное развитие сетей хранения данных стало основой формирования концепции World Wide Strorage Area Network. WWSAN — всемирная сеть хранения данных и предусматривает создание инфраструктуры, которая обеспечит высокоскоростной доступ и хранение данных, распределенных по всему миру. Концепция очень близкая к существующей сегодня WWW, но имеет в своей основе другие сервисы. Одним из оригинальных примеров является обслуживание «менеджера», который ездит по всему миру с презентациями. WWWSAN предусматривает прозрачное перемещение «мобильных» данных вслед за персональным перемещением их собственника по всему миру. Таким образом, где бы ни находился «менеджер», он всегда будет иметь возможность получить высокоскоростной доступ к нужным ему данным, работа с которыми не будет требовать сложной, временами очень неэффективной синхронизации через WWW.

Можно с уверенностью утверждать, что концепция построения всемирной сети хранения данных идеально вписывается в развитие современных технологий IP Storage.

Термины и сокращения:
  • SAN — Storage Area Network, Сеть Хранения Данных
  • CDB — command descriptor block, протокол дескриптора (описания) команды.
  • PDU — Protocol Data Unit протокольная единица обмена, модуль данных протокола.
  • QoS — сокр. от Quality of Service качество и класс предоставляемых услуг передачи данных (обычно описывает сеть в терминах задержки и полосы сигнала).
  • SNIA — Storage Networking Industry Association, ассоциация индустрии сетевых систем хранения данных.
  • DNS — Domain Name Server, сервер доменных имен.
  • PLOGI — Fibre Channel Port Login.
  • iSCSI — Internet Small Computer Systems Interface
  • FCIP — Fibre Channel over TCP/IP
  • iFCP — Internet Fibre Channel Protocol
  • iSNS — Internet Storage Name Service
  • WWSAN — World Wide Strorage Area Network, всемирная сеть хранения данных
Литература:
  • «SAN после Fibre Channel», — Лукас Мериан. 12.02.2002: Computerworld, #05/2002;
  • IP Storage Tutorial, — SNIA;
  • iSCSI Technical White Paper, — SNIA;
  • Internet Fibre Channel Protocol (iFCP) — A Technical Overview, — SNIA;
  • Storage Forum, — HP EMEA, 12-13 июня 2002 года.

Данную статью можно также прочитать в журнале «Сети и Телекоммуникации» №6, 2002

Ускорьте работу хранилища NAS с помощью iSCSI | Мир ПК


Marco Chiappetta. Speed Up Your NAS Device With iSCSI. PC World, September 2012, c. 86.


Хотите обращаться к сетевой системе хранения чуть быстрее? Испытайте способ, основанный на использовании встроенного инструмента Windows. Протокол iSCSI позволяет подключаться к удаленному тому хранения по Сети так, словно тот является локальным диском.


Аббревиатура iSCSI расшифровывается как Internet Small Computer System Interface. Технология SCSI (без i) уже очень давно используется для подключения различных периферийных устройств к компьютерным системам, но чаще всего с ее помощью осуществляется обмен данными с устройствами хранения — жесткими дисками или ленточными накопителями. Протокол iSCSI позволяет подсоединяться к удаленному тому хранения по Сети так, словно тот является локальным диском. Проще говоря, iSCSI транслирует команды SCSI по сетям IP (Internet Protocol). Данная технология напоминает виртуальный кабель SATA (или SCSI), причем для организации связи между системой и томом хранения используется сетевое соединение.


Чем же отличается iSCSI от любого другого подсоединенного по Сети накопителя с присвоенной ему буквой? Во многом конечные результаты будут аналогичны. Но, благодаря iSCSI, подключаемый том для операционной системы выглядит, как локальное блочное устройство хранения, которое можно отформатировать в стандарте любой файловой системы по своему выбору.


Интерфейсу iSCSI нужны два основных компонента: подсоединяемое к Сети устройство хранения (network-attached storage, NAS) или сервер с томом, сконфигурированным в качестве целевого объекта iSCSI, и инициатор iSCSI, позволяющий подключать систему к целевому объекту.


Если у вас имеется устройство NAS, подсоединенное к ПК, работающему в среде Windows, скорее всего, этого окажется вполне достаточно. Фактически все серверы NAS предлагают возможность настройки конфигурации целевых объектов iSCSI. А у Microsoft в каждой версии Windows, начиная с Vista, имеется инструмент для создания инициатора iSCSI. Инициатор можно запускать на компьютере с версией операционной системы не ниже Windows 2000.


Чтобы продемонстрировать принципы работы технологии iSCSI, возьмем сервер NAS с двумя накопителями Thecus N2200XXX, на котором запущена адаптированная версия ОС Linux с поддержкой iSCSI, и настольную систему под управлением Windows 7 Максимальная. Любая система, работающая в среде Windows, при взаимодействии с системой NAS создает устройство, поддерживающее iSCSI.


iSCSI — достоинства и недостатки


Как уже отмечалось выше, сетевой целевой объект iSCSI представлен в системе в виде локального диска. Поэтому можно не только отформатировать его в стандарте файловой системы ОС своего компьютера, но и обеспечить с тома iSCSI запуск приложений, которым требуется локальный диск. Такая гибкость очень важна для малого бизнеса, потому что многие программы не умеют работать в сетях. Технология iSCSI помогает разрешить данную проблему.


В некоторых случаях iSCSI позволяет повысить производительность путем подключения к клиентским системам больших дисковых массивов без применения специального оборудования и кабелей (что может помочь добиться существенной экономии). Впрочем, в этой статье мы ограничимся лишь рассмотрением потребительских систем среднего уровня.


Следует отметить, что технологии iSCSI присущи определенные недостатки. Установка системы не слишком сложна, однако для настройки целевого объекта и инициатора iSCSI одного лишь поиска сетевых ресурсов будет недостаточно. Чтобы избежать повреждения или потери данных, к целевому объекту одновременно следует подключать только один инициатор. Если вы используете высокопроизводительные серверы и дисковые накопители, производительность окажется ограничена скоростью сетевого соединения. Поэтому оптимальным выбором представляется подключение на гигабитных скоростях и выше — медленные сетевые соединения могут нивелировать все преимущества iSCSI.


 


Установка


Далее перечислены шаги, которые необходимо сделать, для того чтобы использовать технологию iSCSI с сервером Thecus N2200XXX NAS. Для других устройств и серверов последовательность действий будет аналогичной.


1. Войдите в меню конфигурации сервера NAS, выберите режим RAID и зарезервируйте пространство для тома iSCSI. Я использовал зеркалирование RAID 1 с двумя накопителями емкостью по 2 Тбайт. Одна половина имеющейся емкости была выделена под файловую систему EXT4, а другая осталась неиспользованной. (На третьем этапе неиспользуемая емкость была отведена для iSCSI.)


 


2. После выделения пространства для RAID его нужно отформатировать. Когда процесс форматирования завершится (в зависимости от конфигурации накопителя продолжительность этой процедуры может занимать несколько часов), можно приступать к выделению неиспользуемого пространства для целевого объекта iSCSI. (Если же все доступное пространство будет зарезервировано для iSCSI, не нужно форматировать дисковый массив на данном этапе.)


 


3. Теперь настроим конфигурацию целевого объекта iSCSI. Сначала я щелкнул мышью на ссылке Space Allocation в меню Storage, находящемся на левой панели, а затем нажал кнопку Add на вкладке iSCSI target. На экране появилось новое окно, в котором нужно выбрать желаемый размер целевого объекта iSCSI, активизировать его и присвоить ему имя.


А если вы желаете добавить еще один уровень безопасности, на этом же этапе можно настроить параметры протокола CHAP (Challenge Handshake Authentication Protocol).


4. Если все имеющееся пространство решено не выделять одному целевому объекту iSCSI, можно присвоить нескольким целевым объектам логические идентификаторы LUN (Logical Unit Number). Это позволит подключать несколько систем к одному устройству NAS или серверу, а каждая клиентская система получит свой собственный целевой объект iSCSI.


 


Настройка целевого объекта


После того как целевой объект iSCSI создан, необходимо подключиться к нему через инициатор iSCSI на клиентском ПК с операционной системой Windows. Щелкните мышью на кнопке «Пуск», наберите в поисковой строке iSCSI и нажмите клавишу (или перейдите в меню «Пуск» к Панели управления и в разделе «Система и безопасность» выберите пункт «Администрирование», а затем — «Инициатор iSCSI»). Если на экране появится сообщение о том, что служба iSCSI не работает, разрешите ее запуск, после чего на экране отобразится окно свойств инициатора iSCSI.




Тест CrystalDiskMark показал, что целевой объект iSCSI выполняет операции чтения на 40% быстрее подключенного сетевого диска


 


Перейдите на вкладку «Обнаружение» и нажмите кнопку «Обнаружить портал». В открывшемся окне введите IP-адрес устройства NAS или сервера, на котором размещается целевой объект iSCSI. Номер порта изменять не нужно (если ранее номер порта iSCSI не определялся). По умолчанию система предлагает порт 3260. Если ранее вы разрешили проведение аутентификации CHAP, следует нажать кнопку «Дополнительно» и ввести учетную информацию CHAP. В противном случае нажмите кнопку OK, и IP-адрес вашего устройства NAS или сервера появится в списке конечных порталов.


Если целевого объекта в этом списке нет, убедитесь в том, что IP-адрес введен правильно, а нужный порт на межсетевом экране открыт.


После того как сервер появится в списке конечных объектов, перейдите на вкладку «Конечные объекты». Созданный ранее целевой объект iSCSI должен появиться в группе конечных объектов в средней части окна. Щелкните мышью на объекте и нажмите кнопку «Подключить». В появившемся на экране окне подключения к целевому объекту установите опцию «Добавить это соединение в список избранных конечных объектов» и нажмите OK. Потом еще раз нажмите OK в окне свойств инициатора iSCSI.


В клиентской системе, подключенной к целевому объекту iSCSI, нужно отформатировать целевой объект с использованием той же процедуры, которую вы проделываете с любым локальным диском. Нажмите кнопку «Пуск», щелкните правой кнопкой мыши на пункте «Компьютер» и выберите из контекстного меню пункт «Управление». В разделе «Запоминающие устройства» окна утилиты «Управление компьютером» щелкните на ссылке «Управление дисками». На экране появится диалоговое окно «Инициализация диска». Убедитесь в том, что опция «Выбор диска» установлена и укажите нужный тип раздела (я использовал MBR — Master Boot Record). Нажмите OK.


Следуя подсказкам, отображаемым на экране, укажите размер тома, присвойте диску букву и укажите файловую систему и метку тома. Нажмите кнопку «Завершить». По завершении форматирования появится новая буква накопителя. Теперь можно переносить файлы и запускать программы с накопителя NAS независимо от того, где он находится.


 


Сравнение производительности


Чтобы оценить производительность используемого удаленного накопителя NAS, подключенного через интерфейс iSCSI, я сравнил целевой объект iSCSI со стандартным подключенным сетевым накопителем с помощью двух тестовых программ.


Тест ATTO Disk Benchmark особой разницы между подключенным сетевым диском и устройством iSCSI не выявил, хотя диск и продемонстрировал чуть более высокую пропускную способность. Впрочем, это относительно легкий тест, оценивающий только последовательную запись данных.




В тесте ATTO целевой объект iSCSI (его результаты представлены на графике) и сетевой диск продемонстрировали примерно одинаковую производительность


 


А вот тест CrystalDiskMark анализирует работу устройств в режиме как последовательного, так и произвольного доступа, оперируя двумя файлами разного объема. По его результатам, целевой объект iSCSI продемонстрировал существенно более высокое быстродействие. Скорость записи у устройства iSCSI и стандартного подключенного сетевого диска оказалась одинаковой, зато операции чтения через интерфейс iSCSI выполнялись на 30—40% быстрее.


Как показало тестирование, доступ к устройству NAS и форматирование его по образу и подобию локального диска, а также возможность запуска программ — не единственные преимущества, предоставляемые технологией iSCSI. Она обеспечивает еще и ускорение выполнения операций чтения. Таким образом, если вы имеете дело с устройствами NAS дома или в офисе, iSCSI позволит существенно (и совершенно бесплатно) повысить их производительность.

iSCSI — цель и инициаторы — CodingBee

iSCSI (Internet Small Computer System Interface) — это сетевой протокол хранения на основе IP, предназначенный для совместного использования блочного хранилища через Интернет. iSCSI следует модели сервер-клиент. Сервер (он же Target) делает хранилище доступным для использования Клиентами (также известными как Инициаторы).

Объявление

Я выпустил свой новый курс по Udemy, Kubernetes By Example . Зарегистрируйтесь сейчас, чтобы получить бесплатный пожизненный доступ!

Target делает хранилище доступным в виде блочного устройства (например,г. / dev / sdb). В результате Инициаторы рассматривают удаленное хранилище как локально подключенное блочное устройство и, следовательно, рассматривают удаленное блочное устройство как обычное блочное устройство, например вы можете запускать против него такие команды, как fdisk, pvcreate, mkfs.ext4 и т. д. Это означает, что когда Инициатор успешно устанавливает сеанс с Целевым объектом, одно или несколько блочных устройств в папке / dev (например, / dev / sdc) внезапно появятся и будут готовы к использованию.

Однако эти удаленные блочные устройства могут не работать так же хорошо, как более традиционные (локально подключенные) блочные устройства.Это связано с тем, что удаленные блочные устройства работают по сети, поэтому могут возникать задержки при передаче данных.

Мы рассмотрим приветственный пример настройки цели и инициатора. Конечным результатом этого примера будет то, что новое блочное устройство / dev / sdb появится в Инициаторе, на котором мы затем установим файловую систему и обеспечим ее постоянное монтирование. Мы создали демонстрационный бродячий проект iSCSI, чтобы вы могли следовать этому примеру:

Установка цели

Сначала мы установим цель.Для начала устанавливаем целевое программное обеспечение iSCSI:

$ yum install -y targetcli
 

Затем нам нужно найти блочное устройство для совместного использования. Блочное устройство может быть в любой из следующих форм:

  1. Целое физическое блочное устройство, например sda, sdb, xvdf… и т. д.
  2. Раздел, например sda3, sdb2, xvdf2… и т. д.
  3. Логический том
  4. Создайте специальный файл образа iSCSI желаемого размера, известный как backstore fileio — не рекомендуется, поскольку его производительность не так уж велика.

В нашем примере мы будем использовать следующее блочное устройство:

[root @ iscsi-target ~] # файл / dev / sdb
/ dev / sdb: специальный блок
 

Мы начинаем создавать цель, используя команду targetcli, которая запускает ее собственный интерактивный сеанс:

[корень @ iscsi-target ~] # targetcli
оболочка targetcli версии 2.1.fb46
Авторские права 2011-2013 принадлежат Datera, Inc и другим.
Чтобы получить справку по командам, введите «help».

/>

 

Во-первых, вы можете использовать команду ls, чтобы получить общее представление:

/> ls
о- /................................................... .................. [...]
  o- складские запасы ............................................... ........... [...]
  | o- блок .............................................. [ Объекты хранения: 0]
  | o- fileio ............................................. [Хранение Объекты: 0]
  | o- pscsi .............................................. [ Объекты хранения: 0]
  | o- ramdisk ............................................ [Объекты хранения : 0]
  o- iscsi ........................................................ [Целей: 0 ]
  o- петля ............................................... ...... [Целей: 0]
/>
 

Позже вы обнаружите, что существует файл json, структура которого отражает приведенное выше дерево. Этот файл json обновляется в фоновом режиме с изменениями, которые вы вносите в этом интерактивном сеансе. Вы можете перемещаться по этому дереву с помощью команды cd, а в каждом разделе вы можете запустить команду «help», чтобы получить дополнительную контекстную помощь.

Совет: здесь широко используйте технику автозаполнения табуляции + табуляции, чтобы изучить, какие команды доступны в каждом разделе, и более быстро создавать свои команды.

Вот задачи, которые нужно выполнить в targetcli:

  1. Зарегистрировать блочное устройство
  2. Создайте iqn — это то, что публикуется для инициаторов при запросе
  3. Создайте LUN ​​(номер логического устройства) — это связывает наше блочное устройство с iqn
  4. Создать имя для использования инициаторами — это создает частное имя, которое инициаторы могут подключаться к
  5. Установить имя пользователя и пароль (необязательно)

Шаг 1 — зарегистрируйте блочное устройство : зарегистрируйте / dev / sdb и пометьте его именем, которое будет использоваться для ссылки на него в targetcli:

/> backstores / block создать BD1 / dev / sdb
Создал объект блочного хранилища BD1 с помощью / dev / sdb./> ls
о- / ............................................... .......................................... [...]
  o- складские запасы ............................................... ............................... [...]
  | o- блок ............................................... ................... [Объекты хранения: 1]
  | | o- BD1 ............................................ [/ dev / sdb (2.0GiB) сквозная запись отключена]
  | | o- alua ............................................... .................... [Группы ALUA: 1]
  | | o- default_tg_pt_gp....................................... [состояние ALUA: активен / оптимизирован]
  | o- fileio ............................................... .................. [Объекты хранения: 0]
  | o- pscsi ............................................... ................... [Объекты хранения: 0]
  | о- рамдиск ............................................... ................. [Объекты хранения: 0]
  o- iscsi ............................................... ............................. [Целей: 0]
  o- петля ............................................................... .......... [Целей: 0]
/>
 

Вы можете назвать его как хотите, в моем случае я назвал его BD1, сокращение от Block-Device-1

Вот еще один способ сделать то же самое:

/ backstores> блок компакт-диска
/ backstores / block> создать BD1 / dev / sdb
Создал объект блочного хранилища BD1 с помощью / dev / sdb.
/ backstores / block>
 

Шаг 2 — создайте IQN : Затем нам нужно создать полное имя iSCS (IQN), которое является полным именем, которое будет использоваться для ссылки на наш новый блок backstore.Этот IQN предоставляется клиенту, когда клиент сканирует сервер (в режиме обнаружения) на наличие доступных устройств.

Итак, мы создаем новый IQN с именем «iqn.2018-02.net.cb.target:fqdn». Это делается в папке iSCSI:

/ backstores / block>  cd / iscsi 
/ iscsi>  создать iqn.2018-04.net.cb.target:fqdn 


Создана цель iqn.2018-04.net.cb.target:fqdn.
Создал TPG 1.
Глобальная настройка auto_add_default_portal = true
Создан портал по умолчанию, прослушивающий все IP-адреса (0.0.0.0), порт 3260.


/ iscsi> ls /
о- / ............................................... .......................................... [...]
  o- складские запасы ............................................... ............................... [...]
  | o- блок ............................................... ................... [Объекты хранения: 1]
  | | o- BD1 ............................................ [/ dev / sdb (2.0GiB) сквозная запись отключена]
  | | o- alua ................................................................... [Группы ALUA: 1]
  | | o- default_tg_pt_gp ....................................... [состояние ALUA: активен / оптимизирован]
  | o- fileio ............................................... .................. [Объекты хранения: 0]
  | o- pscsi ............................................... ................... [Объекты хранения: 0]
  | о- рамдиск ............................................... ................. [Объекты хранения: 0]
  o- iscsi ............................................................................ [Цели: 1]
  | o- iqn.2018-04.net.cb.target:fqdn ................................... ................. [TPGs: 1]
  | o- tpg1 ............................................... ................ [no-gen-acls, no-auth]
  | o-acls ............................................... ........................... [ACL: 0]
  | о-луны ............................................... ........................... [LUN: 0]
  | o- порталы .................................................................... [Порталы: 1]
  | о- 0.0.0.0:3260 ........................................... .......................... [В ПОРЯДКЕ]
  o- петля ............................................... .......................... [Целей: 0]
/ iscsi>
 

Примечание: iqn должен быть уникальным и соответствовать определенному формату:

  • Строка «iqn.», За которой следует
  • ГГГГ-ММ. — обычно это год регистрации домена бокса, но может быть любой месяц + год,
  • Имя хоста компьютера

  • записано в обратном порядке (Примечание: имя хоста в нашем поле — target.cb.net ’. )
  • Необязательная строка

  • — это помогает сделать IQN уникальным. В нашем примере мы присвоили ему строку «fqdn»
  • .

Совет: запоминать этот формат не нужно. Вы можете увидеть пример этого формата при настройке клиента iscsi, где пример приведен в /etc/iscsi/initiatorname.iscsi, мы рассмотрим это позже.

Обратите внимание, что было создано что-то под названием «TPG1». Это сокращение от «Target Portal Group». TPG — это то, что объединяет различные конфигурации вместе.Мы можем взглянуть глубже так:

Шаг 3 — Создайте LUN ​​: Затем нам нужно создать LUN (номер логического устройства). Это делается внутри папки luns.

/ iscsi> cd /iscsi/iqn.2018-02.net.cb.target:fqdn/tpg1/luns
.... luns> создать / backstores / block / BD1
Создан LUN 0.



/iscsi/iqn.20 ... qdn / tpg1 / luns> ls /
о- / ............................................... .......................................... [...]
  o- складские запасы .............................................................................. [ ...]
  | o- блок ............................................... ................... [Объекты хранения: 1]
  | | o- BD1 .............................................. [ / dev / sdb (2.0GiB) сквозная запись активирована]
  | | o- alua ............................................... .................... [Группы ALUA: 1]
  | | o- default_tg_pt_gp ....................................... [состояние ALUA: активен / оптимизирован]
  | o- fileio ................................................................. [Объекты хранения: 0]
  | o- pscsi ............................................... ................... [Объекты хранения: 0]
  | о- рамдиск ............................................... ................. [Объекты хранения: 0]
  o- iscsi ............................................... ............................. [Цели: 1]
  | o- iqn.2018-02.net.cb.target:fqdn ................................... ................. [TPGs: 1]
  | o- tpg1 ............................................................... [no-gen-acls, no-auth ]
  | o-acls ............................................... ........................... [ACL: 0]
  | о-луны ............................................... ........................... [LUN: 1]
  | | o- lun0 ........................................ [блок / BD1 (/ dev / sdb) (default_tg_pt_gp)]
  | o- порталы ............................................... ..................... [Порталы: 1]
  | о- 0.0.0.0:3260 ......................................................... ............ [В ПОРЯДКЕ]
  o- петля ............................................... .......................... [Целей: 0]
 

Это, по сути, связывает наше устройство backstore block (BD1) с нашим iqn, все сгруппированы под нашим TPG.

Шаг 4 — создайте имя для использования инициаторами : Затем нам нужно дать нашему блоку backstore уникальное имя, на которое инициаторы могут ссылаться, чтобы подключиться к нему (обратите внимание, мы предоставляем строку суффикса «client»).Вы можете думать об этой ссылке инициатора как об имени пользователя, то есть клиенту необходимо заранее знать, что это за имя пользователя, чтобы подключиться к нему. Следовательно, эта ссылка создается под:

/>  компакт-диск /iscsi/iqn.2018-02.net.cb.target:fqdn/tpg1/acls 
/iscsi/iqn.20 ... qdn / tpg1 / acls>  создать iqn.2018-02.net.cb.target:client 
Создан узел ACL для iqn.2018-02.net.cb.target:client
Создан сопоставленный LUN 0.


/iscsi/iqn.20 ... qdn / tpg1 / acls> ls /
о- / ...................................................... ................................... [...]
  o- складские запасы ............................................... ............................... [...]
  | o- блок ............................................... ................... [Объекты хранения: 1]
  | | o- BD1 .............................................. [ / dev / sdb (2.0GiB) сквозная запись активирована]
  | | o- alua ............................................... .................... [Группы ALUA: 1]
  | | o- default_tg_pt_gp....................................... [состояние ALUA: активен / оптимизирован]
  | o- fileio ............................................... .................. [Объекты хранения: 0]
  | o- pscsi ............................................... ................... [Объекты хранения: 0]
  | о- рамдиск ............................................... ................. [Объекты хранения: 0]
  o- iscsi ............................................... ............................. [Цели: 1]
  | o- iqn.2018-02.net.cb.target:fqdn................................................... . [TPGs: 1]
  | o- tpg1 ............................................... ................ [no-gen-acls, no-auth]
  | o-acls ............................................... ........................... [ACL: 1]
  | | o- iqn.2018-02.net.cb.target:client ................................... .. [Подключенные LUN: 1]
  | | o- mapped_lun0 ............................................... .... [блок lun0 / BD1 (rw)]
  | о- луны ..................................................................... ..... [LUN: 1]
  | | o- lun0 ........................................ [блок / BD1 (/ dev / sdb) (default_tg_pt_gp)]
  | o- порталы ............................................... ..................... [Порталы: 1]
  | о- 0.0.0.0:3260 ........................................... .......................... [В ПОРЯДКЕ]
  o- петля ............................................... .......................... [Целей: 0]
 

На этом этапе цель полностью сконфигурирована для установки.

Шаг 5 (необязательно) — установите имя пользователя и пароль. : Мы могли бы также захотеть защитить паролем это хранилище. это возможно, выполнив следующую команду:

/> cd /iscsi/iqn.2018-02.net.cb.target:fqdn/tpg1/acls/iqn.2018-02.net.cb.target:client/
/iscsi/iqn.20 ... цель: клиент> установить идентификатор пользователя = codingbee
ИД пользователя параметра теперь "codingbee".


/iscsi/iqn.20 ... цель: клиент> установить пароль аутентификации = пароль
Параметр «ИД пользователя» теперь «пароль».
 

После всего, что было сделано, вот как все это в итоге выглядит:

/> ls
о- /................................................... ...................................... [...]
  o- складские запасы ............................................... ............................... [...]
  | o- блок ............................................... ................... [Объекты хранения: 1]
  | | o- BD1 .............................................. [ / dev / sdb (2.0GiB) сквозная запись активирована]
  | | o- alua ............................................... .................... [Группы ALUA: 1]
  | | o- default_tg_pt_gp....................................... [состояние ALUA: активен / оптимизирован]
  | o- fileio ............................................... .................. [Объекты хранения: 0]
  | o- pscsi ............................................... ................... [Объекты хранения: 0]
  | о- рамдиск ............................................... ................. [Объекты хранения: 0]
  o- iscsi ............................................... ............................. [Цели: 1]
  | o- iqn.2018-02.net.cb.target:fqdn................................................... . [TPGs: 1]
  | o- tpg1 ............................................... ................ [no-gen-acls, no-auth]
  | o-acls ............................................... ........................... [ACL: 1]
  | | o- iqn.2018-02.net.cb.target:client ................................... .. [Подключенные LUN: 1]
  | | o- mapped_lun0 ............................................... .... [блок lun0 / BD1 (rw)]
  | о- луны ..................................................................... ..... [LUN: 1]
  | | o- lun0 ........................................ [блок / BD1 (/ dev / sdb) (default_tg_pt_gp)]
  | o- порталы ............................................... ..................... [Порталы: 1]
  | о- 0.0.0.0:3260 ........................................... .......................... [В ПОРЯДКЕ]
  o- петля ............................................... .......................... [Целей: 0]
/>
 

Теперь можно выйти:

/> выход
Глобальная настройка auto_save_on_exit = true
Последние 10 конфигураций сохранены в / etc / target / backup.Конфигурация сохранена в /etc/target/saveconfig.json
 

Обратите внимание на файл json. По сути, здесь хранится все, что мы настроили с помощью команды targetcli, включая любые имена пользователей и пароли. Выглядит это так:

[корень @ цель ~] # кот /etc/target/saveconfig.json
{
  "fabric_modules": [],
  "storage_objects": [
    {
      "alua_tpgs": [
        {
          "alua_access_state": 0,
.
.
.
...так далее
 

Затем нам нужно внести в белый список порт iSCSI в firewalld:

[root @ iscsi-target ~] # firewall-cmd --permanent --add-service = iscsi-target
успех
[root @ iscsi-target ~] # systemctl перезапуск firewalld
 

Затем включаем целевой сервис:

$ systemctl включить цель
$ systemctl start target
 

Настройка инициатора

Затем мы заходим в наш блок инициатора и устанавливаем следующее:

$ yum install -y iscsi-initiator-utils
 

Далее нужно отредактировать 2 файла, они оба находятся в следующем каталоге:

[root @ iscsi-initiator ~] # cd / etc / iscsi /
[root @ iscsi-initiator iscsi] # ll
всего 20
-rw-r - r--.1 корень root 50 26 фев, 19:44 initiatorname.iscsi
-rw -------. 1 root root 12329 7 августа 2017 iscsid.conf
 

Сначала необходимо отредактировать следующий файл:

[root @ iscsi-initiator iscsi] # cat /etc/iscsi/initiatorname.iscsi
InitiatorName = iqn.1994-05.com.redhat: 41d9a65147c3
 

С выбранным нами именем, в нашем случае это будет:

[root @ iscsi-initiator iscsi] # cat /etc/iscsi/initiatorname.iscsi
Имя инициатора = iqn.2018-05.net.codingbee.iscsi-target: clientmynewscsiblockdevice1
 

Теперь, если цель защищена паролем, вам нужно отредактировать файл / etc / iscsi / iscsid.conf , в частности следующий раздел:

.
.
.
# *************
# Настройки CHAP
# *************

# Чтобы включить аутентификацию CHAP, установите node.session.auth.authmethod
# в CHAP. По умолчанию - Нет.
  # node.session.auth.authmethod = CHAP 

# Чтобы установить имя пользователя и пароль CHAP для инициатора
# аутентификация по цели (целям), раскомментируйте следующие строки:
  # node.session.auth.username = имя пользователя
# node.session.auth.password = пароль 
.
.
.
 

Нам нужно раскомментировать эти строки и добавить учетные данные, в нашем примере это выглядит так:

# *************
# Настройки CHAP
# *************

# Для включения аутентификации CHAP установите узел.session.auth.authmethod
# в CHAP. По умолчанию - Нет.
node.session.auth.authmethod = CHAP

# Чтобы установить имя пользователя и пароль CHAP для инициатора
# аутентификация по цели (целям), раскомментируйте следующие строки:
node.session.auth.username = codingbee
node.session.auth.password = password123

 

Предупреждение. В этом файле есть еще одна часть, которая похожа на этот сегмент, поэтому убедитесь, что обновили не ту часть.

Далее запускаем сервис iscsi:

$ systemctl включить iscsi
$ systemctl start iscsi
 

Теперь нам нужно просканировать наш целевой сервер на наличие доступного хранилища iSCSI, мы делаем это с помощью режима обнаружения:

[root @ iscsi-initiator iscsi] # iscsiadm --mode discovery --type sendtargets --portal 192.168.14.100
192.168.14.100:3260,1 iqn.2018-05.net.codingbee.iscsi-target: mynewscsiblockdevice1
 

Здесь мы указали IP-адрес целевого сервера. Здесь мы отправили запрос на целевой сервер, чтобы отправить нам все доступные цели. Возвращает один результат.

Теперь мы готовы попытаться получить к нему доступ. Но прежде чем мы это сделаем, давайте сначала проведем пару проверок:

[root @ iscsi-initiator ~] # lsblk --scsi
ИМЯ HCTL ТИП МОДЕЛЬ ПОСТАВЩИКА REV TRAN
sda 2: 0: 0: 0 диск ATA VBOX HARDDISK 1.0 сата
 

Обратите внимание, здесь перечислены только sda. Также еще не существует:

[root @ initiator iscsi] # iscsiadm --mode discovery --type sendtargets --portal 192.168.14.100
192.168.14.100:3260,1 iqn.2018-02.net.cb.target:fqdn
 

Примечание: всегда используйте IP-адрес для настройки портала. Использование имени DNS вызовет проблемы.

Теперь запустите iscsiadm в режиме узла следующим образом:

[root @ initiator iscsi] # iscsiadm --mode node --targetname iqn.2018-02.net.cb.target:fqdn --portal 192.168.14.100 --login

Вход в [iface: по умолчанию, цель: iqn.2018-02.net.cb.target:fqdn, портал: 192.168.14.100,3260] (несколько)
Вход в [iface: default, target: iqn.2018-02.net.cb.target:fqdn, portal: 192.168.14.100,3260] выполнен успешно.
 

Чтобы убедиться, что это сработало, запустите:

[root @ initiator iscsi] # lsblk --scsi
ИМЯ HCTL ТИП МОДЕЛЬ ПОСТАВЩИКА REV TRAN
sda 2: 0: 0: 0 диск ATA VBOX HARDDISK 1.0 sata
sdb 3: 0: 0: 0 диск LIO-ORG BD1 4.0 iscsi

 

Теперь вы можете установить на него файловую систему:

[root @ initiator ~] # mkfs.xfs -L iscsi_device / dev / sdb
метаданные = / dev / sdb isize = 512 agcount = 4, agsize = 131072 байт
         = sectsz = 512 attr = 2, projid32bit = 1
         = crc = 1 finobt = 0, sparse = 0
data = bsize = 4096 блоков = 524288, imaxpct = 25
         = sunit = 0 ширина = 0 бликов
naming = версия 2 bsize = 4096 ascii-ci = 0 ftype = 1
log = внутренний журнал bsize = 4096 блоков = 2560, версия = 2
         = sectsz = 512 сунит = 0 пробелов, ленивый счет = 1
realtime = нет extsz = 4096 блоков = 0, rtextents = 0

[root @ initiator ~] # blkid | grep sdb
/ dev / sdb: UUID = "c00cfb33-2193-4d7d-80d4-f91af3468906" TYPE = "xfs"
 

Примечание: нам понадобится это значение UUID, см. Ниже.

Затем мы создаем точку монтирования для этой новой файловой системы:

[root @ initiator iscsi] # mkdir / mnt / remotedisk
 

Мы можем проверить эти крепления нормально, запустив:

[root @ initiator iscsi] # монтировать / dev / sdb / mnt / remotedisk

[root @ initiator iscsi] # lsblk
НАЗВАНИЕ ГЛАВНОЕ: МИН.РМ РАЗМЕР RO ТИП ГОРКА
sda 8: 0 0 64 ГБ 0 диск
├─sda1 8: 1 0 1G 0 часть / загрузка
└─sda2 8: 2 0 63G 0 часть
  ├─centos-root 253: 0 0 41G 0 lvm /
  ├─centos-swap 253: 1 0 2G 0 lvm [SWAP]
  └─centos-home 253: 2 0 20G 0 лвм / дом
sdb 8:16 0 2G 0 диск / mnt / удаленный диск


[root @ initiator ~] # umount / dev / sdb
 

Мы снова размонтировали его, так что теперь мы можем постоянно монтировать, используя appraoch / etc / fstab.Итак, вот строка, которую нужно добавить:

[корень @ инициатор ~] # cat / etc / fstab

#
# / etc / fstab
# Создано anaconda 2 февраля, пт, 05:24:03 2018
#
# Доступные файловые системы, по ссылке, поддерживаются в '/ dev / disk'
# См. Справочные страницы fstab (5), findfs (8), mount (8) и / или blkid (8) для получения дополнительной информации
#
/ dev / mapper / centos-root / xfs по умолчанию 0 0
UUID = 9e33c3c1-98df-4fe1-a66f-13ffbaa5f154 / boot xfs по умолчанию 0 0
/ dev / mapper / centos-home / home xfs по умолчанию 0 0
/ dev / mapper / centos-swap swap swap значения по умолчанию 0 0
UUID = c00cfb33-2193-4d7d-80d4-f91af3468906 / mnt / remotedisk xfs  _netdev  0 0

 

Обратите внимание на опцию ‘_netdev ’mount, это предотвращает зависание процесса загрузки при возникновении каких-либо проблем, связанных с сетью.

Теперь мы тестируем нашу запись fstab следующим образом:

[root @ initiator ~] # lsblk
НАЗВАНИЕ ГЛАВНОЕ: МИН.РМ РАЗМЕР RO ТИП ГОРКА
sda 8: 0 0 64 ГБ 0 диск
├─sda1 8: 1 0 1G 0 часть / загрузка
└─sda2 8: 2 0 63G 0 часть
  ├─centos-root 253: 0 0 41G 0 lvm /
  ├─centos-swap 253: 1 0 2G 0 lvm [SWAP]
  └─centos-home 253: 2 0 20G 0 лвм / дом
sdb 8:16 0 2G 0 диск

[root @ initiator ~] # mount -a

[root @ initiator ~] # lsblk
НАЗВАНИЕ ГЛАВНОЕ: МИН.РМ РАЗМЕР RO ТИП ГОРКА
sda 8: 0 0 64 ГБ 0 диск
├─sda1 8: 1 0 1G 0 часть / загрузка
└─sda2 8: 2 0 63G 0 часть
  ├─centos-root 253: 0 0 41G 0 lvm /
  ├─centos-swap 253: 1 0 2G 0 lvm [SWAP]
  └─centos-home 253: 2 0 20G 0 лвм / дом
sdb 8:16 0 2G 0 диск / mnt / удаленный диск
 

Пока все хорошо.Наконец, мы тестируем удаленное хранилище, создавая файл в новом хранилище:

.

[root @ initiator remotedisk] # touch testfile.txt
[root @ initiator remoteisk] # ll
всего 16
drwx ------. 2 root root 16384 27 фев 11:20 потеряно + найдено
-rw-r - r--. 1 корень root 0 27 февраля 11:23 testfile.txt
[root @ initiator remoteisk] #
 

Следующим шагом является обеспечение автоматического монтирования этого удаленного блочного устройства при перезагрузке машины. Это делается путем добавления строки в файл / etc / fstab.

Чтобы получить статистику о нашем монтировании iSCSI, мы можем запустить:

[root @ initiator remoteisk] # iscsiadm -m сеанс -P 3
Транспортный класс iSCSI версии 2.0-870
версия 6.2.0.874-2
Цель: iqn.2018-02.net.cb.target:fqdn (без вспышки)
Текущий портал: 192.168.14.100:3260,1
Постоянный портал: 192.168.14.100:3260,1
**********
Интерфейс:
**********
Имя Iface: по умолчанию
Транспорт Iface: tcp
Имя инициатора Iface: iqn.2018-02.net.cb.target:client
IP-адрес Iface: 192.168.14.101
Ифаце H Адрес:
Iface Netdev:
SID: 1
Состояние подключения iSCSI: ВХОД
Состояние сеанса iSCSI: LOGGED_IN
Состояние внутренней сессии iscsid: БЕЗ ИЗМЕНЕНИЙ
*********
Таймауты:
*********
Тайм-аут восстановления: 120
Таймаут сброса целевого значения: 30
Тайм-аут сброса LUN: 30
Тайм-аут прерывания: 15
*****
ГЛАВА:
*****
имя пользователя: codingbee
пароль: ********
username_in:
password_in: ********
************************
Согласованные параметры iSCSI:
************************
HeaderDigest: Нет
DataDigest: Нет
MaxRecvDataSegmentLength: 262144
MaxXmitDataSegmentLength: 262144
Длина первого взрыва: 65536
MaxBurstLength: 262144
ImmediateData: Да
InitialR2T: Да
MaxOutstandingR2T: 1
************************
Подключенные устройства SCSI:
************************
Номер хоста: 3 Состояние: работает
scsi3 Канал 00 Идентификатор 0 Lun: 0
Подключенный scsi диск sdb Состояние: работает
 

Наконец, вы хотите отключить это удаленное хранилище и останавливать службу iSCSI каждый раз, когда ваша машина выключается:

$ umount / dev / sdb
$ systemctl stop iscsi
 

См. Также: https: // unix.stackexchange.com/questions/39226/how-to-run-a-script-with-systemd-right-before-shutdown

[post-content post_name = rhsca-quiz]

В тесте мы предположим, что у нас есть коробки со следующими названиями:

Сервер iSCSI с именем хоста target.cb.net
Клиент iSCSI с именем хоста initiator.cb.net

На стороне сервера (target.cb.net) вопросы:

Какие rpms необходимо установить на сервере?

$ yum install -y targetcli

Какая команда используется для входа в интерактивный режим iSCSI?

$ targetcli

Какие задачи нужно выполнять в интерактивном режиме?

1.Зарегистрируйте блочное устройство — выполняется в / backstores / block
2. Создайте iqn — делается в / iscsi
.
3. Создайте LUN ​​(номер логического устройства) — это связывает наше блочное устройство с lun. Это делается в папке / iscsi / {iqn-fqdn} / tpg1 / luns
.
4. Создайте имя для использования инициаторами — это создает частное имя, к которому инициаторы могут подключаться — это делается в / iscsi / {iqn-fqdn} / tpg1 / acls
.
5. Задайте имя пользователя и пароль (необязательно) — это делается в / iscsi / {iqn-fqdn} / tpg1 / acls / {initiar-client-ref-name} /

Какая команда предназначена для регистрации блочного устройства / dev / sdb и присвоения ему имени «BD1»?

cd backstores / block
create BD1 / dev / sdb
Создан объект блочного хранилища BD1 с использованием / dev / sdb.

Какая команда создает IQN с суффиксом имени «blocksdb»?

cd / iscsi
create iqn.YYYY-MM.net.cb.target:blocksdb

Какова команда для создания LUN?

cd / iscsi / {iqn-name} / tpg1 / luns
create / backstores / block / BD1

Создать имя «клиент» для использования инициаторами?

cd / iscsi / {iqn-name} / tpg1 / acls
create iqn.YYYY-MM.net.cb.target:client

Какая команда задает имя пользователя и пароль?

/> cd / iscsi / {iqn-name} / tpg1 / acls / {initiar-client-ref-name} /
… /…: Client> set auth userid = codingbee
ИД пользователя параметра теперь «codingbee».

… /…: клиент> установить пароль аутентификации = пароль
Параметр ИД пользователя теперь «пароль».

Какие команды, связанные с firewalld, необходимо запустить?

[root @ iscsi-target ~] # firewall-cmd –permanent –add-service = iscsi-target
success
[root @ iscsi-target ~] # systemctl restart firewalld

Какая команда для запуска + включить демон iSCSI?

$ systemctl start target
$ systemctl enable target

Клиентская сторона (инициатор.cb.net) вопросов:

Whta rpms необходимо установить на клиенте?

$ yum install -y iscsi-initiator-utils

Какие файлы конфигурации нужно отредактировать?

— /etc/iscsi/initiatorname.iscsi
— /etc/iscsi/iscsid.conf (необязательно)

Какие конфигурации необходимо выполнить в /etc/iscsi/initiatorname.iscsi?

$ echo «Имя инициатора = iqn. $ {Год} — $ {месяц} .net.cb.target: клиент»> / etc / iscsi / initiatorname.iscsi
# т.е. вы используете ссылку на клиента.

Какие настройки необходимо сделать в /etc/iscsi/iscsid.conf?

Нет необходимости вносить какие-либо изменения, если устройство iSCSI не защищено паролем. Необходимо обновить раздел CHAP и включить раздел authmethod, а также указать имя пользователя и пароль.

Какая команда выполняет поиск доступных устройств хранения iSCSI на целевом объекте?

$ iscsiadm –mode discovery –type sendtargets –portal {target’s-ip-address}
# выводит полное имя iSCS (IQN) запоминающего устройства.

Какая команда используется для включения и запуска службы инициатора.?

$ systemctl start iscsi
$ systemctl enable iscsi

Какая команда используется для подключения к этому выходу?

$ iscsiadm –mode node –targetname {iqn из выходных данных предыдущих команд} –portal {target’s-ip-address} –login
# примечание, это не требуется, если вы запускали демон.

Какими способами вы можете проверить, что это сработало, если это устройство называется / dev / sdb?

$ lsblk –scsi

Какая команда используется для форматирования / dev / sdb и присвоения файловой системе метки iscsi_device?

$ мкфс.xfs -L iscsi_device / dev / sdb

Какую запись fstab необходимо добавить для автоматического монтирования этой файловой системы в точку монтирования / mnt / remotedisk?

$ echo ‘LABEL =” iscsi_device ”/ mnt / remotedisk xfs _netdev 0 0’ >> / etc / fstab

Какие команды нужно запускать при завершении работы инициатора?

$ umount / dev / sdb
$ systemctl stop iscsi
# также выйти из целевой системы. см. примеры на странице руководства для iscsiadm, например,

.

29.12. Конфигурация инициатора и цели iSCSI

iSCSI — это способ совместного использования хранилища через
сеть. В отличие от NFS, который работает с файлом
системный уровень, iSCSI работает на блочном устройстве
уровень.

В терминологии iSCSI, система,
разделяет хранилище, известное как target .
Хранилище может быть физическим диском или областью, представляющей
несколько дисков или часть физического диска. Например, если
диск (ы) отформатированы с помощью ZFS, zvol
может быть создан для использования в качестве iSCSI
место хранения.

Клиенты, которые обращаются к iSCSI
хранилище именуются инициаторами . Чтобы
инициаторов, хранилище доступно через
iSCSI отображается как неформатированный неформатированный диск
известный как LUN. Узлы устройства для диска
появляются в / dev / и устройство должно быть
отдельно отформатирован и смонтирован.

FreeBSD предоставляет собственный,
цель и инициатор iSCSI на основе ядра.
В этом разделе описывается, как настроить систему FreeBSD как
цель или инициатор.

29.12.1.Настройка цели iSCSI

Чтобы настроить цель iSCSI, создайте
файл конфигурации /etc/ctl.conf , добавьте
строку в /etc/rc.conf , чтобы убедиться, что
Демон ctld (8) автоматически запускается при загрузке, а затем
запустить демон.

Ниже приводится пример простого
/etc/ctl.conf файл конфигурации. Обратитесь
в ctl.conf (5) для более полного описания этого
доступные параметры файла.

 portal-group pg0 {
обнаружение группы авторизации без аутентификации
слушать 0.0,0.0
Слушать [::]
}

target iqn.2012-06.com.example: target0 {
группа авторизации без аутентификации
портал-группа pg0

lun 0 {
путь / данные / цель0-0
размер 4G
}
} 

Первая запись определяет портал pg0
группа. Группы порталов определяют, какая сеть адресует
Демон ctld (8) будет слушать. В
обнаружение-авторизация-группа без аутентификации
запись указывает, что любому инициатору разрешено выполнять
Обнаружение цели iSCSI без
аутентификация. Строки три и четыре настраивают ctld (8)
слушать на всех IPv4
( слушайте 0.0.0.0 ) и
IPv6 ( прослушать [::] )
адреса на порт по умолчанию 3260.

Нет необходимости определять группу портала, так как есть
встроенная группа портала называется по умолчанию . В
В этом случае разница между по умолчанию
а pg0 — это то, что с
по умолчанию , обнаружение цели всегда отклоняется,
в то время как с pg0 всегда
позволил.

Вторая запись определяет единственную цель. У цели два
возможные значения: машина, обслуживающая iSCSI
или именованная группа LUN.Этот пример
использует последнее значение, где
iqn.2012-06.com. Пример: target0 — это
целевое имя. Это целевое имя подходит для тестирования
целей. Для фактического использования измените
com.example на реальное доменное имя,
наоборот. 2012-06 представляет год
и месяц получения контроля над этим доменным именем, и
target0 может быть любым значением. Любое количество
цели могут быть определены в этом файле конфигурации.

Линия auth-group no-authentication line
позволяет всем инициаторам подключаться к указанной цели и
portal-group pg0 делает цель достижимой
через группу порталов pg0 .

В следующем разделе определяется LUN. Чтобы
инициатор, каждый LUN будет отображаться как
отдельное дисковое устройство. Несколько LUN могут
быть определенным для каждой цели. Каждый LUN
идентифицируется номером, где LUN ​​0 — это
обязательное. Строка path / data / target0-0
определяет полный путь к файлу или zvol, поддерживающему
LUN. Этот путь должен существовать до начала
ctld (8). Вторая строка является необязательной и указывает
размер LUN.

Затем, чтобы убедиться, что демон ctld (8) запущен в
boot, добавьте эту строку в
/ etc / rc.conf :

 ctld_enable = "YES" 

Чтобы запустить ctld (8) сейчас, выполните следующую команду:

  #    service ctld start   

При запуске демона ctld (8) он читает
/etc/ctl.conf . Если этот файл редактируется
после запуска демона используйте эту команду, чтобы изменения
вступают в силу немедленно:

  #    перезагрузка ctld службы   

Предыдущий пример по своей сути небезопасен, поскольку он использует
без аутентификации, предоставляя любому полный доступ ко всем
цели.Требовать имя пользователя и пароль для доступа
target, измените конфигурацию следующим образом:

 auth-group ag0 {
глава username1 secretsecret
глава username2 anothersecret
}

portal-group pg0 {
обнаружение группы авторизации без аутентификации
слушать 0.0.0.0
Слушать [::]
}

target iqn.2012-06.com.example: target0 {
группа авторизации ag0
портал-группа pg0
lun 0 {
путь / данные / цель0-0
размер 4G
}
} 

Раздел auth-group определяет
пары имени пользователя и пароля. Инициатор пытается подключиться
до iqn.2012-06.com.example: target0 must
сначала укажите определенное имя пользователя и секрет. Однако,
обнаружение цели по-прежнему разрешено без аутентификации.
Чтобы требовать аутентификацию обнаружения цели, установите
discovery-auth-group к определенному
auth-group имя вместо
без аутентификации .

Обычно определяют одну экспортируемую цель для
каждый инициатор. В качестве сокращения синтаксиса выше
имя пользователя и пароль можно указать прямо в
целевая запись:

 целевой iqn.2012-06.com.example: target0 {
портал-группа pg0
глава username1 secretsecret

lun 0 {
путь / данные / цель0-0
размер 4G
}
} 

29.12.2. Настройка инициатора iSCSI

Примечание:

Инициатор iSCSI, описанный в этом
раздел поддерживается начиная с FreeBSD 10.0-RELEASE. Чтобы
используйте инициатор iSCSI, доступный в
более старые версии, см. iscontrol (8).

Инициатор iSCSI требует, чтобы
Демон iscsid (8) запущен. Этот демон не использует
Файл конфигурации.Чтобы он запускался автоматически при загрузке, добавьте
эту строку на /etc/rc.conf :

 iscsid_enable = "YES" 

Чтобы запустить iscsid (8) сейчас, выполните следующую команду:

  #    service iscsid start   

Подключение к цель может быть выполнена с помощью или без
/etc/iscsi.conf файл конфигурации. Эта
раздел демонстрирует оба типа подключений.

29.12.2.1.Подключение к цели без конфигурации
Файл

Чтобы подключить инициатор к единственной цели, укажите
IP-адрес портала и имя
цель:

  #    iscsictl -A -p   10.10.10.10   -t   iqn.2012-06.com.example: target0     

Чтобы проверить успешность подключения, запустите
iscsictl без аргументов. В
вывод должен выглядеть примерно так:

 Имя цели Состояние портала цели
iqn.2012-06.com.example: target0 10.10.10.10 Подключено: da0 

В этом примере сеанс iSCSI
была успешно создана, с
/ dev / da0 , представляющий прикрепленный
LUN.Если
iqn.2012-06.com.example: target0 target
экспортирует более одного LUN, несколько
узлы устройств будут показаны в этом разделе
вывод:

 Подключено: da0 da1 da2. 

Любые ошибки будут сообщаться в выводе, а также
системные журналы. Например, это сообщение обычно означает
что демон iscsid (8) не запущен:

 Имя цели Состояние портала цели
iqn.2012-06.com.example: target0 10.10.10.10 Ожидание iscsid (8) 

Следующее сообщение указывает на сетевую проблему,
например, неправильный IP-адрес или
порт:

 Имя цели Состояние портала цели
iqn.2012-06.com.example: target0 10.10.10.11 В соединении отказано 

Это сообщение означает, что указанное целевое имя
неправильно:

 Имя цели Состояние портала цели
iqn.2012-06.com.example: target0 10.10.10.10 Не найдено 

Это сообщение означает, что цель требует
аутентификация:

 Имя цели Состояние портала цели
iqn.2012-06.com.example: target0 10.10.10.10 Ошибка аутентификации 

Чтобы указать имя пользователя CHAP и
секрет, используйте этот синтаксис:

  #    iscsictl -A -p   10.10.10.10   -t   iqn.2012-06.com. пример: target0   -u   user   - s   secretsecret     
29.12.2.2.Подключение к цели с конфигурацией
Файл

Для подключения с помощью файла конфигурации создайте
/etc/iscsi.conf с содержанием вроде
это:

 t0 {
TargetAddress = 10.10.10.10
TargetName = iqn.2012-06.com.example: target0
AuthMethod = CHAP
chapIName = пользователь
chapSecret = secretsecret
} 

t0 определяет псевдоним для
раздел конфигурационного файла. Он будет использоваться
инициатор, чтобы указать, какую конфигурацию использовать.Другой
Строки указывают параметры, которые будут использоваться при подключении. В
TargetAddress и
TargetName являются обязательными, тогда как
другие варианты необязательны. В этом примере
Имя пользователя и секрет CHAP
показано.

Чтобы подключиться к определенной цели, укажите
псевдоним:

  #    iscsictl -An   t0     

Альтернативно, для подключения ко всем целям, определенным в
файл конфигурации, используйте:

  #    iscsictl -Aa   

Чтобы инициатор автоматически подключался ко всем
цели в / etc / iscsi.conf , добавьте
следующее к /etc/rc.conf :

 iscsictl_enable = "YES"
iscsictl_flags = "- Аа" 

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *