Jump to content

СКСТ

СКСТ
Стабильная версия
3.6 / 17 января 2022 г. ( 17.01.2022 )
Репозиторий github /SCST-проект /скст
Написано в С
Операционная система Линукс
Тип Блочное хранилище
Лицензия Стандартная общественная лицензия GNU
Веб-сайт ПКСТ .sourceforge .сеть

SCST — это GPL , лицензированный по лицензии стек целевого программного обеспечения SCSI . Целями разработки этого программного стека являются высокая производительность, высокая надежность, строгое соответствие существующим стандартам SCSI , простота расширения и простота использования. SCST не только поддерживает несколько протоколов SCSI ( iSCSI , FC , SRP , ...), но также поддерживает несколько интерфейсов локального хранилища (сквозной SCSI, блочный ввод-вывод и файловый ввод-вывод), а также драйверы хранения, реализованные в пользовательском интерфейсе. пространство через драйвер scst_user. [1]

Для достижения максимальной производительности SCST был реализован в виде набора драйверов ядра. SCST часто комбинируется с RAID , дедупликацией данных и/или программным обеспечением кластера высокой доступности для расширения его функциональности. Программный стек SCST является базовым программным обеспечением многих систем SAN . [2] С системами SAN на базе SCST было установлено несколько мировых рекордов. [3] [4] [5] [6]

SCST конкурирует с LIO Target с той же целью: предоставить универсальный целевой модуль SCSI внутри ядра Linux. [7] Для более узкой цели, обеспечивающей цель Linux iSCSI , более старые модули IET и STGT также пользуются отраслевой поддержкой. [8]

В период с 2013 по 2017 год SCST в основном обслуживался персоналом SanDisk , после того как в 2013 году Fusion-io приобрела стартап ID7, который стал движущей силой SCST. [9] [10] [11] и после того, как SanDisk приобрела Fusion-io в 2014 году. [12]

Архитектура

[ редактировать ]
СЦСТ Архитектура

СКСТ состоит из трех групп модулей:

  • Ядро SCST — независимый от протокола механизм обработки команд SCSI.
  • Целевые драйверы, которые получают команды SCSI от инициатора SCSI, передают эти SCSI ядру SCST и отправляют ответы инициатору.
  • Драйверы хранилища, или обработчики устройств, которые взаимодействуют с носителем данных. Поддерживаемые интерфейсы локального хранилища: SCSI, блочное устройство, файл и scst_user. scst_user — это протокол, специфичный для SCST, который обеспечивает эффективную реализацию драйверов хранилища в пользовательском пространстве.

Настройка всех этих модулей происходит через интерфейс sysfs . Хотя прямая настройка SCST через интерфейс sysfs удобна, инструмент scstadmin позволяет управлять SCST через интерфейс sysfs, а также сохранять и восстанавливать конфигурацию SCST.

Следующие аспекты проектирования помогают SCST достичь высокой производительности, которой известен этот проект:

  • Количество потоков на устройство хранения, обрабатывающее команды SCSI, можно настроить.
  • Все функции целевого драйвера и драйвера хранилища, вызываемые ядром SCST, являются асинхронными, по крайней мере, когда ядро ​​Linux это позволяет. Например, пока невозможно выполнять асинхронный или прямой ввод-вывод изнутри ядра Linux. [13]
  • один конечный автомат С каждой командой SCSI связан . Это позволяет одному командному потоку одновременно обрабатывать несколько команд SCSI.
  • Даже при использовании нескольких потоков на одно устройство хранения данных все эти потоки используют один и тот же контекст планировщика ввода-вывода. Такое совместное использование значительно повышает производительность при использовании, например, CFQ . планировщика ввода-вывода
  • Векторный кэш разброса и сбора данных. Этот кэш позволяет избежать выделения памяти через ядро ​​для каждой команды SCSI.
  • Безблокировочный доступ к определенным структурам данных, необходимым для обработки команд SCSI. Это также означает, что ввод-вывод должен быть приостановлен, прежде чем можно будет изменить любую из структур данных, к которым осуществляется доступ без блокировки. [14]
  • Команды SCSI могут передаваться целевым драйвером ядру SCST из контекста softirq. Это приводит к меньшему количеству переключений контекста по сравнению с необходимостью отправлять команды SCSI из контекста потока. [15]

В 2000 году целевая структура SCSI была разработана Лабораторией совместимости Университета Нью-Гэмпшира (UNH-IOL). Хотя целевая реализация SCSI UNH-IOL только поддерживает протокол iSCSI , он был разработан таким образом, чтобы можно было легко добавить поддержку других протоколов хранения. [16]

В 2004 году был анонсирован проект SCST, обеспечивающий поддержку Fibre Channel и iSCSI. Первоначальная цель iSCSI в SCST была основана на реализации цели iSCSI UNH-IOL. [17] Примерно в это же время компания Ardis Technologies разработала альтернативный стек целевого программного обеспечения iSCSI. [18]

Программное обеспечение iSCSI Enterprise Target, анонсированное в 2005 году, представляет собой дальнейшее развитие стека Ardis. [19] [20] Позже, в 2005 году, Chelsio анонсировала целевой драйвер SCST iSCSI для семейства Ethernet-адаптеров Chelsio T2. [21]

В 2006 году был добавлен целевой драйвер для карт LSI/MPT. [22] Позже в этом году был добавлен инструмент scstadmin. Этот инструмент позволяет сохранять и восстанавливать конфигурацию SCST из файла или в файл. [23]

В 2007 году целевой патч UNH-IOL iSCSI в проекте SCST был заменен ответвлением IET. [24]

В 2008 году SRP . компания Mellanox подарила целевой драйвер [25] Позже этот драйвер был оптимизирован Бартом Ван Ашем. [26]

В 2009 году Marvell предоставила целевой драйвер для своих карт SAS. [27]

целевой драйвер для карт адаптеров Emulex Fibre Channel / FCoE . Также в 2009 году компания Emulex анонсировала [28] [29] [30]

В том же году в SCST был добавлен интерфейс sysfs рядом с уже существующим интерфейсом procfs.

В 2010 году целевой драйвер FCoE был предоставлен Cisco. [31] а Барт Ван Аш портировал целевой драйвер IBM System p SCSI на SCST. [32]

В 2011 году неявная поддержка ALUA была добавлена ​​в ядро ​​SCST и в инструмент настройки scstadmin. [33] Три сценария инициализации (scst, iscsi-scst и qla2x00t) были объединены в один сценарий инициализации, что упростило установку и управление SCST.

В 2013 году в целевой драйвер SRP была добавлена ​​поддержка QLogic InfiniBand HCA. [34]

В январе 2014 года компания Mellanox передала реализацию целевого драйвера iSER проекту SCST. [35]

В мае 2014 года компания QLogic выпустила целевой драйвер QLogic со скоростью 16 Гбит/с, а также объявила о том, что возьмет на себя сопровождение целевого драйвера QLogic SCST. [36]

В 2016 году была добавлена ​​поддержка асинхронного буферизованного и прямого файлового ввода-вывода, а также более мощная инфраструктура измерения задержки.

В 2019 году ядро ​​SCST было изменено таким образом, что ввод-вывод продолжает работать на полной скорости, если LUN или устройство хранения данных добавлено или удалено.

См. также

[ редактировать ]
  1. ^ Ван Аш, Барт (19 августа 2015 г.). SCST, целевая структура SCSI (PDF) . LinuxCon North America 2015. Сиэтл.
  2. ^ Болховитин, Владислав (20 декабря 2012 г.). «Пользователи ПКСТ» .
  3. ^ «Новый мировой рекорд VMmark по облачным вычислениям, установленный с помощью Cisco UCS, VMware и Fusion-io» . Фьюжн-ио. 10 мая 2013. Архивировано из оригинала 2 июля 2014 года . Проверено 12 августа 2018 г.
  4. ^ «HP достигла двух новых показателей виртуализации VMmark №1 с помощью ION Data Accelerator» . Фьюжн-ио. 12 сентября 2013. Архивировано из оригинала 16 июня 2014 года . Проверено 12 августа 2018 г.
  5. ^ «HP достигает мировых рекордов по производительности виртуализации блейд-серверов 2P и серверов, монтируемых в стойку, в тесте VMmark 2.5.1» (PDF) . ХП. Октябрь 2013.
  6. ^ «K2 превысил два миллиона операций ввода-вывода в секунду при использовании единой флэш-системы хранения данных» . Каминарио. 4 октября 2012 г.
  7. ^ «История двух целей SCSI [LWN.net]» .
  8. ^ Флориан Хаас, « Реплицируйте все! Высокодоступное хранилище iSCSI с DRBD и кардиостимулятором », (Linux iSCSI: раздел «Повесть о четырех целях») Linux Journal, выпуск № 217, май 2012 г.
  9. ^ Мейер, Дэвид (18 марта 2013 г.). «Fusion-io приобретает фирму программно-определяемых систем хранения данных ID7 для работы с SCST» . Гигаом . Проверено 20 июля 2014 г.
  10. ^ О'Брайен, Кевин (18 марта 2013 г.). «Fusion-io приобретает ID7, разработчиков SCST» . Проверено 20 июля 2014 г.
  11. ^ «Fusion-io ID7 — ускорение общего хранилища с помощью программно-конфигурируемых решений» . Фьюжн-ио . Архивировано из оригинала 4 августа 2014 года . Проверено 12 августа 2018 г.
  12. ^ Айер, Джей (23 июля 2014 г.). «SanDisk завершает приобретение Fusion-io» . СанДиск .
  13. ^ Эдж, Джейк (3 апреля 2012 г.). «Саммит по управлению хранилищем, файловой системой и памятью Linux 2012 — день 1» .
  14. ^ Ван Аш, Барт (25 декабря 2012 г.). «Более тонкая блокировка в SCST» .
  15. ^ Болховитин, Владислав; Ван Аш, Барт (26 сентября 2012 г.). «SCST README» .
  16. ^ Палекар, Ашиш; Ганапати, Нарендран; Чадда, Аншул; Рассел, Роберт Д. (2001). «Проектирование и реализация цели Linux SCSI для сетей хранения данных». Материалы 5-й ежегодной выставки и конференции Linux . 5 . Ассоциация USENIX: 11–18. CiteSeerX   10.1.1.61.2706 .
  17. ^ Болховитин, Владислав. «ОБЪЯВЛЯЕМ универсальный целевой средний уровень SCSI для Linux (SCST) с целевыми драйверами» .
  18. ^ Фудзита, Томонори; Масанори, Огавара (2004). «Анализ целевого программного обеспечения iSCSI» . Материалы международного семинара по архитектуре сетей хранения данных и параллельному вводу-выводу - SNAPI '04 . АКМ. стр. 25–32. дои : 10.1145/1162628.1162632 . ISBN  9781450378222 . S2CID   14730273 . {{cite book}}: CS1 maint: дата и год ( ссылка )
  19. ^ Фудзита, Томонори (1 июня 2004 г.). «Корпоративная цель iSCSI» .
  20. ^ Фудзита, Томонори (1 марта 2005 г.). «ОБЪЯВЛЕНИЕ целевого корпоративного программного обеспечения iSCSI» .
  21. ^ Смит, Рэнди (7 сентября 2005 г.). «Chelsio представляет семейство продуктов iSCSI следующего поколения, обеспечивающее прорыв в производительности и плотности портов» . Челсио.
  22. ^ Хаббинга, Эрик (13 декабря 2006 г.). «Целевой драйвер LSI/MPT» .
  23. ^ Бюхлер, Марк Р. (14 ноября 2006 г.). «Первоначальная фиксация scstadmin» .
  24. ^ Болховитин, Владислав (15 августа 2007 г.). «Первоначальная фиксация iSCSI-SCST» .
  25. ^ Фам, Ву (17 мая 2008 г.). «Первоначальная фиксация целевого драйвера SRP» .
  26. ^ Ван Аш, Барт (20 декабря 2010 г.). «ИСПРАВЛЕНИЕ 4/7 scst: Добавить целевой драйвер SRP» .
  27. ^ Ян, Энди (14 апреля 2009 г.). «Целевой драйвер для карт Marvell 88SE64xx(3G) и 88SE94xx(6G) SAS» .
  28. ^ Болховитин, Владислав (8 июля 2009 г.). «ОБЪЯВЛЕНИЕ о поддержке целевого драйвера SCST для адаптеров Emulex lpfc FC/FCoE» .
  29. ^ Лейн, Кэтрин (15 сентября 2009 г.). «SDK повышает ценность и расширяет рыночные возможности для разработчиков решений для хранения данных в центрах обработки данных» . Эмулекс. Архивировано из оригинала 15 октября 2009 года . Проверено 10 августа 2018 г.
  30. ^ «Комплект разработчика программного обеспечения TargetConnect: ускорение, упрощение и улучшение разработки целевых драйверов» . Эмулекс. 15 сентября 2009 года. Архивировано из оригинала 14 октября 2009 года . Проверено 10 августа 2018 г.
  31. ^ Эйхолт, Джо (20 февраля 2010 г.). «Первоначальная фиксация целевого драйвера FCoE» .
  32. ^ Ван Аш, Барт (20 декабря 2010 г.). «ИСПРАВЛЕНИЕ 5/7 ibmvstgt: Порт с tgt на SCST» .
  33. ^ Ван Аш, Барт (11 мая 2011 г.). «PATCH scst: добавить неявную поддержку ALUA» .
  34. ^ Ван Аш, Барт (17 марта 2013 г.). «ИСПРАВЛЕНИЕ ib_srpt: добавлена ​​поддержка QLogic InfiniBand HCA» .
  35. ^ Бурман, Ян (21 января 2014 г.). «ПАТЧ 0/9 Поддержка iSER для SCST» .
  36. ^ Григсби, Дуэйн (20 мая 2014 г.). «Поддержка QLogic 16G FC/FCoE HBA» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 91e444b9cc0fde89f6640e05f83c6c90__1715319600
URL1:https://arc.ask3.ru/arc/aa/91/90/91e444b9cc0fde89f6640e05f83c6c90.html
Заголовок, (Title) документа по адресу, URL1:
SCST - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)