Сравнения sas fc scsi iscsi
На предприятиях с несколькими серверами, к которым подключены внешние дисковые системы хранения данных и ленточные накопители, возникает потребность в их согласованной совместной работе. Эта задача решается использованием сетей хранения данных. Storage Area Network (SAN) – специализированная сетевая инфраструктура и комплексное архитектурное решение, которое соединяет сервера и СХД в единое целое. Сеть хранения данных обеспечивает соединение на физическом уровне и предоставляет возможность управления компьютерной системой.
ATA / PATA
Интерфейс ATA (Advanced Technology Attachment), так же известный как PATA (Parallel ATA) был разработан компанией Western Digital в 1986 году. Маркетинговое название стандарта IDE (англ. Integrated Drive Electronics — «электроника, встроенная в привод») подчеркивало важное нововведение: контроллер привода был встроен в привод, а не на отдельной плате расширения.
Решение разместить контроллер внутри привода решило сразу несколько проблем. Во-первых, уменьшилось расстояние от накопителя до контроллера, что положительным образом повлияло на характеристики накопителя. Во-вторых, встроенный контроллер был «заточен» только под определенный тип привода и, соответственно, был дешевле.
ATA, как и SCSI, использует параллельный способ ввода-вывода, что отражается на используемых кабелях. Для подключения дисков с использованием интерфейса IDE необходимы 40-жильные кабели, также именуемые шлейфами. В более поздних спецификациях используются 80-жильные шлейфы: более половины из которых — заземления для уменьшения интерференции на высоких частотах.
На шлейфе ATA присутствует от двух до четырех разъемов, один из которых подключается в материнскую плату, а остальные — в накопители. При подключении двух устройств одним шлейфом, одно из них должно быть сконфигурировано как Master, а второе — как Slave. Третье устройство может быть подключено исключительно в режиме «только чтение».
Положение перемычки задает роль конкретного устройства. Термины Master и Slave по отношению к устройствам не совсем корректны, так как относительно контроллера все подключенные устройства — Slaves.
Особенным нововведением в ATA-3 считается появление Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.). Пять компаний (IBM, Seagate, Quantum, Conner и Western Digital) объединили усилия и стандартизировали технологию оценки состояния накопителей.
Поддержка твердотельных накопителей появилась с четвертой версии стандарта, выпущенной в 1998 году. Эта версия стандарта обеспечивала скорость обмена данными до 33.3 МБ/с.
Стандарт выдвигает жесткие требования к шлейфам ATA:
- шлейф обязательно должен быть плоским;
- максимальная длина шлейфа 18 дюймов (45.7 сантиметров).
Стандарт Serial ATA (SATA) был представлен 7 января 2003 года и решал проблемы своего предшественника следующими изменениями:
- параллельный порт заменен последовательным;
- широкий 80-жильный шлейф заменен 7-жильным;
- топология «общая шина» заменена на подключение «точка-точка».
Шестнадцать сигнальных линий для передачи данных в ATA были заменены на две витые пары: одна для передачи, вторая для приема. Коннекторы SATA спроектированы для большей устойчивости к множественным переподключениям, а спецификация SATA 1.0 сделала возможным «горячее подключение» (Hot Plug).
Некоторые пины на дисках короче, чем все остальные. Это сделано для поддержки «горячей замены» (Hot Swap). В процессе замены устройство «теряет» и «находит» линии в заранее определенном порядке.
Чуть более, чем через год, в апреле 2004-го, вышла вторая версия спецификации SATA. Помимо ускорения до 3 Гбит/с в SATA 2.0 ввели технологию Native Command Queuing (NCQ). Устройства с поддержкой NCQ способны самостоятельно организовывать порядок выполнения поступивших команд для достижения максимальной производительности.
Последующие три года SATA Working Group работала над улучшением существующей спецификации и в версии 2.6 появились компактные коннекторы Slimline и micro SATA (uSATA). Эти коннекторы являются уменьшенной копией оригинального коннектора SATA и разработаны для оптических приводов и маленьких дисков в ноутбуках.
Несмотря на то, что пропускной способности второго поколения SATA хватало для жестких дисков, твердотельные накопители требовали большего. В мае 2009 года вышла третья версия спецификации SATA с увеличенной до 6 Гбит/с пропускной способностью.
Особое внимание твердотельным накопителям уделили в редакции SATA 3.1. Появился коннектор Mini-SATA (mSATA), предназначенный для подключения твердотельных накопителей в ноутбуках. В отличие от Slimline и uSATA новый коннектор был похож на PCIe Mini, хотя и не был электрически совместим с PCIe. Помимо нового коннектора SATA 3.1 мог похвастаться возможностью ставить команды TRIM в очередь с командами чтения и записи.
Команда TRIM уведомляет твердотельный накопитель о блоках данных, которые не несут полезной нагрузки. До SATA 3.1 выполнение этой команды приводило к сбросу кэшей и приостановке операций ввода-вывода с последующим выполнением команды TRIM. Такой подход ухудшал производительность диска при операциях удаления.
Спецификация SATA не успевала за бурным ростом скорости доступа к твердотельным накопителям, что привело к появлению в 2013 году компромисса под названием SATA Express в стандарте SATA 3.2. Вместо того, чтобы снова удвоить пропускную способность SATA, разработчики задействовали широко распространенную шину PCIe, чья скорость превышает 6 Гбит/с. Диски с поддержкой SATA Express приобрели собственный форм-фактор под названием M.2.
«Конкурирующий» с ATA стандарт SCSI тоже не стоял на месте и всего через год после появления Serial ATA, в 2004, переродился в последовательный интерфейс. Имя новому интерфейсу — Serial Attached SCSI (SAS).
Несмотря на то, что SAS унаследовал набор команд SCSI, изменения были значительные:
- последовательный интерфейс;
- 29-ти жильный кабель с питанием;
- подключение «точка-точка»
Максимальное количество одновременно подключенных устройств в SAS-домене по спецификации превышает 16 тысяч, а вместо SCSI ID для адресации используется идентификатор World-Wide Name (WWN).
Несмотря на схожесть разъемов SAS и SATA, эти стандарты не являются полностью совместимыми. Тем не менее, SATA-диск может быть подключен в SAS-коннектор, но не наоборот. Совместимость между SATA-дисками и SAS-доменом обеспечивается при помощи протокола SATA Tunneling Protocol (STP).
Первая версия стандарта SAS-1 имеет пропускную способность 3 Гбит/с, а самая современная, SAS-4, улучшила этот показатель в 7 раз: 22,5 Гбит/с.
Peripheral Component Interconnect Express (PCI Express, PCIe) — последовательный интерфейс для передачи данных, появившийся в 2002 году. Разработка была начата компанией Intel, а впоследствии передана специальной организации — PCI Special Interest Group.
Последовательный интерфейс PCIe не был исключением и стал логическим продолжением параллельного PCI, который предназначен для подключения карт расширения.
PCI Express значительно отличается от SATA и SAS. Интерфейс PCIe имеет переменное количество линий. Количество линий равно степеням двойки и колеблется в диапазоне от 1 до 16.
Термин «линия» в PCIe обозначает не конкретную сигнальную линию, а отдельный полнодуплексный канал связи, состоящий из следующих сигнальных линий:
- прием+ и прием-;
- передача+ и передача-;
- четыре жилы заземления.
«Аппетиты» твердотельных накопителей растут очень быстро. И SATA, и SAS не успевают увеличивать свою пропускную способность, чтобы «угнаться» за SSD, что привело к появлению SSD-дисков с подключением по PCIe.
Хотя PCIe Add-In карты прикручиваются винтом, PCIe поддерживает «горячую замену». Короткие пины PRSNT (англ. present — присутствовать) позволяют удостовериться, что карта полностью установлена в слот.
Твердотельные накопители, подключаемые по PCIe регламентируются отдельным стандартом Non-Volatile Memory Host Controller Interface Specification и воплощены в множестве форм-факторов, но о них мы расскажем в следующей части.
FCoE (Fibre Channel over Ethernet)
Идея создания FCoE заключалась том, чтоб консолидировать операции ввода-вывода и, как следствие, обеспечить безопасное размещение в одном «проводе» различных типов траффика. Такая задумка подразумевала снижение совокупной стоимости владения системой (TCO) за счет уменьшения числа кабелей и адаптеров, а также снижения показателей по энергопотреблению. При этом показатели доступности и производительности FCoE не сопоставимы с показателями FC, так как передача данных требует дополнительных накладных расходов на инкапсуляцию в Ethernet.
К тому же, FCoE добавляет сложность в развёртывании и администрировании всей системы, повышая уровень требований к обслуживающему персоналу и поддержке решения. Несмотря на надежды производителей FCoE на повсеместное внедрение, до сих пор данный протокол не смог вытеснить FC и развивается очень медленными темпами. Распространение FCoE на рынке SAN в настоящий момент минимально.
По данным Fibre Channel Industry Association (FCIA) в прогнозных показателях FCoE скорость протокола зависит от реализаций Ethernet.
Протокол FC
Протокол FC (Fibre Channel) целенаправленно разработан для построения сетей хранения данных, используется в качестве фактического стандарта на предприятиях и поддерживается большинством производителей.
Плюсы: высокая производительность, низкие задержки, способность к масштабированию, поддержка устаревших устройств, массовое распространение.
Минусы: относительно высокая стоимость адаптеров и коммутаторов.
Общие тенденции
Существующие сети FC 8Гб/с и Ethernet 10Гб/с уже не справляются c современными СХД, даже Ethernet 25/50 Гб/с не может обеспечить приемлемые задержки при работе с последними моделями СХД, использующими NVMe диски.
Многие ИТ-специалисты, занимающимся настройкой и администрированием инфраструктуры хранения, задаются вопросом о модернизации SAN-сетей. Почему же это так важно и необходимо на сегодняшний день? Сформулируем несколько основных причин:
- Во-первых, плотность хранения данных постоянно растёт, увеличиваются объёмы как HDD дисков, так и флэш-накопителей. Уже сейчас на рынке доступны HDD объёмом 10ТБ и SSD до 3.2ТБ.
- Во-вторых, скорость флэша и гибридных СХД растёт в двух аспектах: увеличивается пропускная способность и уменьшаются задержки. Например, последние модели NVMe-накопителей имеют производительность порядка 3ГБ/с и задержки в 20 мкс.
- В-третьих, потребность в обработке миллионов IOps. Уже сейчас один NVMe-диск способен выдавать до 700+ тысч IOps.
- В-четвёртых, потребность увеличивать производительность на один порт подключения. Если раньше с одного порта QSFP+ на протоколе InfiniBand получали максимум 56Гб/с, то уже в этом году есть решения с производительностью 200Гб/с на порт.
По существующим прогнозам, в перспективе двух лет (по данным Gartner, в течение 18 месяцев) all-flash массивы будут комплектоваться более производительными SSD-дисками, а в сочетании с быстрым интерконнектом (например, NVMe) и новыми протоколами (например, iWARP) производительность all-flash массивов повысится ещё на два порядка, что приведёт к необходимости модернизировать SAN.
NVMe (NVM Express)
NVMe — это достаточно новый высокопроизводительный протокол доступа к твердотельным накопителям, подключенным по шине PCI Express. Аббревиатура «NVM» в названии обозначает энергонезависимую память (Non-Volatile Memory), в качестве которой в SSD повсеместно используется флеш-память типа NAND.
Протокол был разработан с нуля. Основные цели его разработки – низкие задержки и эффективное использование высокого параллелизма твердотельных накопителей. Последняя задача решается за счёт применения нового набора команд и механизма обработки очередей ввода-вывода, оптимизированного для работы с современными процессорами.
На данный момент технология NVMe еще не получила широкого распространения. В основном протокол используется для внутреннего соединения в серверах и СХД. Спецификация NVMe также позволяет инкапсулировать его в другие протоколы, такие как Ethernet, FC и InfiniBand, и масштабировать протокол в более крупных сетях. Впрочем, поскольку NVMe использует прямой доступ к памяти (RDMA), латентность протокола несущей должна быть очень низкой для нормальной работы протокола.
В 2017 году ожидается активное внедрение NVMe, так как многие производители серверных платформ представляют новые модели с поддержкой двухпортовых NVMe-устройств, что позволит проектировать отказоустойчивые решения для хранения.
Ожидается, что в ближайшие несколько лет NVMe будет использоваться в качестве внешнего межсетевого интерфейса, аналогичного PCIe и InfiniBand. Например, он может использоваться в небольших специализированных сетях хранения из десятков узлов или устройств в однородной среде хранения. Гораздо шире NVMe будет использоваться в качестве внутреннего интерконнекта.
PCIe имеет очень низкие задержки и используется преимущественно в серверах для подключения плат расширения, в том числе и высокопроизводительных NVMe дисков. Некоторые новые продукты от известных производителей используют PCIe в качестве протокола подключения серверов через небольшие PCIe коммутаторы, т.е. PCIe получается использовать только в небольших SAN-сетях.
Только несколько производителей СХД в мире используют PCIe для внешних подключений, что и определяет узкоспециализированное применение данного протокола.
Так как PCIe не использует SCSI и требует собственного протокола для передачи данных, он может увеличить пропускную способность за счёт уменьшения задержек, по сути, работая на скорости чистой PCIe-линии. Такие решения требуют применения проприетарных драйверов, что делает их сложно администрируемыми и приводит к невозможности создавать гетерогенные инфраструктуры, а также встраивать такие решения в существующие SAN сети.
На сегодняшний день основная используемая реализация технологии — это PCIe 3.x, в которой производительность увеличена на 40% по сравнению PCIe 2.x.
По количеству линий PCIe масштабируется от 1ГБ/с до 16ГБ/с. В 2017 году выходит новый стандарт PCIe 4.x, который увеличит производительность в 2 раза, т.е. максимальная производительность достигнет 32ГБ/с.
Параллельные и последовательные порты
По способу обмена данными порты ввода-вывода делятся на два типа:
Последовательные порты — противоположность параллельным. Отправка данных происходит по одному биту за раз, что сокращает общее количество сигнальных линий, но усложняет контроллер ввода-вывода. Контроллер передатчика получает машинное слово за раз и должен передавать по одному биту, а контроллер приемника в свою очередь должен получать биты и сохранять в том же порядке.
Small Computer Systems Interface (SCSI) появился в далеком 1978 году и был изначально разработан, чтобы объединять устройства различного профиля в единую систему. Спецификация SCSI-1 предусматривала подключение до 8 устройств (вместе с контроллером), таких как:
- сканеры;
- ленточные накопители (стримеры);
- оптические приводы;
- дисковые накопители и прочие устройства.
Изначально SCSI имел название Shugart Associates System Interface (SASI), но стандартизирующий комитет не одобрил бы название в честь компании и после дня мозгового штурма появилось название Small Computer Systems Interface (SCSI). «Отец» SCSI, Ларри Баучер (Larry Boucher) подразумевал, что аббревиатура будет произноситься как «sexy», но Дал Аллан (Dal Allan) прочитал «sсuzzy» («скази»). Впоследствии произношение «скази» прочно закрепилось за этим стандартом.
В терминологии SCSI подключаемые устройства делятся на два типа:
Используемая топология «общая шина» накладывает ряд ограничений:
- на концах шины необходимы специальные устройства — терминаторы;
- пропускная способность шины делится между всеми устройствами;
- максимальное количество одновременно подключенных устройств ограничено.
Устройства на шине идентифицируются по уникальному номеру, называемому SCSI Target ID. Каждый SCSI-юнит в системе представлен минимум одним логическим устройством, адресация которого происходит по уникальному в пределах физического устройства номеру Logical Unit Number (LUN).
Команды в SCSI отправляются в виде блоков описания команды (Command Descriptor Block, CDB), состоящих из кода операции и параметров команды. В стандарте описано более 200 команд, разделенных в четыре категории:
- Mandatory — должны поддерживаться устройством;
- Optional — могут быть реализованы;
- Vendor-specific — используются конкретным производителем;
- Obsolete — устаревшие команды.
- TEST UNIT READY — проверка готовности устройства;
- REQUEST SENSE — запрашивает код ошибки предыдущей команды;
- INQUIRY — запрос основных характеристик устройства.
Дальнейшее усовершенствование SCSI (спецификации SCSI-2 и Ultra SCSI) расширило список используемых команд и увеличило количество подключаемых устройств до 16-ти, а скорость обмена данными по шине до 640 МБ/c. Так как SCSI — параллельный интерфейс, повышение частоты обмена данными было сопряжено с уменьшением максимальной длины кабеля и приводило к неудобству в использовании.
Начиная со стандарта Ultra-3 SCSI появилась поддержка «горячего подключения» — подключение устройств при включенном питании.
Первым известным SSD диском с интерфейсом SCSI можно считать M-Systems FFD-350, выпущенный в 1995 году. Диск имел высокую стоимость и не имел широкой распространенности.
В настоящее время параллельный SCSI не является популярным интерфейсом подключения дисков, но набор команд до сих пор активно используется в интерфейсах USB и SAS.
Протокол FCoE
Протокол FCoE (Fibre Channel over Ethernet) работает по конвергентной технологии, позволяющей совместить локальную сеть и сеть хранения данных. Это сокращает расходы для центров обработки данных и упрощает управление и обслуживание сети, так как используется единая инфраструктура и один комплект оборудования.
Плюсы: эффективное использование оборудования за счет сокращения его количества, хорошая производительность (в сравнении с iSCSI-сетями).
Минусы: относительно высокая стоимость оборудования для построения сети, сложность настройки и поддержки.
По вопросам организации сетей хранения данных обращайтесь к сертифицированным специалистам ITELON. Имея большой опыт решения IT-задач в любых отраслях, мы подберем для вашего предприятия оптимальную топологию сети, оборудование и протокол передачи данных.
Обзор Задачи, которые решает SAN Протоколы для построения SAN: iSCSI, SAS, FC, FCoE Протокол SAS Протокол iSCSI Протокол FC Протокол FCoE
Однажды один из клиентов компании-интегратора, где я работал, попросил оперативно нарисовать проект небольшой системы хранения данных. Как назло, специальный человек по SAN оказался недоступен и задачу поручили мне. На тот момент мои знания по СХД сводились к непробиваемой идее "Fibre Channel – это круто, а iSCSI – не очень".
Для всех тех, кто попал в похожую ситуацию или немного интересуется темой SAN, мы подготовили цикл материалов в формате "конспект". Сегодняшняя статья посвящена технологиям хранения для небольших и средних организаций. Постараюсь не занудствовать с теорией и использовать побольше примеров.
Если инженер не особенно знаком с сетями хранения данных (СХД), то выбор подходящего устройства часто начинается с изучения рынка в преломлении собственных стереотипов. Например, я в свое время обычно останавливался на простых DAS-системах, что удивительно дополняло своей нелогичностью тезис про "крутость" Fibre Channel. Зато DAS был понятным и не требовал чтения длинных руководств администратора и погружения в темный мир сетей хранения.
Если в организации просто заканчивается место на общем сетевом диске, то хватит и недорогого сервера с относительно высокой плотностью дисков, в качестве задела на будущее. Из специализированных систем неплохо подойдет сетевое файловое хранилище (NAS), вроде Synology DS414 SLim. На нем и общие папки создавать удобно, и права гибко настраиваются, и с Active Directory интеграция есть.
Чем мне нравятся хранилища Synology, так это удобным интерфейсом с множеством плагинов на любые сценарии использования. Но поведение у них бывает весьма странным. Например, у одного заказчика был Synology DS411+II. Работал прекрасно до очередной перезагрузки, после которой не включился. Не спрашивайте, как я до этого дошел, но алгоритм запуска после сбоя был следующий:
1. Вынуть все диски, включить устройство, выключить устройство;
2. Воткнуть один диск, включить устройство, выключить устройство;
3. Воткнуть второй диск, включить устройство, выключить устройство;
4. Повторить для третьего и четвертого диска. После установки четвертого диска, устройство включается и работает.
Способ был опубликован на форуме Synology и оказалось, что я не один такой везучий. С тех пор предпочитаю небольшие серверы с GNU\Linux на борту, у них хотя бы с диагностикой проще.
Из сборок для NAS могу порекомендовать Openmediavault.
Все усложняется когда нужно нарастить дисковый объем имеющихся серверов или появляются мысли о высокой доступности. Тут-то и возникает соблазн построить полноценную NAS или впасть в другую крайность, ограничившись простой дисковой полкой DAS.
SAN, Storage Area Network – архитектурное решение для подключения по сети внешних устройств хранения данных, вроде дисковых массивов и ленточных библиотек. Причем, подключить на блочном уровне, чтобы клиент работал с ними так же, как с обыкновенными локальными дисками. В русскоязычной литературе используется аббревиатура СХД (Сеть Хранения Данных) – не путайте с Системой Хранения Данных, которой может считаться любая дисковая полка.
В этой статье я не буду касаться программных реализаций, вроде Storage Spaces в среде Windows, а ограничусь железными и архитектурными нюансами СХД.
Начнем с типовых решений для хранения данных, которые предполагают использование специальных сетей и интерфейсов, так как с ними больше всего вопросов.
Самым недорогим способом организации SAN является интерфейс Serial Attached SCSI (SAS). Тот самый, с помощью которого подключаются диски в любом современном сервере. Используют SAS и для прямого подключения внешнего дискового массива к серверу.
Для массива DAS возможна организация отказоустойчивого подключения к нескольким серверам. Делается это с помощью Multipath, технологии коммутации клиента и СХД по нескольким маршрутам. Но большей популярностью пользуется разделение дисков между серверами, которые уже самостоятельно собирают из них группы RAID и делят на тома. Подобная схема называется "Разделяемый JBOD".
Для подключение к серверу используются адаптеры (HBA) под конкретный интерфейс, которые просто позволяют ОС увидеть готовые дисковые тома.
Стоит отметить, что SAS поддерживает три стандарта:
SAS-1, со скоростью 3 Гб/с на устройство;
SAS-2, со скоростью 6 Гб/с;
При планировании архитектуры стоит также иметь в виду отличия в разъемах SAS, что часто приводит к путанице при заказе кабелей. Самыми популярными при подключении внешнего оборудования являются SFF-8088 (mini-SAS) и SFF-8644 (mini-SAS HD).
Являясь частностью SCSI, SAS поддерживает экспандеры, что позволяет подключать до 65 535 устройств к одному контроллеру и порту. Конечно, цифра скорее теоретическая и не учитывает различные накладные расходы. Чаще всего встречаются контроллеры с реальным ограничением в 128 дисков, но масштабировать подобный SAN для двух и более серверов простыми экспандерами уже не так удобно. В качестве более адекватной альтернативы можно использовать коммутаторы SAS. По сути, это те же экспандеры, но с поддержкой распределения ресурсов по серверам, т.н "зонирование". Например, для стандарта SAS-2 наибольшей популярностью пользуется LSI 6160.
С помощью коммутаторов SAS возможна реализация отказоустойчивых схем для нескольких серверов без единой точки отказа.
Из плюсов использования SAS можно отметить:
Низкую стоимость решения;
Высокую пропускную способность – даже при использовании SAS-2 получится 24 Гб/с на каждый порт контроллера;
Не обошлось и без минусов:
Отсутствуют механизмы репликации средствами дискового массива;
В качестве типового решения для малых и средних организаций разберем создание небольшого отказоустойчивого кластера виртуальных машин. Под кластер выделим два узла с единственным дисковым массивом. В качестве условного среднего объема дискового тома выберем 1 ТБ.
Замечу, что программными решениями вроде StarWind Native SAN можно получить такой же кластер без отдельного дискового массива, или же с простыми JBOD. Кроме того, большинство гипервизоров поддерживают в качестве хранилищ сетевые ресурсы NFS или SMB 3.0. Но в программных реализациях больше нюансов и «слабых звеньев» из-за большей сложности системы. Да и производительность обычно ниже.
Для сборки такой системы понадобится:
HBA для серверов;
Дисковый массив возьмем для примера HP MSA 2040 с двенадцатью отсеками под HDD. Для подключения будем использовать SAS 3.0 на скорости 12 Гб/с. Посчитаем первым попавшимся
Каждый сервер будет соединятся с каждым контроллером СХД для Multipathing.
На мой взгляд, SAS 3.0 оптимален, если не нужны распределенные SAN-сети и не требуется детальное разграничение прав доступа к СХД. Для небольшой организации так можно достичь отличного баланса цены и производительности.
После приобретения второго массива в будущем станет возможным соединение каждого сервера с контроллером каждой дисковой полки, но при росте числа клиентов это серьезно усложнит архитектуру. Для большего числа клиентов лучше приобрести один SAS коммутатор. Или два, для построения отказоустойчивого решения.
Традиционным выбором для построения SAN является Fibre Channel (FC) – интерфейс, связующий узлы сети по оптическому волокну.
FC поддерживает несколько скоростей: от 1 до 128 Гб/с (стандарт 128GFC вышел как раз в 2016). В основном используются 4GFC, 8GFC и 16GFC.
Существенные различия по сравнению с SAS-системами проявляются при проектировании крупных SAN:
Расширение производится не за счет экспандеров, а возможностями топологии сети;
В небольших организациях обычно применяют структуру с одним коммутатором (single-switch), когда один сервер через один коммутатор подключается к дисковому массиву. Такая схема составляет основу остальных топологий: каскад (cascade), решетка (mesh) и кольцо (ring).
Наиболее масштабируемая и отказоустойчивая схема называется "центрально-распределенная" (core-edge). Она напоминает известную всем сетевую топологию “звезда”, но только в середине два центральных коммутатора, распределяющих трафик по периферийным. Частным случаем этой схемы является “коммутируемая архитектура” (switched fabric), без периферийных коммутаторов.
При проектировании стоит обратить внимание на разные типы трансиверов. Это специальные модули, которые преобразуют цифровой сигнал в оптический, для чего используются светодиоды или лазерные излучатели. Трансиверы поддерживают разные длины волны и разные оптические кабели, что влияет на протяженность сегмента.
Есть два типа трансиверов:
Коротковолновые (Short Wave, SW, SX) – подходят только для многомодовых волокон;
К обоим типам кабель подключается разъемом LC, а вот SC-разъемы встречаются довольно редко.
Типичный HBA c двумя портами FC
При выборе оборудования для SAN не лишним будет проверить все компоненты по таблицам совместимости производителя железа. Активное сетевое оборудование всегда лучше выбирать одного бренда, чтобы избежать проблем совместимости даже в теории – это стандартная практика для подобных систем.
К плюсам решений на FC можно отнести:
Возможность построения территориально распределенной SAN;
Высокая скорость передачи данных;
На другой чаше весов традиционно лежит стоимость.
Системы хранения из раздела про SAS можно построить и на 16GFC, заменив лишь HBA и контроллер дисковой полки. Стоимость при этом вырастет уже до 1 845 790 ₽.
В своей практике я встречал у заказчика даже построенный на FC массив DAS, заполненным дисками менее, чем наполовину. Почему не использовали SAS? Самый оригинальный ответ был такой: «а что, можно было?».
В более сложной инфраструктуре FC становится структурно более похож на TCP\IP. У протокола также описаны уровни, как и у стека TCP\IP, существуют маршрутизаторы и коммутаторы, описано даже "тегирование" для изоляции сегментов на манер VLAN. Кроме того, на FC-коммутаторах исполняются службы разрешения имен и обнаружения устройств.
Не буду углубляться в тонкости, ведь на тему FC написано уже немало хороших статей. Обращу внимание лишь на то, что при выборе коммутаторов и маршрутизаторов для SAN нужно обращать внимание на логические типы портов. В разных моделях поддерживаются разные сочетания основных типов из таблицы:
Тип Устройства | Наименование | Описание |
Сервер | N_Port (Node port) | Используется для подключения к коммутатору или конечному устройству. |
NL_Port (Node Loop port) | Порт с поддержкой топологии «петля». | |
Коммутатор\ Маршрутизатор | F_Port (Fabric port | Для подключения N_Port, «петля» не поддерживается. |
FL_Port (Fabric Loop port), | Порт с поддержкой «петли». | |
E_Port (Expansion port | Порт для соединения коммутаторов. | |
EX_port | Порт для соединения коммутатора и маршрутизатора. | |
TE_port (Trunking Expansion port) | E-port с поддержкой VSAN. | |
Общие | L_Port (Loop port) | Любой порт с поддержкой петли (NL_port или FL_port). |
G_port (Generic port) | Любой незанятый порт устройства с авто определением. |
Статья была бы неполной без упоминания варианта построения SAN на InfiniBand. Этот протокол позволяет достичь действительно высоких скоростей передачи данных, но по стоимости выходит далеко за рамки SMB.
Можно обойтись и без изучения новых видов сетей, используя старый добрый Ethernet.
Популярный протокол для создания SAN в Ethernet-сетях называется Internet Small Computer Systems Interface (iSCSI). Строится он поверх TCP\IP, и основной его плюс в приличной работе по обычной гигабитной сети. В обиходе такие решения часто называют "бесплатный SAN". Разумеется, гигабита под серьезные задачи не хватит, и к вашим услугам сети 10 Гб/с.
К безусловным плюсам можно отнести низкую стоимость базового оборудования. Так как iSCSI реализуется программно, можно установить соответствующие приложения на обычные серверы. Большинство NAS класса SOHO поддерживают этот протокол изначально.
У заказчика однажды остро встал вопрос перемещения Exchange 2003 с умирающего сервера. Решили виртуализировать его с минимальным простоем. Для этого подняли iSCSI-target на том самом NAS Synology DS411 из первой части статьи и подключили к Exchange. Далее перенесли туда БД и мигрировали на MS Virtual Server 2005 c помощью disk2vhd. После успешной миграции перенесли базу обратно. Позже такие операции проводились при переходе с MS Virtual Server на VMware.
Разумеется, для построения SAN на iSCSI, даже если для задач хватает и гигабитной сети, не стоит "выпускать" его в общий LAN. Работать оно будет, но широковещательные запросы и прочий служебный трафик непременно скажутся на скорости и создадут помехи пользователям. Лучше построить отдельную изолированную сеть со своим оборудованием. Или, в крайнем случае, хотя бы выделить подсеть с iSCSI в отдельный VLAN. Стоит отметить, что для достижения максимальной производительности таких систем необходимо включать поддержку Jumbo Frames на всем пути следования пакетов.
В качестве меры экономии бюджета может возникнуть мысль об объединении гигабитных портов при помощи агрегации каналов (LACP). Но, как правильно заметил VitalKoshalew в комментариях, реальной балансировки между отдельным сервером и хранилищем с помощью LACP не получится. Более правильным бюджетным решением будет использование технологий Multipath на верхних уровнях модели OSI.
К слову, совсем правильное iSCSI-решение на базе 10 Гб сети, с поддерживающими аппаратное ускорение iSCSI сетевыми картами и соответствующими коммутаторами приближается по стоимости к FC.
Подобная схема сети возможна благодаря тому, что iSCSI работает поверх TCP\IP.
Из интересных решений на базе iSCSI можно отметить работу тонких клиентов без сервера терминалов – вместо локальных дисков используется том iSCSI. Гигабитной сети вполне достаточно для такой работы, а реализовать что-либо подобное другими средствами не так просто.
Возможность построения территориально распределенной сети;
Задержки при обращении к данным могут быть существенными, особенно при работе с пулом виртуальных машин;
Есть и более "взрослая" альтернатива iSCSI. Можно использовать ту же сеть Ethernet, но протокол хранения завернуть непосредственно в кадры Ethernet, минуя TCP\IP. Протокол называется Fibre Channel over Ethernet (FCoE) и для работы использует Ethernet 10 Гб. Помимо традиционной оптики, можно использовать специальные медные кабели или витую пару категории 6a.
Важное отличие от FC в том, что порт Ethernet можно использовать совместно с TCP\IP. Для этого нужны специальные сетевые адаптеры, так называемые Converged Network Adapter (CNA) с поддержкой FC и FCoE, хотя есть и программные решения. Поскольку протокол работает ниже уровня TCP\IP, то простой коммутатор не подойдет. Кроме того, обязательно должна быть поддержка Jumbo Frames и Data Center Bridging (DCB, иногда встречается Data Center Ethernet). Подобные решения обычно стоят дороже (например, Cisco серии Nexus).
В теории, FCoE можно запустить и в гигабитной сети без использования DCB, но это весьма неординарное решение, для которого я не встречал рассказов об успешных запусках.
Если вернуться к нашему маленькому, но гордому кластеру виртуализации, то для него решения на 10 Гб/с iSCSI и FCoE будут практически одинаковыми по стоимости, но в случае с iSCSI можно использовать дешевые гигабитные сети.
Также стоит упомянуть и довольно экзотичный протокол ATA over Ethernet (AoE), схожий по своей работе с FCoE. Дисковые массивы с ним – редкость, обычно используются программные решения.
Выбор конкретной реализации системы хранения требует вдумчивого изучения конкретной ситуации. Не стоит подключать дисковый массив с помощью FC просто потому, что "оптика" звучит гордо. Решение на SAS даст аналогичную или даже большую производительность там, где оно архитектурно уместно. Если не брать в расчет стоимость и сложности обслуживания, то существенным отличием между всеми описанными технологиями подключения СХД будет дистанция соединений. Эту мысль хорошо иллюстрирует один из кадров презентации SNIA:
Если после прочтения статьи хотите подробнее изучить самобытный мир SAN, могу порекомендовать следующие бестселлеры:
Мы раздумываем над публикацией других статей по серверным технологиям в формате "ликбез", поэтому было бы здорово получить от вас обратную связь в виде оценки этого материала. Если какие-то темы вам особенно интересны – обязательно расскажите о них в комментариях.
В этой статье мы проведем небольшой обзор наиболее популярных протоколов, которые используются для построения сетей хранения данных (SAN). Также рассмотрим перспективы развития и использования отдельных протоколов, опираясь на общедоступные роудмапы производителей.
Не секрет, что на сегодняшний день проблемы производительности перемещаются из сферы СХД в область SAN сетей, так как СХД уже достигли огромных показателей производительности в ГБ/с и миллионах IOps, а текущие SAN сети не позволяют прокачивать через себя такие объёмы данных.
Протоколы объектного хранения
Производительность этих протоколов сильно зависит от нижнего уровня, чаще всего это Ethernet. Основное функциональное применение протоколов объектного хранения — работа с неструктурированными данными. Ввиду этого они используются в рамках ЦОДов, а также широко применяются для доступа к данным и записи в облачные пулы хранения.
Протоколы объектного доступа требуют передачи и хранения большого объёма метаданных, что всегда добавляет накладные расходы, особенно в сравнении протоколами блочного доступа.
За последние несколько лет было разработано множество протоколов объектного доступа. Наиболее популярные из них – SOAP, S3, OpenStack Swift. В ближайшем будущем (по данным Gartner, в течение 5 лет) данные технологии будут вызывать особый интерес.
iSCSI (Internet Small Computer System Interface)
iSCSI строится на двух наиболее часто используемых протоколах:
- SCSI — протоколе обмена блоками данных между компьютером и хранилищем
- IP — сетевом транспортном протоколе, широко применяемом в корпоративных сетях Ethernet.
Считается, что iSCSI 10Гбит обеспечивает такое же количество IOps и пропускную способность, как и сопоставимый ему FC 8Гбит, но это не совсем так. Хотя пропускная способность iSCSI и выше, но его эффективность ниже, чем у FC за счёт дополнительных накладных расходов.
Производительность iSCSI зависит от существующий инфраструктуры Ethernet (на сегодняшний день минимально рекомендованная сеть для iSCSI – 10Гбит). В ближайшем будущем (по данным Gartner, 10–12 месяцев) стоит планировать переход на 25/40/50GbE, если будет необходимость использовать высокопроизводительные all-flash СХД.
Протоколы для построения SAN: iSCSI, SAS, FC, FCoE
SAN – это прежде всего отказ от традиционной концепции, когда сервер напрямую подключен к каждому устройству хранения. Сеть хранения данных позволяет соединить любой сервер с любым устройством хранения в пределах локальной или территориально распределенной сети. Распространенные варианты топологии сети:
- однокоммутаторная (single-switch fabric);
- центрально распределенная (core-edge fabric);
- каскадная (cascaded fabric);
- решетка (fabric);
- кольцо (ring fabric).
В зависимости от топологии, количества серверов и дисковых накопителей выбирается ПО, оборудование и протокол для соединения элементов в единую инфраструктуру. Современные SAN обычно базируются на протоколах iSCSI, SAS, FC или FCoE.
Задачи, которые решает SAN
- Строит гибкую, масштабируемую инфраструктуру.
- Позволяет централизованно управлять ресурсами серверов и СХД.
- Увеличивает надежность и отказоустойчивость системы.
- Доставляет пакеты данных с высокой гарантией и сокращает задержки между сессиями.
- Увеличивает скорость обмена данными между отдельными элементами системы.
- Повышает безопасность и усиливает контроль доступа.
- Оперативно восстанавливает работоспособность системы (в том числе при замене сервера).
- Упрощает администрирование инфраструктуры.
SMB (Server Message Block)
SMB — это сетевой протокол для общего доступа к файлам, который позволяет приложениям компьютера читать и записывать файлы, а также запрашивать службы серверных программ в компьютерной сети. Разработан компанией Microsoft для реализации «Сети Microsoft Windows» и «Совместного использования файлов и принтеров». С увеличением пропускной способности сетей передачи данных SMB стал одним основных протоколов файлового доступа, применяемых в СХД. В системах хранения SMB чаще всего используется в сетях 10GbE, из-за этого его производительность сильно зависит от реализации, настроек и используемых компонентов сети.
До версии SMB 3.0 протокол в основном использовался для передачи файлов в локальных сетях. С новой версией, поддерживающей технологию SMB-Direct (использование RDMA), стал активно применяться в кластерах виртуализации на базе MS Hyper-V как протокол доступа к общему пулу хранения.
Как и NFS, SMB часто используется в качестве протокола начального уровня при построении SAN-сети для виртуализации. Эта тенденция также должна сохраниться в ближайшее десятилетие.
Протокол SAS
Протокол Serial Attached SCSI (SAS) разработан для замены параллельного интерфейса SCSI и обратно совместим с SATA. Подразумевает непосредственное соединение СХД и серверов при помощи медных кабелей – активных или пассивных.
Этот протокол оптимален для предприятий малого бизнеса, филиалов и подразделений компаний, когда требуется полнофункциональное малобюджетное решение и не планируется расширение системы в ближайшем будущем. Максимальная скорость передачи данных протоколу SAS ограничена 12 Гб/с на одну линию (в перспективе это значение вырастет в два раза).
Плюсы: высокая пропускная способность, низкая задержка доступа к данным, доступная стоимость.
Минусы: подключение к одной СХД максимум до 4 серверов (из-за отсутствия на рынке SAS-коммутаторов), ограничение на длину кабеля – 15 метров.
Сравнение протоколов
Все SAN сети, будь то Ethernet, PCI Express, SAS, NVMeoF, FC, FCoE или InfiniBand, должны поддерживать одинаковый функционал, а именно:
- идентифицировать хост и СХД;
- иметь возможность маршрутизировать траффик;
- разделять сеть на подсети и изолировать в них траффик;
- обеспечивать возможность использования нескольких путей к СХД;
- управлять подключением устройств к сети;
- приоритизировать траффик.
На сегодняшний день протоколы хранения данных можно разделить на две условные группы:
- используемые для подключения серверов приложений (FC, FCoE, iSCSI, NFS, SMB);
- используемые для подключения в рамках кластера или в качестве интерконнекта внутри СХД (InfiniBand, NVMe, PCIe).
Заключение
Почти все интерфейсы прошли долгий путь развития от последовательного до параллельного способа передачи данных. Скорости твердотельных накопителей стремительно растут, еще вчера твердотельные накопители были в диковинку, а сегодня NVMe уже не вызывает особого удивления.
Fibre Channel (FC)
Fibre Channel — популярный протокол хранения, обеспечивающий низкие задержки и высокую пропускную способность за счёт своих архитектурных особенностей. Fibre Channel не требователен к ресурсам и отлично подходит для передачи большого объёма данных, так как все операции FC выполняются на стороне HBA, разгружая центральный процессор.
Новые версии протокола Fibre Channel обратно совместимы с прошлыми редакциями, что открывает хорошие перспективы для модернизации и масштабирования. Например, если внедрять FC 32Гб/с, то всё ещё можно будет использовать FC 8Гб/с и 16Гб/с, т.е. можно поэтапно менять FC-коммутаторы и FC адаптеры.
В ближайшее время FC будет обновлён до 64Гб/с и 128Гб/с (уже сейчас есть коммутаторы, поддерживающие агрегацию 4-х портов 32Гб/с в один канал 128Гб/с для соединения коммутаторов).
Простота настройки и удобство в администрировании позволили FC стать одним из наиболее распространенных протоколов хранения. Большинство администраторов SAN-сетей во всем мире знает, как он устроен и какие преимущества обеспечивает при решении различных задач. При этом FC всё ещё сложнее, чем Ethernet, хотя и обладает большим количеством средств управления и мониторинга.
Вывод
Развитие SAN-протоколов напрямую зависит от развития приложений и профилей нагрузки.
Такие приложения и типы нагрузок, как в HPC, аналитике Big Data и активных архивах, будут двигать SAN в сторону создания СХД c очень низкими задержками и высочайшей пропускной способностью, а также с поддержкой разделяемого доступа с использованием NVMe.
Протоколы, которые будут внедряться в ближайшем будущем (такие как 40/100GbE ), файловые протоколы (такие как NFS over RDMA и SMB-Direct) и текущие блочные протоколы (такие как FC 16Gb/s), уже сейчас слишком медленные для следующего поколения Flash и гибридных СХД.
Основным протоколом на ближайшее десятилетие останется FC, так как под него создана вся необходимая инфраструктура. Многие будут переходить на FC 16Гб/c, затем на FC 32Гб/с и более новые версии.
InfiniBand, PCIe и NVMe останутся протоколами для подключения конечных устройств, межузловых подключений в кластерах или интерконнекта с малыми задержками. При этом будут и небольшие узкоспециализированные решения для SAN-сетей, в которых необходимы минимальные задержки и максимальная пропускная способность. FCoE, iSCSI, NFS, SMB или объектные протоколы будут использоваться преимущественно в качестве внешних протоколов.
C каждым годом растёт интерес к объектным системам хранения. Это происходит за счёт увеличения количества неструктурируемых данных, появления новых задач по их обработке и новых требований к хранению информации.
Использованные источники:
• The Fibre Channel Roadmap, FCIA 2016.
• Dennis Martin. Demartek Storage Networking Interface Comparison, Demartek 2016.
• Valdis Filks, Stanley Zaffos. The Future of Storage Protocols, Gartner 2017.
В прошлой части цикла «Введение в SSD» мы рассказали про историю появления дисков. Вторая часть расскажет про интерфейсы взаимодействия с накопителями.
Общение между процессором и периферийными устройствами происходит в соответствии с заранее определенными соглашениями, называемыми интерфейсами. Эти соглашения регламентируют физический и программный уровень взаимодействия.
Физическая реализация интерфейса влияет на следующие параметры:
- пропускная способность канала связи;
- максимальное количество одновременно подключенных устройств;
- количество возникающих ошибок.
SAN-сети на основе сетей Ethernet
Протоколы iSCSI, NFS, SMB, FCoE используют Ethernet-сети для передачи данных, поэтому использовать данные протоколы в общих сетях не целесообразно. Это приводит нас к необходимости развёртывания выделенных сетей для использования их в качестве SAN.
Такие сети должны работать параллельно с другими основными сетями и отделять пользовательский траффик от траффика данных серверов. Однако из-за разделения сетей увеличивается сложность администрирования и общая стоимость владения.
Единственное исключение — это использование общих сетей для объектного хранения, т.к. в данном случае обеспечение минимальных задержек и максимальной производительности не так критично.
Протокол iSCSI
Это транспортный протокол iSCSI, работающий поверх TCP/IP, который позволяет использовать для подключения СХД имеющуюся инфраструктуру локальных вычислительных сетей. Для локальной сети с пропускной способностью в 1 Гб такое решение будет бюджетным, но малоэффективным. На фоне снижения стоимости 10G-коммутаторов становятся популярными сети, построенные по протоколу iSCSI поверх 10G Ethernet.
Плюсы: использование имеющейся сетевой инфраструктуры, высокая скорость построения систем, доступная стоимость, нет ограничений на расстояние между элементами сети.
Минусы: сравнительно низкая производительность, обязательная точная настройка коммутаторов в случае высокой нагрузки.
NFS (Network File System)
Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработанный Sun Microsystems в 1984 году. NFS предоставляет клиентам прозрачный доступ к файлам и файловой системе сервера.
NFS просто конфигурируется и администрируется, т.к. используется поверх сетей Ethernet. Как и в других протоколах, использующих Ethernet, скорость и задержки целиком зависят от реализации сети на нижнем уровне и чаще всего «упираются» в ограничения стандарта 10GbE.
NFS часто используется как протокол начального уровня для построения SAN-сети для виртуализации. По прогнозам Gartner, такой тренд сохранится в течение последующих 10 лет.
Удаленные накопители
При создании больших хранилищ данных появилась потребность в протоколах, позволяющих подключить накопители, расположенные вне сервера. Первым решением в этой области был Internet SCSI (iSCSI), разработанный компаниями IBM и Cisco в 1998 году.
Идея протокола iSCSI проста: команды SCSI «оборачиваются» в пакеты TCP/IP и передаются в сеть. Несмотря на удаленное подключение, для клиентов создается иллюзия, что накопитель подключен локально. Сеть хранения данных (Storage Area Network, SAN), основанная на iSCSI, может быть построена на существующей сетевой инфраструктуре. Использование iSCSI значительно снижает затраты на организацию SAN.
У iSCSI существует «премиальный» вариант — Fibre Channel Protocol (FCP). SAN с использованием FCP строится на выделенных волоконно-оптических линиях связи. Такой подход требует дополнительного оптического сетевого оборудования, но отличается стабильностью и высокой пропускной способностью.
Существует множество протоколов для отправки команд SCSI по компьютерным сетям. Тем не менее, есть только один стандарт, решающий противоположную задачу и позволяющий отправлять IP-пакеты по шине SCSI — IP-over-SCSI.
Большинство протоколов для организации SAN используют набор команд SCSI для управления накопителями, но есть и исключения, например, простой ATA over Ethernet (AoE). Протокол AoE отправляет ATA-команды в Ethernet-пакетах, но в системе накопители отображаются как SCSI.
С появлением накопителей NVM Express протоколы iSCSI и FCP перестали удовлетворять быстро растущим требованиям твердотельных накопителей. Появилось два решения:
- вынос шины PCI Express за пределы сервера;
- создание протокола NVMe over Fabrics.
Протокол NVMe over Fabrics стал хорошей альтернативой iSCSI и FCP. В NVMe-oF используются волоконно-оптическая линии связи и набор команд NVM Express.
Стандарты iSCSI и NVMe-oF решают задачу подключения удаленных дисков как локальные, а компания Intel пошла другой дорогой и максимально приблизила локальный диск к процессору. Выбор пал на DIMM-слоты, в которые подключается оперативная память. Максимальная пропускная способность канала DDR4 составляет 25 ГБ/с, что значительно превышает скорость шины PCIe. Так появился твердотельный накопитель Intel® Optane™ DC Persistent Memory.
Для подключения накопителя в DIMM слоты был изобретен протокол DDR-T, физически и электрически совместимый с DDR4, но требующий специального контроллера, который видит разницу между планкой памяти и накопителем. Скорость доступа к накопителю меньше, чем к оперативной памяти, но больше, чем к NVMe.
Протокол DDR-T доступен только с процессорами Intel® поколения Cascade Lake или новее.
InfiniBand (IB)
InfinBand — высокоскоростной протокол, обеспечивающий очень большую пропускную способность и низкие задержки. Используется, преимущественно, в отрасли высокопроизводительных вычислений (HPC) и в качестве интерконнекта при создании высокопроизводительных СХД.
Наиболее явным недостатком этой технологии является сложность в настройке и администрировании. Как следствие, работа с IB требует квалифицированного персонала.
Среди трудностей повсеместного распространения InfinBand можно отметить ограниченные средства для мониторинга производительности и диагностики проблем, а также не самую лучшую совместимость с разными операционными системами.
В сравнении с FC и Ethernet протокол InfiniBand более «дорог» для внедрения и обслуживания. К тому же, существует лишь несколько считанных компаний, которые производят оборудование и программное обеспечение для работы с IB.
Читайте также: