LIO (цель SCSI)
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() Цель LIO Linux SCSI | |
Оригинальный автор(ы) | Николас Беллинджер Джером Мартин |
---|---|
Разработчик(и) | Дата, Инк. |
Первоначальный выпуск | 14 января 2011 г. |
Репозиторий | github |
Написано в | С , Питон |
Операционная система | Линукс |
Тип | Блочное хранилище |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | Linux-ISCSI |
В вычислительной сфере Linux-IO ( LIO ) Target представляет собой с открытым исходным кодом реализацию цели SCSI , которая стала стандартной, включенной в ядро Linux . [ 1 ] [ нужен лучший источник ] Внутренне LIO не инициирует сеансы, а вместо этого предоставляет один или несколько номеров логических устройств (LUN), ожидает команд SCSI от инициатора SCSI и выполняет необходимые передачи входных/выходных данных. LIO поддерживает распространенные структуры хранения данных, включая FCoE , Fibre Channel , IEEE 1394 , iSCSI , расширения iSCSI для RDMA (iSER), протокол SCSI RDMA (SRP) и USB . Он включен в некоторые дистрибутивы Linux ; Встроенная поддержка LIO в QEMU / KVM , libvirt и OpenStack делает LIO также вариантом хранилища для облачных развертываний. [ 2 ] [ 3 ]
LIO поддерживается компанией Datera, Inc., Кремниевой долины поставщиком систем хранения данных и программного обеспечения из . 15 января 2011 года целевой механизм LIO SCSI был объединен с основной веткой ядра Linux в версии ядра 2.6.38. [ 4 ] [ 5 ] который был выпущен 14 марта 2011 года. Дополнительные модули структуры были объединены в последующие выпуски Linux.
Конкурирующим универсальным целевым модулем SCSI для Linux является SCST . [ 6 ] Для более узкой цели предоставления цели Linux iSCSI более старые модули IET («iSCSI Enterprise Target») и STGT («SCSI Target FrameWork») также пользуются отраслевой поддержкой. [ 7 ] [ 8 ]
Фон
[ редактировать ]Стандарт SCSI обеспечивает расширяемую семантическую абстракцию для компьютерных устройств хранения данных и, как таковой, стал « лингва-франка » для систем хранения данных. Стандарты SCSI T10 [ 9 ] определить команды [ 10 ] и протоколы командного процессора SCSI (отправленные в CDB SCSI ), а также электрические и оптические интерфейсы для различных реализаций.
Инициатор SCSI — это конечная точка, которая инициирует сеанс SCSI . Цель SCSI — это конечная точка, которая ожидает команд инициатора и выполняет необходимые передачи данных ввода-вывода . Цель SCSI обычно экспортирует один или несколько LUN для работы инициаторов.
Цель LIO Linux SCSI реализует общую цель SCSI, которая обеспечивает удаленный доступ к большинству типов устройств хранения данных через все распространенные структуры хранения и протоколы. LIO не имеет прямого доступа к данным и не взаимодействует напрямую с приложениями. LIO обеспечивает высокоэффективную, независимую от структуры и прозрачную абстракцию для семантики многочисленных типов устройств хранения данных.
Архитектура
[ редактировать ]
LIO реализует модульную и расширяемую архитектуру на основе универсального и высокоэффективного параллельного механизма обработки команд SCSI. Целевой механизм SCSI реализует семантику целевого объекта SCSI. [ 11 ]
Целевой механизм LIO SCSI не зависит от конкретных модулей структуры или типов резервного хранилища. Таким образом, LIO поддерживает одновременное смешивание и сопоставление любого количества фабрик и хранилищ. Целевой механизм LIO SCSI реализует комплексную поддержку SPC-3/SPC-4. [ 12 ] набор функций с поддержкой высокопроизводительных функций, включая постоянное резервирование SCSI-3/SCSI-4 (PR), асимметричное назначение логических единиц SCSI-4 (ALUA), API-интерфейсы VMware vSphere для интеграции массивов (VAAI), [ 13 ] Т10 ДИФ и т. д.
LIO настраивается через файл . configfs [ 14 ] API ядра, и им можно управлять через интерфейс командной строки и API ( targetcli ).
Цель SCSI
[ редактировать ]Концепция цели SCSI не ограничивается строго физическими устройствами на шине SCSI, а вместо этого обеспечивает обобщенную модель для всех приемников в логической структуре SCSI. Сюда входят сеансы SCSI через межсоединения вообще без физической шины SCSI. Концептуально в этом сценарии цель SCSI предоставляет общую службу или сервер блочного хранилища .
Backstores
[ редактировать ]Резервные хранилища предоставляют цели SCSI общий доступ к устройствам хранения данных путем их импорта через соответствующие драйверы устройств. Резервные хранилища не обязательно должны быть физическими устройствами SCSI.
Наиболее важными типами носителей резервного хранилища являются:
- Блокировать : блочный драйвер позволяет использовать необработанные блочные устройства Linux в качестве резервных копий для экспорта через LIO. Сюда входят физические устройства, такие как жесткие диски , твердотельные накопители , компакт-диски / DVD , RAM-диски и т. д., а также логические устройства, такие как программные или аппаратные тома RAID или тома LVM .
- Файл : файловый драйвер позволяет использовать файлы, которые могут находиться в любой файловой системе Linux или кластерной файловой системе, в качестве резервных копий для экспорта через LIO.
- Raw : драйвер Raw позволяет использовать неструктурированную память в качестве резервного хранилища для экспорта через LIO.
В результате LIO предоставляет обобщенную модель для экспорта блочного хранилища.
Тканевые модули
[ редактировать ]Модули Fabric реализуют внешний интерфейс целевого объекта SCSI, инкапсулируя и абстрагируя свойства различных поддерживаемых межсоединений. Доступны следующие тканевые модули.
FCoE
[ редактировать ]
Модуль структуры Fibre Channel over Ethernet (FCoE) позволяет передавать трафик протокола Fibre Channel (FCP) по сетям Ethernet без потерь . Спецификация, поддерживаемая большим количеством поставщиков сетей и систем хранения данных, является частью стандарта Технического комитета T11 FC-BB-5. [ 15 ]
LIO поддерживает все стандартные сетевые карты Ethernet.
Модуль структуры FCoE был предоставлен Cisco и Intel и выпущен вместе с Linux 3.0 21 июля 2011 года. [ 16 ]
Оптоволоконный канал
[ редактировать ]Fibre Channel — это высокоскоростная сетевая технология, в основном используемая для сетей хранения данных. Стандартизирован Техническим комитетом Т11. [ 17 ] Международного комитета по стандартам информационных технологий (INCITS).
Фабричный модуль QLogic Fibre Channel поддерживает скорости 4 и 8 Гбит со следующими адаптерами HBA:
- Серия QLogic 2400 (QLx246x), 4GFC
- Серия QLogic 2500 (QLE256x), 8GFC (полностью соответствует требованиям)
Фабричный модуль Fibre Channel [ 18 ] и драйвер низкого уровня [ 19 ] (LLD) были выпущены вместе с Linux 3.5 21 июля 2012 г. [ 20 ]
В Linux 3.9 также поддерживаются следующие адаптеры QLogic HBA и CNA:
- Серия QLogic 2600 (QLE266x), 16GFC, SR-IOV
- Серия QLogic 8300 (QLE834x), 16GFS/10 GbE, PCIe Gen3 SR-IOV
- Серия QLogic 8100 (QLE81xx), 8GFC/10 GbE, PCIe Gen2
Это делает LIO первым объектом с открытым исходным кодом, поддерживающим 16-гигабитный Fibre Channel.
ИЭЭЭ 1394
[ редактировать ]
Фабричный модуль FireWire SBP-2 позволяет Linux экспортировать локальные устройства хранения данных через IEEE 1394 , чтобы другие системы могли монтировать их как обычное устройство хранения данных IEEE 1394.
IEEE 1394 — это стандарт интерфейса последовательной шины для высокоскоростной связи и изохронной передачи данных в реальном времени. Он был разработан Apple как «FireWire» в конце 1980-х и начале 1990-х годов, а компьютеры Macintosh поддерживают «режим целевого диска FireWire» с 1999 года. [ 21 ]
Фабричный модуль FireWire SBP-2 был выпущен в составе Linux 3.5 21 июля 2012 года. [ 20 ] [ 22 ]
iSCSI
[ редактировать ]( Модуль интерфейса малых компьютерных систем Интернета iSCSI ) позволяет передавать трафик SCSI через стандартные IP-сети.
Передавая сеансы SCSI по IP-сетям, iSCSI используется для облегчения передачи данных через интрасети и управления хранилищем на больших расстояниях. iSCSI может использоваться для передачи данных через локальные сети (LAN), глобальные сети (WAN) или Интернет, а также обеспечивает независимое и прозрачное хранение и извлечение данных.
Модуль структуры LIO iSCSI также реализует ряд расширенных функций iSCSI, повышающих производительность и отказоустойчивость, таких как несколько подключений на сеанс (MC/S) и уровни восстановления ошибок 0–2 (ERL=0,1,2).
LIO поддерживает все стандартные сетевые карты Ethernet.
Модуль структуры iSCSI был выпущен в составе Linux 3.1 24 октября 2011 года. [ 23 ]
iSER
[ редактировать ]Сети, поддерживающие удаленный прямой доступ к памяти (RDMA), могут использовать модуль структуры iSCSI Extensions for RDMA (iSER) для транспортировки iSCSI трафика . iSER позволяет передавать данные непосредственно в буферы памяти удаленного компьютера SCSI и из них без промежуточных копий данных ( прямое размещение данных или DDP) с помощью RDMA. [ 24 ] RDMA поддерживается в сетях InfiniBand , в сетях Ethernet с мостовыми сетями центров обработки данных (DCB) через RDMA over Converged Ethernet (RoCE), а также в стандартных сетях Ethernet с iWARP усовершенствованными механизма разгрузки TCP контроллерами .
Модуль структуры iSER был разработан совместно компаниями Datera и Mellanox Technologies и впервые выпущен в составе Linux 3.10 30 июня 2013 года. [ 25 ]
рекомендуемая розничная цена
[ редактировать ]Модуль структуры протокола SCSI RDMA (SRP) позволяет передавать трафик SCSI по сетям RDMA (см. выше). По состоянию на 2013 год SRP использовался более широко, чем iSER, хотя и более ограниченно, поскольку SCSI — это только одноранговый протокол, тогда как iSCSI полностью маршрутизируем. Модуль структуры SRP поддерживает следующие адаптеры хост-канала Mellanox (HCA):
- HCA Mellanox ConnectX-2 VPI PCIe Gen2 (x8 линий), QDR с одним или двумя портами, 40 Гбит/с
- HCA Mellanox ConnectX-3 VPI PCIe Gen3 (x8 линий), FDR с одним или двумя портами, 56 Гбит/с
- HCA Mellanox ConnectX-IB PCIe Gen3 (x16 каналов), FDR с одним или двумя портами, 56 Гбит/с
Модуль структуры SRP был выпущен в составе Linux 3.3 18 марта 2012 г. [ 26 ]
В 2012 году c't журнал измерил пропускную способность почти 5000 МБ/с с LIO SRP Target через один порт Mellanox ConnectX-3 в режиме FDR 56 Гбит/с в системе Sandy Bridge PCI Express 3.0 с четырьмя Fusion-IO флэш-памятью ioDrive PCI Express. карты.
USB
[ редактировать ]Модуль USB Gadget Fabric позволяет Linux экспортировать локальные устройства хранения данных через универсальную последовательную шину (USB), чтобы другие системы могли монтировать их как обычное устройство хранения данных.
USB был разработан в середине 1990-х годов для стандартизации подключения компьютерной периферии , а также стал обычным явлением для устройств хранения данных.
Модуль USB Gadget Fabric был выпущен в составе Linux 3.5 21 июля 2012 года. [ 27 ]
целевойкли
[ редактировать ]targetcli (CLI) управления одним узлом пользовательского пространства — это интерфейс командной строки для LIO. [ 28 ] Он поддерживает все коммутационные модули и основан на модульной расширяемой архитектуре с подключаемыми модулями для дополнительных коммутационных модулей или функций.
targetcli предоставляет интерфейс командной строки, который использует базовую универсальную целевую библиотеку через четко определенный API. Таким образом, интерфейс командной строки можно легко заменить или дополнить пользовательским интерфейсом с другими метафорами, такими как графический интерфейс.
targetcli реализован на Python и состоит из трёх основных модулей:
- базовая библиотека rtslib и API. [ 29 ]
- configshell , который инкапсулирует атрибуты, специфичные для структуры , в соответствующих файлах спецификаций.
- сама оболочка targetcli .
Подробные инструкции по настройке целей LIO можно найти на вики LIO. [ 28 ]
Дистрибутивы Linux
[ редактировать ]targetcli и LIO включены в большинство дистрибутивов Linux по умолчанию. Вот обзор наиболее популярных из них, а также начальные даты включения:
Распределение | Версия [ а ] | Выпускать | Архив | Установка | Исходный код git | Документация |
---|---|---|---|---|---|---|
Альпийский Линукс | 2.5 | 2011-11-07 | Альпийское зеркало Linux | apk add targetcli-fb
|
targetcli-fb.git | Как сделать |
ЦентОС | 6.2 | 2011-12-20 | Зеркало CentOS | su -c 'yum install fcoe-target-utils'
|
targetcli-fb.git | Технические примечания |
Дебиан | 7.0 (« хрип ») | 2013-05-04 | Пул Debian | su -c 'apt-get install targetcli'
|
targetcli.git | ЛОШАДНАЯ неделя |
Федора | 16 | 2011-11-08 | Федора из сыромятной кожи | su -c 'yum install targetcli'
|
targetcli-fb.git | Целевая вики |
openSUSE | 12.1 | 2011-11-08 | Требуется ручная установка из репозитория Datera targetcli.git . | |||
РЭЛ [ б ] | 6.2 | 2011-11-16 | Федора из сыромятной кожи | su -c 'yum install fcoe-target-utils'
|
targetcli-fb.git | Технические примечания |
Научный Linux | 6.2 | 2012-02-16 | СЛ Зеркало | su -c 'yum install fcoe-target-utils'
|
targetcli-fb.git | Технические примечания |
СЛЕС | 11 СП3 МР | 2013-12 | - | su -c 'zypper in targetcli'
|
targetcli.git | ЛОШАДНАЯ неделя |
Убунту | 12.04 ЛТС (точный) | 2012-04-26 | Свободная вселенная | sudo apt-get install targetcli
|
targetcli.git | ЛОШАДНАЯ неделя |
См. также
[ редактировать ]- Целевой программный стек SCST Linux SCSI
- Оптоволоконный канал
- Оптоволоконный канал через Ethernet (FCoE)
- IEEE 1394 /Firewire
- ИнфиниБэнд
- iSCSI
- Расширения iSCSI для RDMA (iSER)
- Протокол SCSI RDMA (SRP)
- USB
Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Цель . 323328-001. Linux-iscsi.org. 23 октября 2012 г. Проверено 25 декабря 2012 г.
- ^ Эрик Харни (17 декабря 2012 г.). «Поддержка LIO в качестве серверной части iSCSI» . launchpad.net . Проверено 14 января 2013 г.
- ^ IBM, Red Hat (февраль 2013 г.). «Производительность виртуализированного ввода-вывода KVM» (PDF) .
- ^ Линус Торвальдс (14 января 2011 г.). «Тривиальное слияние» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ Торстен Лемхейс (2 марта 2011 г.). «Журнал ядра: появление версии 2.6.38 (часть 4) — Хранилище» . Хейзе Онлайн.
- ^ «История двух целей SCSI» . Lwn.net . Проверено 20 января 2014 г.
- ^ Хаас, Флориан (май 2012 г.). «Реплицируйте все! Высокодоступное хранилище iSCSI с DRBD и кардиостимулятором» . Linux-журнал . Архивировано из оригинала 20 января 2014 г. Проверено 28 сентября 2019 г.
- ^ Болховитин, Владислав (11 апреля 2018 г.). «СКСТ против СТГТ» . Общая целевая подсистема SCSI для Linux . Проверено 1 апреля 2019 г.
- ^ Технический комитет Т10. «Интерфейсы хранения данных SCSI» . t10.org . Проверено 24 декабря 2012 г.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ Справочное руководство по командам SCSI (PDF) . 100293068, преподобный К. Скоттс Вэлли: Seagate Technology. Апрель 2010 года . Проверено 25 декабря 2012 г.
- ^ Беллинджер, Николас (2009). Текущий статус и будущее iSCSI на платформе Linux (PDF) . Конференция сантехников Linux.
- ^ Ральф Вебер (17 января 2011 г.). «Основные команды SCSI — 4 (SPC-4)» . t10.org . Проверено 7 марта 2011 г.
- ^ LIO Linux SCSI Target (23 декабря 2012 г.). «ВААИ» . linux-iscsi.org . Проверено 25 декабря 2012 г.
- ^ Джонатан Корбет (24 августа 2005 г.). «Configfs — введение» . lwn.net . Проверено 7 марта 2011 г.
- ^ «Fibre Channel: Магистраль — 5 версия 2.00» (PDF) . Американский национальный стандарт информационных технологий Техническая группа Международного комитета по стандартам информационных технологий T11. 4 июня 2009 года . Проверено 5 мая 2011 г.
- ^ Линус Торвальдс (18 апреля 2011 г.). «[SCSI] tcm_fc: добавление поставщика FC_FC4 (tcm_fc) для поддержки цели FCoE (TCM — целевое ядро)» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ «Главная страница Т11» . t11.org . Проверено 25 декабря 2012 г.
- ^ Линус Торвальдс (15 мая 2012 г.). «[SCSI] tcm_qla2xxx: Добавить >= модуль структуры серии 24xx для целевого ядра» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ Линус Торвальдс (15 мая 2012 г.). «[SCSI] qla2xxx: добавить инфраструктуру целевого режима LLD для серии >= 24xx» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ Перейти обратно: а б Торстен Лемхейс (3 июля 2012 г.). «Журнал ядра: появление версии 3.5 (часть 2) — Файловые системы и хранилище» . Хейзе онлайн . Проверено 14 января 2013 г.
- ^ «Как использовать режим целевого диска FireWire и устранять неполадки» . apple.com . Проверено 24 декабря 2012 г.
- ^ Линус Торвальдс (15 апреля 2012 г.). «sbp-target: первоначальное объединение поддержки целевого режима Firewire/ieee-1394» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ Линус Торвальдс (27 июля 2011 г.). «Объединение iSCSI» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ RFC 5041
- ^ Линус Торвальдс (30 апреля 2013 г.). «Объединить ветку «для следующего слияния» » . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ Линус Торвальдс (18 января 2012 г.). «Слияние InfiniBand/SRP» . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ «Объединить ветку 'usb-target-merge' » . Кернел.орг . Проверено 28 сентября 2019 г.
- ^ Перейти обратно: а б LIO Linux SCSI Target (9 декабря 2012 г.). «Таргеткли» . linux-iscsi.org . Проверено 25 декабря 2012 г.
- ^ Джером Мартин (3 августа 2011 г.). «Пакет рцлиб» . daterainc.com . Проверено 25 декабря 2012 г.
- ^ «Глава 6. Хранение» . Access.redhat.com . Проверено 20 января 2014 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Дата веб-сайта