stringtranslate.com

iSCSI

Интерфейс малых компьютерных систем Интернета или iSCSI ( / ˈ s k ʌ z i / eye-SKUZ-ee) — этоИнтернет-протоколадля связи между хранилищами данных. iSCSI обеспечиваеткустройствам храненияна уровне блоковпутем передачикомандSCSITCP/IP. iSCSI упрощает передачу данных поинтрасетями управление хранилищем на больших расстояниях. Его можно использовать для передачи данных полокальным сетям(LAN),глобальным сетям(WAN) илиИнтернету, а также для хранения и извлечения данных, не зависящих от местоположения.

Протокол позволяет клиентам (называемым инициаторами ) отправлять команды SCSI ( CDB ) на устройства хранения ( targets ) на удаленных серверах. Это протокол сети хранения данных (SAN), позволяющий организациям консолидировать хранилища в массивы хранения , предоставляя клиентам (таким как базы данных и веб-серверы) иллюзию локально подключенных дисков SCSI. [1] Он в основном конкурирует с Fibre Channel , но в отличие от традиционного Fibre Channel, который обычно требует выделенного кабеля, [a] iSCSI может работать на больших расстояниях с использованием существующей сетевой инфраструктуры. [2] iSCSI был впервые предложен IBM и Cisco в 1998 году и представлен в качестве проекта стандарта в марте 2000 года. [3]

Концепции

По сути, iSCSI позволяет двум хостам согласовывать и затем обмениваться командами SCSI с использованием сетей Интернет-протокола (IP). Делая это, iSCSI берет популярную высокопроизводительную локальную шину хранения и эмулирует ее в широком диапазоне сетей, создавая сеть хранения данных (SAN). В отличие от некоторых протоколов SAN, iSCSI не требует выделенных кабелей; он может работать по существующей инфраструктуре IP. В результате iSCSI часто рассматривается как недорогая альтернатива Fibre Channel , который требует выделенной инфраструктуры, за исключением его формы FCoE (Fibre Channel over Ethernet). Однако производительность развертывания iSCSI SAN может быть серьезно ухудшена, если не работает в выделенной сети или подсети (LAN или VLAN ) из-за конкуренции за фиксированный объем полосы пропускания.

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

Консолидация хранилищ
Организации перемещают разрозненные ресурсы хранения с серверов по всей своей сети в центральные местоположения, часто в центры обработки данных; это позволяет повысить эффективность распределения хранилища, поскольку само хранилище больше не привязано к определенному серверу. В среде SAN серверу может быть выделен новый дисковый том без каких-либо изменений в оборудовании или кабелях.
Восстановление после аварии
Организации зеркалируют ресурсы хранения из одного центра обработки данных в удаленный центр обработки данных, который может служить горячим/резервным в случае длительного простоя. В частности, iSCSI SAN позволяют переносить целые дисковые массивы через WAN с минимальными изменениями конфигурации, фактически делая хранилище «маршрутизируемым» таким же образом, как и сетевой трафик.

Инициатор

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

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

Аппаратный инициатор использует выделенное оборудование, как правило, в сочетании с прошивкой, работающей на этом оборудовании, для реализации iSCSI. Аппаратный инициатор снижает накладные расходы на обработку iSCSI и TCP и прерывания Ethernet , и, следовательно, может повысить производительность серверов, использующих iSCSI. Адаптер шины хоста iSCSI (чаще, HBA) реализует аппаратный инициатор. Типичный HBA упакован как комбинация контроллера сетевого интерфейса Gigabit (или 10 Gigabit) Ethernet , некоторой технологии разгрузки TCP/IP (TOE) и адаптера шины SCSI, как это выглядит для операционной системы. iSCSI HBA может включать дополнительное ПЗУ PCI , чтобы разрешить загрузку из iSCSI SAN.

iSCSI offload engine или карта iSOE предлагает альтернативу полноценному iSCSI HBA. iSOE «разгружает» операции инициатора iSCSI для этого конкретного сетевого интерфейса с хост-процессора, освобождая циклы ЦП для основных хост-приложений. iSCSI HBA или iSOE используются, когда дополнительное повышение производительности оправдывает дополнительные расходы на использование HBA для iSCSI, [4] а не на использование программного клиента iSCSI (инициатора). iSOE может быть реализован с дополнительными службами, такими как TCP offload engine (TOE), для дальнейшего снижения использования ЦП хост-сервера.

Цель

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

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

К распространенным сценариям развертывания цели iSCSI относятся:

Массив хранения данных

В центре обработки данных или корпоративной среде цель iSCSI часто находится в большом массиве хранения. Эти массивы могут быть в форме товарного оборудования с реализациями iSCSI на основе свободного программного обеспечения или в виде коммерческих продуктов, таких как StorTrends , Pure Storage , HP StorageWorks , EqualLogic , Tegile Systems , Nimble storage , IBM Storwize family , Isilon , NetApp filer , Dell EMC , Kaminario , NS-series, CX4, VNX, VNXe, VMAX, Hitachi Data Systems HNAS или Pivot3 vSTAC.

Массив хранения обычно предоставляет отдельные цели iSCSI для многочисленных клиентов. [5]

Программное обеспечение целевое

Почти все современные основные серверные операционные системы (такие как BSD , Linux , Solaris или Windows Server ) могут предоставлять функциональность цели iSCSI, либо как встроенную функцию, либо с дополнительным программным обеспечением. Некоторые специализированные операционные системы реализуют поддержку цели iSCSI.

Номер логического устройства

В терминологии SCSI LU означает логическую единицу , которая указывается уникальным номером логической единицы . LUN представляет собой индивидуально адресуемое (логическое) устройство SCSI, которое является частью физического устройства SCSI (целевого устройства). В среде iSCSI LUN по сути являются пронумерованными дисками. Инициатор договаривается с целью об установлении подключения к LUN; результатом является соединение iSCSI, которое эмулирует подключение к жесткому диску SCSI. Инициаторы обрабатывают iSCSI LUN так же, как и необработанные жесткие диски SCSI или IDE; например, вместо того, чтобы монтировать удаленные каталоги, как это делается в средах NFS или CIFS , системы iSCSI форматируют и напрямую управляют файловыми системами на iSCSI LUN.

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

Сетевая загрузка

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

Отдельный DHCP-сервер может быть настроен для помощи интерфейсам, оснащенным возможностью сетевой загрузки , чтобы иметь возможность загружаться через iSCSI. В этом случае сетевой интерфейс ищет DHCP-сервер, предлагающий загрузочный образ PXE или bootp . [6] Это используется для запуска процесса удаленной загрузки iSCSI, используя MAC-адрес загружаемого сетевого интерфейса для направления компьютера к правильному целевому объекту загрузки iSCSI [ требуется цитата ] . Затем можно использовать чисто программный подход для загрузки небольшой загрузочной программы, которая, в свою очередь, может монтировать удаленный целевой объект iSCSI, как если бы это был локальный диск SCSI, а затем запустить процесс загрузки с указанного целевого объекта iSCSI [ требуется цитата ] . Этого можно достичь с помощью существующего загрузочного ПЗУ Preboot Execution Environment (PXE), которое доступно на многих проводных адаптерах Ethernet. Загрузочный код также может быть загружен с CD/DVD, дискеты (или образа дискеты) и USB-накопителя, или он может заменить существующий загрузочный код PXE на адаптерах, которые можно перепрошить. [7] Наиболее популярным бесплатным программным обеспечением, предлагающим поддержку загрузки iSCSI, является iPXE . [8]

Большинство контроллеров Intel Ethernet для серверов поддерживают загрузку iSCSI. [9]

Адресация

iSCSI использует TCP (обычно TCP-порты 860 и 3260) для самих протоколов, с именами более высокого уровня, используемыми для адресации объектов в протоколе. Специальные имена относятся как к инициаторам, так и к целям iSCSI. iSCSI предоставляет три формата имен:

Квалифицированное имя iSCSI (IQN)
Формат: Квалифицированное имя iSCSI описано в RFC 3720, а дополнительные примеры имен приведены в RFC 3721. Вкратце, поля следующие:
  • литеральный iqn (квалифицированное имя iSCSI)
  • дата (гггг-мм), когда орган по именованию принял право собственности на домен
  • обратное доменное имя органа (например, org.alpinelinux, com.example, to.yp.cr)
  • Необязательный префикс «:» перед именем целевого хранилища, указанным органом по именованию.
Из RFC: [10]
Расширенный уникальный идентификатор (EUI)
Формат: eui.{адрес EUI-64 бит} (например eui.02004567A425678D)
T11 Сетевой адресный орган (NAA)
Формат: naa.{NAA 64 или 128-битный идентификатор} (например naa.52004567BA64678D)

Чаще всего встречаются адреса в формате IQN. Они квалифицируются по дате (гггг-мм), поскольку доменные имена могут истечь или быть приобретены другим субъектом.

Регистрационный орган IEEE предоставляет EUI в соответствии со стандартом EUI-64. NAA является частью OUI, предоставляемой регистрационным органом IEEE. Форматы имен NAA были добавлены в iSCSI в RFC 3980 для обеспечения совместимости с соглашениями об именовании, используемыми в технологиях хранения Fibre Channel и Serial Attached SCSI (SAS).

Обычно участника iSCSI можно определить по трем или четырем полям:

  1. Имя хоста или IP-адрес (например, «iscsi.example.com»)
  2. Номер порта (например, 3260)
  3. Имя iSCSI (например, IQN "iqn.2003-01.com.ibm:00.fcd0ab21.shark128")
  4. Необязательный секрет CHAP (например, «secretsarefun»)

iSNS

Инициаторы iSCSI могут находить соответствующие ресурсы хранения с помощью протокола Internet Storage Name Service (iSNS). Теоретически iSNS предоставляет iSCSI SAN ту же модель управления, что и выделенные Fibre Channel SAN. На практике администраторы могут удовлетворить многие цели развертывания для iSCSI без использования iSNS.

Безопасность

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

Инициаторы и целевые устройства iSCSI подтверждают свою идентичность друг другу с помощью CHAP , который включает механизм, предотвращающий появление паролей в открытом виде на линии. Сам по себе CHAP уязвим для атак по словарю , спуфинга и отражения . При тщательном соблюдении наилучшие практики использования CHAP в iSCSI уменьшают поверхность для этих атак и снижают риски. [11]

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

Логическая сетевая изоляция

Чтобы гарантировать, что к массивам хранения подключаются только допустимые инициаторы, администраторы чаще всего запускают iSCSI только через логически изолированные сети backchannel. В этой архитектуре развертывания только порты управления массивами хранения открыты для внутренней сети общего назначения, а сам протокол iSCSI работает через выделенные сетевые сегменты или VLAN . Это смягчает проблемы аутентификации; неавторизованные пользователи физически не подготовлены для iSCSI и, таким образом, не могут взаимодействовать с массивами хранения. Однако это также создает проблему транзитивного доверия, поскольку один скомпрометированный хост с диском iSCSI может использоваться для атаки на ресурсы хранения других хостов.

Физическая изоляция сети

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

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

Хотя iSCSI можно реализовать просто как кластер портов VLAN на большом многопортовом коммутаторе, который также используется для общего сетевого использования, администратор может вместо этого использовать физически отдельные коммутаторы, выделенные только для сетей iSCSI VLAN, чтобы дополнительно исключить возможность неправильного подключения кабеля к неправильному порту, что приведет к преодолению логического барьера.

Авторизация

Поскольку iSCSI нацелен на консолидацию хранилища для многих серверов в единый массив хранения, развертывания iSCSI требуют стратегий для предотвращения доступа не связанных между собой инициаторов к ресурсам хранения. В качестве патологического примера, один корпоративный массив хранения может содержать данные для серверов, по-разному регулируемых Законом Сарбейнса-Оксли для корпоративного учета, HIPAA для информации о пособиях по здоровью и PCI DSS для обработки кредитных карт. Во время аудита системы хранения должны демонстрировать элементы управления, чтобы гарантировать, что сервер в одном режиме не сможет получить доступ к ресурсам хранения сервера в другом режиме.

Обычно массивы хранения iSCSI явно сопоставляют инициаторы с определенными целевыми LUN; инициатор аутентифицируется не с массивом хранения, а с определенным активом хранения, который он намерен использовать. Однако, поскольку целевые LUN ​​для команд SCSI выражены как в протоколе согласования iSCSI, так и в базовом протоколе SCSI, необходимо позаботиться о том, чтобы контроль доступа предоставлялся последовательно.

Конфиденциальность и целостность

По большей части iSCSI работает как протокол открытого текста, который не обеспечивает криптографической защиты для данных, перемещаемых во время транзакций SCSI. В результате злоумышленник, который может прослушивать трафик Ethernet iSCSI, может: [12]

Эти проблемы возникают не только с iSCSI, но и применимы к любому протоколу SAN без криптографической защиты. Протоколы безопасности на основе IP, такие как IPsec , могут обеспечить стандартную криптографическую защиту для этого трафика.

Реализации

Операционные системы

Даты в следующей таблице обозначают первое появление собственного драйвера в каждой операционной системе. Драйверы сторонних производителей для Windows и Linux были доступны еще в 2001 году, в частности, для подключения устройства IBM IP Storage 200i. [13]

Цели

Большинство целей iSCSI включают диск, хотя цели iSCSI tape и media-changer также популярны. До сих пор физические устройства не имели собственных интерфейсов iSCSI на уровне компонентов. Вместо этого устройства с интерфейсами Parallel SCSI или Fibre Channel объединяются с помощью программного обеспечения цели iSCSI, внешних мостов или контроллеров, встроенных в корпус устройства.

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

В отрасли продуктов безопасности некоторые производители используют iSCSI RAID в качестве целевого объекта, при этом инициатором выступает либо IP-кодер, либо камера.

Преобразователи и мосты

Существует несколько систем, которые позволяют подключать устройства Fibre Channel, SCSI и SAS к IP-сети для использования через iSCSI. Их можно использовать для миграции со старых технологий хранения, доступа к SAN с удаленных серверов и связывания SAN через IP-сети. Шлюз iSCSI соединяет IP-серверы с Fibre Channel SAN. TCP-соединение завершается на шлюзе, который реализован на коммутаторе Fibre Channel или как автономное устройство.

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

Примечания

  1. ^ Если только не используется туннелирование, например, Fibre Channel over Ethernet или Fibre Channel over IP .
  2. ^ Цель доступна только как часть Windows Unified Data Storage Server . Цель доступна в Storage Server 2008 (за исключением Basic edition). [14] Цель доступна для Windows Server 2008 R2 в качестве отдельной загрузки. Windows Server 2012, 2012 R2 и 2016 имеют встроенную версию цели Microsoft iSCSI 3.3.
  3. ^ Интеграция массивов API vStorage
  4. ^ В macOS нет ни инициатора, ни цели, поступающих напрямую от поставщика. [ необходима цитата ]

Ссылки

  1. ^ Рауз, Маргарет (май 2011 г.). "iSCSI (Интерфейс малых компьютерных систем Интернета)". SearchStorage . Получено 21 января 2019 г. .
  2. ^ "ISCSI SAN: основные преимущества, решения и ведущие поставщики сетей хранения данных". Tredent Network Solutions. Архивировано из оригинала 12 августа 2014 г. Получено 3 ноября 2012 г.
  3. ^ "iSCSI proof-of-concept в IBM Research Haifa". IBM . Получено 13 сентября 2013 г. .
  4. ^ "Chelsio демонстрирует следующее поколение 40G iSCSI на SNW Spring". chelsio.com. 2013-04-03 . Получено 2014-06-28 .
  5. ^ Архитектура и надежность крупномасштабных интернет-сервисов Дэвид Оппенгеймер и Дэвид А. Паттерсон, Беркли, IEEE Internet Computing , сентябрь–октябрь 2002 г.
  6. ^ "Chainloading iPXE". ipxe.org . Получено 2013-11-11 .
  7. ^ "Запись iPXE в ПЗУ". ipxe.org . Получено 11.11.2013 .
  8. ^ "iPXE - Open Source Boot Firmware". ipxe.org . Получено 2013-11-11 .
  9. ^ "Контроллеры Intel Ethernet". Intel.com . Получено 2012-09-18 .
  10. ^ J. Satran; K. Meth; C. Sapuntzakis; M. Chadalapaka; E. Zeidner (апрель 2004 г.). Интерфейс малых компьютерных систем Интернета (iSCSI). Сетевая рабочая группа. doi : 10.17487/RFC3720 . RFC 3720. Устарело. раздел 3.2.6.3.1, стр. 32. Устарело в соответствии с RFC 7143. Тип «iqn.» (квалифицированное имя iSCSI)
  11. ^ J. Satran; K. Meth; C. Sapuntzakis; M. Chadalapaka; E. Zeidner (апрель 2004 г.). Интерфейс малых компьютерных систем Интернета (iSCSI). Сетевая рабочая группа. doi : 10.17487/RFC3720 . RFC 3720. Устарело. Раздел 8.2.1. Устарело согласно RFC 7143.
  12. ^ "Protecting an iSCSI SAN". VMware. Архивировано из оригинала 3 марта 2016 года . Получено 3 ноября 2012 года .
  13. ^ "IBM IP storage 200i general available". IBM . Получено 13 сентября 2013 г. .
  14. ^ "Windows Storage Server | NAS | File Management". Microsoft . Получено 2012-09-18 .

Дальнейшее чтение