ISCSI и другие. Ускорьте работу хранилища NAS с помощью iSCSI Зависеть от службы сервера службы инициатора iSCSI

Если вы когда-нибудь управляли серверами или корпоративной компьютерной сетью, то наверняка сталкивались с проблемой прозрачного увеличения ёмкости существующей инфраструктуры. И хотя подобные решения, в принципе, существуют, они обычно отличаются большой ценой и низкой гибкостью.

19″ системы обычно не обладают достаточным пространством, чтобы вместить дополнительные жёсткие диски. В результате появляется единственная альтернатива: подключение к серверу отдельных 19″ хранилищ по интерфейсу SCSI или Fiber Channel. Однако при этом мы всё равно смешиваем серверные задачи и функции хранения данных.

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

Согласитесь, что идеальное хранилище должно быть очень гибким. Таким, чтобы его можно было легко развернуть, использовать из многих участков сети, из разных операционных систем и, конечно, можно было легко расширять. Да и производительность не стоит упускать из внимания. Ответом на все поставленные вопросы можно назвать iSCSI — Internet SCSI. Это решение «упаковывает» протокол SCSI в пакеты TCP/IP, в результате чего вы получаете универсальный интерфейс хранилища для всей сетевой инфрастуктуры. Кроме того, iSCSI позволяет консолидировать текущие системы хранения.

Как работает iSCSI?



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

Преимуществ у такого подхода много, и они довольно очевидны. Во многих корпорациях уже развёрнута эффективная сетевая инфраструктура, часто использующая проверенные временем технологии типа Ethernet. Никаких новых технологий для использования iSCSI или других систем типа SAN (Storage Area Networks) внедрять и тестировать не нужно. Конечно, здесь можно сэкономить и на дорогих специалистах по внедрению.

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

В принципе, сервер iSCSI может быть реализован как программно, так и аппаратно. Но из-за высокой нагрузки программного решения на процессор лучше всё же придерживаться последнего варианта. Основная нагрузка на сервер iSCSI заключается в инкапсуляции пакетов SCSI в пакеты TCP/IP, причём всё должно выполняться в реальном времени. Понятно, что в программном сервере все эти задачи будет выполнять центральный процессор, а в аппаратном решении — специальные движки TCP/IP и SCSI.

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

Конечно, вы получите производительность несколько меньше, чем у локальных систем SCSI — ведь сеть вносит свои задержки. Впрочем, современные сети с пропускной способностью до 1 Гбит/с (128 Мбайт/с) уже обеспечивают достаточную скорость, но большая часть её так и не используется.

Каждому узлу iSCSI присваивается своё имя (длиной, максимум, до 255 байт) и псевдоним (короткое имя), которые не зависят от IP-адреса. Таким образом, доступ к хранилищу будет обеспечен даже после его переноса в другую подсеть.

iSCSI в деле

Конечно, не считая сеть, основным требованием для внедрения iSCSI является организация iSCSI-сервера. Мы протестировали несколько решений как программных так и аппаратных.

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

В принципе, iSCSI можно использовать и на 100-Мбит/с сети, но тогда, по сравнению с локальными приводами, вы получите существенное замедление. Естественно, гигабитный Ethernet является куда более эффективным решением — вряд ли пропуская способность станет «узким местом» даже при использовании нескольких массивов RAID 5. В то же время, это нельзя сказать про массивы RAID 0, но подобное хранилище редко подключается по сети.

Если обратиться к клиенту, то здесь необходим инициатор iSCSI. Они выпущены практически для всех операционных систем. Поиск в Google комбинации слов «Microsoft», «iSCSI» и «Initiator» является наглядным тому примером.

Затем в программе-инициаторе нужно настроить подключение к серверу. Подключённые приводы сервера появятся на компьютере в виде жёстких дисков, и их можно использовать как самые обычные приводы.

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

Дополнительные применения

iSCSI также является прекрасным средством резервирования данных, ведь информацию можно легко скопировать на другой жёсткий диск. В том числе, даже в онлайне, используя функцию теневого копирования Windows. iSCSI можно даже подключать по DSL-соединению, но здесь ограничивающим фактором уже будет скорость линии. Впрочем, всё зависит от характера применения.

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

Если решение iSCSI реализовано программно, то сетевому адаптеру придётся передавать немалые данные. Поскольку обычные сетевые адаптеры не всегда используют различные технологии аппаратного ускорения, часть нагрузки может перелагаться на центральный процессор. SCSI — это блочный протокол, а Ethernet — пакетный. То есть немало нагрузки будет относиться к инкапсулированию и извлечению информации SCSI из пакетов TCP/IP. Подобная задача способна «под завязку» загрузить даже современный процессор.

Для решения проблемы были разработаны специальные движки TOE (TCP/IP Offload Engines), которые берут на себя все сложные операции iSCSI сразу же после сетевого адаптера. В результате снижается нагрузка на системный процессор, и пользователи и система могут продолжать нормально работать.

Надеюсь теперь стало чуть более понятно что такое сетевые хранилища на iSCSI и как они устроены.

Abstract: как работает open-iscsi (ISCSI initiator в linux), как его настраивать и чуть-чуть про сам протокол ISCSI.

Лирика: В интернете есть множество статей довольно хорошо объясняющих, как настроить ISCSI target, однако, почему-то, практически нет статей про работу с инициатором. Не смотря на то, что target технически сложнее, административной возни с initiator больше - тут больше запутанных концепций и не очень очевидные принципы работы.

ISCSI

Перед тем, как рассказать про ISCSI - несколько слов о разных типах удалённого доступа к информации в современных сетях.

NAS vs SAN

Существует два метода доступа к данным, находящимся на другом компьютере: файловый (когда у удалённого компьютера запрашивают файл, а какими файловыми системами это сделано - никого не волнует), характерные представители NFS, CIFS (SMB); и блочный - когда у удалённого компьютера запрашивают блоки с дискового носителя (аналогично тому, как их читают с жёсткого диска). В этом случае запрашивающая сторона сама себе делает на блочном устройстве файловую систему, а сервер, отдающий блочное устройство, знать не знает про файловые системы на нём. Первый метод называют NAS (network attached storage), а второй - SAN (storage area network). Названия вообще указывают на другие признаки (SAN подразумевает выделенную сеть до хранилищ), но так сложилось, что NAS - это файлы, а SAN - это блочные устройства по сети. И хотя все (?) понимают, что это неправильные названия, чем дальше, тем больше они закрепляются.

scsi over tcp

Одним из протоколов доступа к блочным устройствам является iscsi. Буква "i" в названии относится не к продукции эппл, а к Internet Explorer . По своей сути это "scsi over tcp". Сам протокол SCSI (без буквы "i") - это весьма сложная конструкция, поскольку он может работать через разные физические среды (например, UWSCSI - параллельная шина, SAS - последовательная - но протокол у них один и тот же). Этот протокол позволяет делать куда больше, чем просто «подтыкать диски к компьютеру» (как это придумано в SATA), например, он поддерживает имена устройств, наличие нескольких линков между блочным устройством и потребителем, поддержку коммутации (ага, SAS-коммутатор, такие даже есть в природе), подключение нескольких потребителей к одному блочному устройству и т.д. Другими словами, этот протокол просто просился в качестве основы для сетевого блочного устройства.

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

В мире SCSI приняты следующие термины:
target - тот, кто предоставляет блочное устройство. Ближайший аналог из обычного компьютерного мира - сервер.
initiator - клиент, тот, кто пользуется блочным устройством. Аналог клиента.
WWID - уникальный идентификатор устройства, его имя. Аналог DNS-имени.
LUN - номер «кусочка» диска, к которому идёт обращение. Ближайший аналог - раздел на жёстком диске.

ISCSI приносит следующие изменения: WWID исчезает, на его место приходит понятие IQN (iSCSI Qualified Name) - то есть чистой воды имя, сходное до степени смешения с DNS (с небольшими отличиями). Вот пример IQN: iqn.2011-09.test:name.

IETD и open-iscsi (сервер и клиент под линукс) приносят ещё одну очень важную концепцию, о которой чаще всего не пишут в руководствах по iscsi - portal. Portal - это, если грубо говорить, несколько target"ов, которые анонсируются одним сервером. Аналогии с www нет, но если бы веб-сервер можно было попросить перечислить все свои virtualhosts, то это было бы оно. portal указывает список target"ов и доступные IP, по которым можно обращаться (да-да, iscsi поддерживает несколько маршрутов от initiator к target).

target

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

Вот пример простенького файла конфигурации, думаю, из него будет понятно что делает target (файл конфигурации на примере IET):

Target iqn.2011-09.example:data IncomingUser username Pa$$w0rd Lun 0 Path=/dev/md1

(сложный от простого отличается только опциями экспорта). Таким образом, если у нас есть target, то мы хотим его подключить. И тут начинается сложное, потому что у initiator"а своя логика, он совсем не похож на тривиальное mount для nfs.

Initiator

В качестве инициатора используется open-iscsi. Итак, самое важное - у него есть режимы работы и состояние . Если мы дадим команду не в том режиме или не учтём состояние, результат будет крайне обескураживающий.

Итак, режимы работы:

  • Поиск target"ов (discovery)
  • Подключение к target"у
  • Работа с подключенным target"ом
Из этого списка вполне понятен жизненный цикл - сначала найти, потом подключиться, потом отключиться, потом снова подключиться. Open-iscsi держит сессию открытой, даже если блочное устройство не используется. Более того, он держит сессию открытой (до определённых пределов, конечно), даже если сервер ушёл в перезагрузку. Сессия iscsi - это не то же самое, что открытое TCP-соединение, iscsi может прозрачно переподключаться к target"у. Отключение/подключение - операции, которыми управляют «снаружи» (либо из другого ПО, либо руками).

Немного о состоянии. После discovery open-iscsi запоминает все найденные target"ы (они хранятся в /etc/iscsi/), другими словами, discovery - операция постоянная, совсем НЕ соответствующая, например, dns resolving). Найденные target можно удалить руками (кстати, частая ошибка - когда у open-iscsi, в результате экспериментов и настройки, пачка найденных target"ов, при попытке логина в которые выползает множество ошибок из-за того, что половина target"ов - старые строчки конфига, которые уже давно не существуют на сервере, но помнятся open-iscsi). Более того, open-iscsi позволяет менять настройки запомненного target"а - и эта «память» влияет на дальнейшую работу с target"ами даже после перезагрузки/перезапуска демона.

Блочное устройство

Второй вопрос, который многих мучает по-началу - куда оно попадает после подключения? open-iscsi создаёт хоть и сетевое, но БЛОЧНОЕ устройство класса SCSI (не зря же оно «я сказя»), то есть получает букву в семействе /dev/sd, например, /dev/sdc. Используется первая свободная буква, т.к. для всей остальной системы это блочное устройство - типичный жёсткий диск, ничем не отличающийся от подключенного через usb-sata или просто напрямую к sata.

Это часто вызывает панику «как я могу узнать имя блочного устройства?». Оно выводится в подробном выводе iscsiadm (# iscsiadm -m session -P 3).

Авторизация

В отличие от SAS/UWSCSI, ISCSI доступно для подключения кому попало. Для защиты от таких, есть логин и пароль (chap), и их передача iscsiadm"у - ещё одна головная боль для начинающих пользователей. Она может осуществляться двумя путями - изменением свойств уже найденного ранее target"а и прописываем логина/пароля в файле конфигурации open-iscsi.
Причина подобных сложностей - в том, что пароль и процесс логина - это атрибуты не пользователя, а системы. ISCSI - это дешёвая версия FC-инфраструктуры, и понятие «пользователь» в контексте человека за клавиатурой тут неприменимо. Если у вас sql-база лежит на блочном устройстве iscsi, то разумеется, вам будет хотеться, чтобы sql-сервер запускался сам, а не после минутки персонального внимания оператора.

Файл конфигурации

Это очень важный файл, потому что помимо логина/пароля он описывает ещё поведение open-iscsi при нахождении ошибок. Он может отдавать ошибку «назад» не сразу, а с некоторой паузой (например, минут в пять, чего достаточно для перезагрузки сервера с данными). Так же там контролируется процесс логина (сколько раз пробовать, сколько ждать между попытками) и всякий тонкий тюнинг самого процесса работы. Заметим, эти параметры довольно важны для работы и вам нужно обязательно понимать, как поведёт ваш iscsi если вынуть сетевой шнурок на 10-20с, например.

Краткий справочник

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

Сначала мы находим нужные нам target, для этого мы должны знать IP/dns-имя инициатора: iscsiadm -m discovery -t st -p 192.168.0.1 -t st - это команда send targets.

Iscsiadm -m node (список найденного для логина)
iscsiadm -m node -l -T iqn.2011-09.example:data (залогиниться, то есть подключиться и создать блочное устройство).
iscsiadm -m session (вывести список того, к чему подключились)
iscsiadm -m session -P3 (вывести его же, но подробнее - в самом конце вывода будет указание на то, какое блочное устройство какому target"у принадлежит).
iscsiadm - m session -u -T iqn.2011-09.example:data (вылогиниться из конкретной)
iscsiadm -m node -l (залогиниться во все обнаруженные target"ы)
iscsiadm -m node -u (вылогиниться из всех target"ов)
iscsiadm -m node --op delete -T iqn.2011-09.example:data (удалить target из обнаруженных).

mulitpath

Ещё один вопрос, важный в серьёзных решениях - поддержка нескольких маршрутов к источнику. Прелесть iscsi - в использовании обычного ip, который может быть обычным образом обработан, как и любой другой трафик (хотя на практике обычно его не маршрутизируют, а только коммутируют - слишком уж великая там нагрузка). Так вот, iscsi поддерживает multipath в режиме «не сопротивляться». Сам по себе open-iscsi не умеет подключаться к нескольким IP одного target"а. Если его подключить к нескольким IP одного target"а, то это приведёт к появлению нескольких блочных устройств.

Однако, решение есть - это multipathd, который находит диски с одинаковым идентифиатором и обрабатывает их как положено в multipath, с настраиваемыми политиками. Эта статья не про multipath, так что подробно объяснять таинство процесса я не буду, однако, вот некоторые важные моменты:

  1. При использовании multipath следует ставить маленькие таймауты - переключение между сбойными путями должно происходить достаточно быстро
  2. В условиях более-менее быстрого канала (10G и выше, во многих случаях гигабит) следует избегать параллелизма нагрузки, так как теряется возможность использовать bio coalesing, что в некоторых типах нагрузки может неприятно ударить по target"у.

Пишу в первую очередь для себя, но если кому то будет полезным тоже хорошо.
Задача, организовать теневое копирование на файлообменном сервере, объем раздела 1Тб. Для создания теневых копий, необходим еще один раздел минимум в 1Тб, но это нужно выискивать средства, покупать жесткие диски в стойку, в общем не быстро, а нужно уже вчера. Есть сетевое хранилище Netgear ReadyNAS с RAID-5 на борту и кучей свободного места. Нюанс лишь в том, что в для создания теневых копий нужен именно локальный том, а не сетевой диск. И тут нам на помощь приходит iSCSI , что это такое я описывать не буду, кому надо прочитают в википедии , да и кому надо думаю и так знают, что это. В двух словах протокол позволяет сетевой диск сделать локальным томом.
Итак для начала, заходим в админку ReadyNAS и на вкладке iSCSI жмем Создать новый LUN


Стоит обратить внимание на параметр Предоставление вариант Thick - толстый, выделит сразу весь объем для LUN, вариант Thin - тонкий, будет выделять по мере заполнения. Первый вариант быстрее, второй удобнее, но решать вам.
После того как мы создали LUN, на той же вкладке жмем Создать новую группу . Задаем имя группы и целевой ресурс.

Небольшее отступление

Идентификатор IQN - это специальное имя формата iqn. . : , которое является уникальным для каждого iSCSI-устройства в сети хранения данных. Где:

year-mo - год регистрации доменного имени;
reversed_domain_name -доменное имя, записанное наоборот;
unique_name - уникальное имя устройства, например таргет здесь будет содержать указанное вами имя, а инициатор имя хоста.

Чтобы узнать имя целевого ресурса, переместимся на сервер к которому ходим подключить диск. Далее Панель управления - Инициатор iSCSI . В появившемся окне переходим на вкладку Конфигурация и копируем от туда имя инициатора.

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

В поле пароль вводим пароль, по которому будет авторизоваться Инициатор iSCSI . Жмем создать и устанавливаем галку разрешить .
Снова возвращаемся к серверу-инициатору, переходим на вкладку Обнаружение , жмем обнаружить портал, в появившемся поле записываем адрес нашего ReadyNAS.

В том же окне(где вводим адрес), жмем Дополнительно на вкладке Общие вводим Имя из предыдущего шага и Секрет - это пароль из предыдущего шага.

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

Нажимаем там Автонастройка и наш LUN добавляется в качестве локального тома. Все можно переходить в Управление дисками и настраивать его как Вам угодно.

05.10.2012

Хотите обращаться к сетевой системе хранения чуть быстрее? Попробуйте способ, основанный на использовании встроенного инструмента Windows. Протокол 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.

Перейдите на вкладку «Обнаружение» и нажмите кнопку «Обнаружить портал». В открывшемся окне введите 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 не выявил, хотя диск и продемонстрировал чуть более высокую пропускную способность. Впрочем, это относительно легкий тест, оценивающий только последовательную запись данных.

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

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

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

Что же такое, на самом деле, iSCSI?

iSCSI посылает SCSI команды в IP пакетах. Более подробно - iSCSI создан как протокол для инициатора хранилищ (обычно сервер), с целью посылать SCSI команды исполнителю (обычно лента или диск) через IP.

Иные протоколы: FCIP - посылает блоки Fibre Channel через IP, по существу расширяя соединения Fibre Channel; на самом деле не имеет никакого отношения к SCSI. С другой стороны iFCP - обеспечивает преобразование (mapping) FCP (последовательный SCSI через Fibre Channel) в и из IP. Другими словами, он предлагает протокол маршрутизации между сетями Fibre Channel (fabric), позволяющий осуществлять соединение через IP.

Иначе говоря, iSCSI - это протокол SCSI через IP, связывающий сервер с хранилищем данных. Другие протоколы обеспечивают соединение Fibre Channel - Fibre Channel с различной степенью интеллектуальности.

Каким образом устройства iSCSI находят друг друга?

В случае обычных SCSI соединений и петель Fibre Channel, способ обнаружения устройств достаточно примитивен. Для сетей Fibre Channel (fabric) существует необходимый сервис, называемый сервер простых доменных имен (Simple Name Server), или просто - сервер доменных имен, работающий с сотнями или тысячами устройств. Но в IP, теоретически, может быть несколько миллионов устройств.

В настоящее время в мире IP используется два механизма обнаружения устройств iSCSI. Первый - SLP (service locator protocol) - протокол семейства TCP/IP, позволяющий осуществлять автоматическую настройку различных ресурсов. Этот протокол обнаружения сервисов уже существует в мире IP некоторое время. Однако недавно многие производители, включая Microsoft, стали разрабатывать новый протокол -- Internet Simple Name Server. Попросту говоря, за основу были приняты принципы сервера простых доменных имен для Fibre Channel и затем увеличены до той степени, которая позволяет справляться с размерами IP сетей, в то же время не теряя особенностей работы с хранилищами, в отличие от SLP.

Как можно использовать iSCSI?

Существует три основных способа использования iSCSI:
  1. Специализированный iSCSI сервер, обращающийся к специализированному iSCSI хранилищу.
  2. Специализированный iSCSI сервер, обращающийся к хранилищу, подсоединенному к Fibre Channel, через маршрутизатор iSCSI-to-Fibre Channel.
  3. Fibre Channel сервер, обращающийся к iSCSI хранилищу через маршрутизатор Fibre-Channel-to-iSCSI.
Безусловно, в некоторых случаях Fibre Channel хранилище обращается к другому Fibre Channel хранилищу (например, для копирования диска или внесерверного резервного копирования) и устройство хранения данных iSCSI также может обращаться к каждому из них.

Итак, что наиболее вероятно и/или практично для использования? Для ответа на этот вопрос, нужно немного отступить назад и вспомнить, что сетевое хранение данных требует гибкости, использования продуктов различным образом. Сегодня, использование iSCSI в серверах - сравнительно ново, но просто, с учетом поддержки Microsoft для Windows Server 2000 и 2003.

По этой причине, одним из способов использования iSCSI является использование iSCSI серверов, присоединенных к существующему хранилищу Fibre Channel через маршрутизатор iSCSI-to-Fibre Channel, вероятнее всего в Fibre Channel SAN. Это означает, что те же порты тех же массивов хранения могут обеспечивать сервис по хранению данных как для серверов Fibre Channel, так и для серверов iSCSI. Посему это позволяет вам получить больше преимуществ от использования хранилищ SAN и Fibre Channel, чем вы имеете, и вы можете сделать это прямой сейчас - рынок предлагает все необходимые продукты.

По моим предположениям подобные события произойдут и на рынке NAS, на самом деле они уже происходят. Поскольку NAS устройства уже подключают диски к IP-сетям, разделяя сервисы через сетевую файловую систему (NFS) и/или общий протокол доступа к файлам интернет (CIFS), то для NAS достаточно просто передавать данные на уровне блока через те же порты с помощью iSCSI, что опять позволяет вам использовать существующие решения хранения данных по-новому.

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

Кто будет использовать iSCSI?

Как эксперт, проработавший несколько лет в области Fibre Channel, я, к сожалению, должен указать миру Fibre Channel, что iSCSI может работать на скорости физического соединения (wire speed) и определенно может работать так же быстро, как и любой нормальный сервер, выполняющий задачи любого нормального приложения. Для IP сообщества необходимо отметить значительную распространенность Fibre Channel, особенно сравнивая их количество с количеством 1 Гб сетевых портов, нежели с количеством остальных сетевых портов. Сообществу Fibre Channel необходимо отметить, что, несмотря на то, что множество хранилищ и даже значительное количество мощных серверов подключены к Fibre Channel, существует некоторое количество неподключенных Unix серверов и огромное количество Intel серверов, не работающих с Fibre Channel.

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

NIC, TOE и HBA: В каких случаях их нужно использовать?

В заключение, существует три подхода к подключению сервера:
  1. Стандартная интерфейсная карта (NIC) с драйвером iSCSI
  2. TOE (TCP Offload Engine - механизмы разгрузки TCP) NIC с драйвером iSCSI
  3. Адаптеры шины узла HBA (Host Bus Adapter), созданные для iSCSI традиционными производителями Fibre Channel адаптеров.
В каких случаях использовать каждый из них? Интересный вопрос. Первоначальное допущение состоит в том, что, чем большая производительность вам нужна, тем более вероятно, что вместо стандартной интерфейсной карты (NIC) вы будете использовать карту TOE или адаптер шины узла, что, конечно же, будет дороже. Существует иная точка зрения, предполагающая, что некоторые высокопроизводительные серверы имеют достаточное количество резервных циклов синхронизации (clock cycles), так почему бы не сэкономить деньги и не использовать дешевую сетевую карту.

Ключевой момент здесь состоит в том, что в отличие от Fibre Channel адаптеров, ценовые рамки iSCSI варьируются от низкой (бесплатно) до высокой производительности (акселераторы) и таким образом могут быть подобраны в соответствие с требованиями приложений. Также нагрузочная способность по выходу (fan-out или oversubscription) позволяет использовать более экономичные порты Ethernet (как быстрые, так и GE) вместо портов специализированных FC коммутаторов, что еще более снижает издержки. С картами iSCSI TOE, стоимостью 300 долларов или меньше, издержки присоединения к хосту значительно ниже, чем с FC, даже для производительности TOE.

Поскольку FC может работать на 2Gbps, использование Fibre Channel более предпочтительно для высокопроизводительных серверов (2 Гб Ethernet не существует), хотя, честно говоря, не много существует серверов, использующих такую пропускную способность, даже на Fibre Channel. Безусловно, с точки зрения хранилищ использование 2Gbps более вероятно до тех пор, пока мы не увидели 10 Гб FC или даже 10 Гб Ethernet/iSCSI портов. iSCSI открывает двери для сотен и тысяч серверов, особенно систем Intel, многие из которых могут быть менее требовательными, и огромное количество которых еще только будет приносить выгоды от использования сетевого хранения.

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

В продолжение темы:
Интернет

Во время пользования компьютером в системе создаётся множество временных файлов. Одна часть удаляется после закрытия программ и перезагрузки ПК, а другая — так и остаётся...

Новые статьи
/
Популярные