Сравнение носителей SATA, SAS, SSD и RAID-массивов с ними. Как правильно выбрать SAS, SATA или SSD диск, чтобы не переплатить и получить максимальную эффективность

Добрый день хабралюди!

Блог компании HGST после некоторого перерыва снова с вами. И сегодня мы хотели бы поговорить о преимуществах твердотельных накопителей SAS перед накопителями с интерфейсом SATA.

Интерфейс SAS, поддерживающий связь между устройствами, предназначен для использования на корпоративном уровне и обеспечивает масштабируемость, надежность работы и высокую доступность данных, в то время, как устройства с интерфейсом SATA оптимизированы для более дешевых пользовательских приложений.

Поскольку изготовители дисков используют интерфейс SAS для высокопроизводительных накопителей, а интерфейс SATA для клиентских дисков и запоминающих устройств большой емкости, производители твердотельных накопителей (SSD), в основном, продолжают использовать такое же разделение. В настоящее время на рынке также имеются SSD-накопители корпоративного класса с интерфейсом SATA, обеспечивающие высокую производительность. Однако, используя интерфейс SAS с более устойчивыми к ошибкам флеш-устройствами, контроллерами и программно-аппаратными средствами, мы получаем превосходное решение для рабочих нагрузок корпоративного уровня, таких, как оперативная обработка транзакций (OLTP), высокопроизводительные вычисления (HPC), ускорение работы базы данных, организация хранилищ данных/ регистрация данных, виртуализация и инфраструктура виртуальных ПК, работа с большими объемами данных и гипермасштабируемыми данными, передача сообщений и совместная работа, интерфейс с веб-серверами, передача мультимедийных потоков и предоставление видеопрограмм по требованию (VOD), облачные вычисления и хранение данных на устройстве Tier-0 для сетей SAN и NAS.

Благодаря характеристикам интерфейса SAS и ведущим в отрасли технологиям компании HGST, таким как CellCare, PowerSafe и Data Path Protection, вы получаете следующие преимущества:

Стабильная, высокопроизводительная работа SSD в течение всего срока службы
Долговечность
Масштабируемость
Надежность в эксплуатации
Высокая доступность данных
Управляемость данными на устройстве
Взаимодействие с модернизируемой архитектурой системы

Рабочие нагрузки, которые должны поддерживать твердотельные SAS-накопители корпоративного класса, включают в себя:
Оперативная обработка транзакций (OLTP)
Высокопроизводительные вычисления (HPC)
Ускорение работы базы данных
Организация хранилищ данных и хранение пользовательских данных
Виртуализация и инфраструктура виртуальных ПК
Анализ больших объемов данных и гипермасштабируемых данных
Программы для обмена сообщениями и совместной работы
Интерфейс с веб-серверами
Потоковое мультимедиа и предоставление видеопрограмм по требованию (VOD)
Облачные вычисления
Устройства хранения данных Tier-0 для систем SAN и NAS

SAS (последовательный SCSI) и SATA (последовательный ATA) - стандартные протоколы передачи данных между подключенными устройствами. Они предназначены для обеспечения взаимодействия компьютеров с периферийными устройствами, такими, как контроллеры внешней памяти и жесткие диски. Оба интерфейса (SAS и SATA) имеют долгую историю развития: они впервые появились в 1980-е годы как параллельные интерфейсы, а примерно 10 лет назад были преобразованы в последовательные протоколы в целях дальнейшего повышения производительности. При использовании с контроллером внешней памяти интерфейс SAS или SATA может использоваться как внешний интерфейс серверов, а также как внутренний интерфейс для подключения жестких дисков и SSD. Контроллер может поддерживать множество типов интерфейсов, однако диски имеют только один тип интерфейса - SAS или SATA. Интерфейс не зависит от накопителя информации (например, флеш-память, жесткий диск) или качества компонентов или программно-аппаратных средств внутри диска. С этой точки зрения интерфейсы SAS и SATA ведут себя одинаково.

Давайте рассмотрим теперь основные параметры накопителей

Производительность
Протокол SCSI. Протокол SCSI, используемый интерфейсом SAS, работает быстрее и производит множественные, одновременные операции ввода/вывода данных более эффективно по сравнению с набором команд параллельного интерфейса ATA (SATA).
Увеличение скорости передачи данных - от 6 Гб/с до 12 Гб/с, а затем до 24 Гб/с. Интерфейс SAS позволяет увеличить скорость передачи данных с 6 Гб/с до 12 Гб/с; кроме того, имеется четкий roadmap для дальнейшего увеличения скорости до 24 Гб/с. В настоящее время интерфейс SATA поддерживает скорость передачи данных до 6 Гб/с, при этом, отсутствуют конкретные планы по увеличению скорости в будущем.
Очереди помеченных команд. Большинство накопителей SAS поддерживают очередь команд глубиной 128 (предел протокола – 65 536), что позволяет уменьшить латентность и повысить производительность при высоких рабочих нагрузках. Аппаратная установка очередности команд интерфейса SATA поддерживает только 32 команды.
Сдвоенные порты и многоканальный ввод-вывод. Диски с интерфейсом SAS оснащены сдвоенными портами и поддерживают множество инициаторов в системе хранения данных; таким образом, многоканальный ввод-вывод и балансирование нагрузки позволяют увеличивать производительность. В интерфейсе SATA отсутствует поддержка нескольких инициаторов, и большинство дисков SATA не имеют сдвоенных портов.
Полнодуплексная передача данных. Диски SAS поддерживают полнодуплексный режим (одновременная передача данных в двух направлениях), в то время, как накопители SATA работают в полудуплексном режиме (передача данных в одном направлении).

Масштабируемость
К одному порту можно подключить множество дисков. Интерфейс SAS поддерживает расширитель портов до 255 устройств (двухъярусная структура), таким образом, к одному порту инициатора можно подключить до 65 635 дисков. Интерфейс SATA использует только соединение «точка-точка».
Использование удлиненных кабелей. Использование SAS-устройств обеспечит более удобный процесс расширения ЦОД (центра обработки данных), поскольку они позволяют использовать пассивные медные кабели длиной до 10 м и оптические кабели длиной до 100 м. SATA не позволяет использовать кабели длиной свыше 2 метров.
Масштабируемая производительность. Производительность твердотельных SAS-накопителей в конфигурации RAID является более масштабируемой по сравнению с дисками SATA.
Совместимость с интерфейсом SATA. Контроллеры внешней памяти с интерфейсом SAS поддерживают диски SATA, что обеспечивает ярусное хранение данных с использованием как накопителей SAS, так и SATA в одном массиве. Однако, в свою очередь, SATA не поддерживает диски SAS.

Высокая доступность данных
Сдвоенные порты для обеспечения отказоустойчивости. SAS поддерживает сдвоенные порты, в то время как большинство дисков SATA их не имеет.
Несколько инициаторов. Интерфейс SAS позволяет подключение нескольких контроллеров к набору жестких дисков в системе хранения данных, что обеспечивает их быструю замену и переход на другой ресурс при сбое. Интерфейс SATA не обладает такими возможностями.
Подключение в «горячем» режиме. Диски с интерфейсом SAS и SATA могут подключаться в режиме «горячей» замены.

Взаимодействие с модернизируемой архитектурой системы
Roadmap для расширения функциональных возможностей в будущем. В планах производителей устройств с интерфейсом SAS - увеличение скорости передачи данных до 24 Гб/с и, вероятно, даже выше, в то время как для SATA такой roadmap отсутствует и скорость передачи данных ограничивается текущим значением - 6 Гб/с. Благодаря использованию SAS предприятия могут модернизировать свой парк устройств и переходить на более быстрые диски в будущем, сохраняя при этом совместимость с предыдущими версиями, используемыми в существующей инфраструктуре.
SCSI. Поскольку большинство накопителей, установленных на предприятии, используют набор команд SCSI, интерфейс SAS сохраняет совместимость с системами хранения данных различных поколений.

SSD накопители HGST отличает высокая производительность в течение всего срока службы диска. В них используются инновационные технологии Advanced Flash Management и CellCare, обеспечивающие исключительно высокую скорость в режиме последовательного и произвольного чтения/записи. Твердотельные накопители работают гораздо быстрее по сравнению с жесткими дисками, хотя со временем ячейки флеш-памяти изнашиваются и скорость их работы снижается, особенно с нарастанием количества циклов установки программ/удаления файлов с диска. Технология Advanced Flash Management компании HGST использует традиционный алгоритм нивелирования износа, а также схемы обнаружения и коррекции ошибок, восстановления поврежденных блоков и устранения избыточности данных для увеличения срока службы, надежности и производительности SSD.

HGST CellCare - запатентованная технология производства контроллеров флеш-памяти, позволяющая обеспечить долговечность, производительность и надежность устройств корпоративного класса при помощи экономичных, логических микросхем с высокой плотностью элементов для устройств с флеш-памятью. Технология CellCare заключается в динамическом отслеживании параметров ячеек памяти по мере их износа и использовании технологий прогнозирования для сведения к минимуму износа NAND чипов флеш-памяти путем создания адаптивной обратной связи между флеш-памятью и контроллером. Не менее важным аспектом технологии Cellcare является возможность контролировать эффект старения флеш-памяти и не допускать снижения скорости работы SSD-накопителей по мере увеличения их срока службы. Эта особенность уникальной технологии Cellcare обеспечивает безотказность в работе и высокую производительность в течение всего срока службы именно SSD компании HGST.

Сейчас, когда стоимость хранения данных значительно выросла в связи с изменениями валютных курсов, при выборе компонентов IT-инфраструктуры приходится проявлять изобретательность и идти на компромиссы. На наш взгляд, неоднократно доказанная надежность и высокая производительность в течение всего рока службы, однозначно должны учитываться наряду с другими факторами. Ведь в среднесрочной и долгосрочной перспективе, такое решение окупит себя сполна.

В следующем посте мы продолжим разговор о SSD накопителях и рассмотрим другие преимущества HGST в этой области.

С появлением достаточного большого числа периферии Serial Attached SCSI (SAS) можно констатировать начало перехода корпоративного окружения на рельсы новой технологии. Но SAS не только является признанным преемником технологии UltraSCSI, но и реализует новые сферы использования, подняв возможности масштабирования систем прямо-таки до немыслимых высот. Мы решили продемонстрировать потенциал SAS, пристально взглянув на технологию, host-адаптеры, жёсткие диски и системы хранения.

SAS нельзя назвать полностью новой технологией: она берёт лучшее из двух миров. Первая часть SAS касается последовательной передачи данных, что требует меньше физических проводов и контактов. Переход от параллельной к последовательной передаче позволил избавиться и от шины. Хотя по текущим спецификациям SAS пропускная способность определена в 300 Мбайт/с на порт, что меньше, чем 320 Мбайт/с у UltraSCSI, замена общей шины на соединение "точка-точка" - весомое преимущество. Вторая часть SAS - это протокол SCSI, остающийся мощным и популярным.

SAS может использовать и большой набор разновидностей RAID . Такие гиганты, как Adaptec или LSI Logic, в своих продуктах предлагают расширенный набор функций для расширения, миграции, создания "гнёзд" и других возможностей, в том числе касающихся распределённых массивов RAID по нескольким контроллерам и приводам.

Наконец, большинство упомянутых действий сегодня производятся уже "на лету". Здесь нам следует отметить превосходные продукты AMCC/3Ware , Areca и Broadcom/Raidcore , позволившие перенести функции корпоративного класса на пространства SATA.

По сравнению с SATA, традиционная реализация SCSI теряет почву на всех фронтах, за исключением high-end корпоративных решений. SATA предлагает подходящие жёсткие диски , отличается хорошей ценой и широким набором решений . И не будем забывать о ещё одной "умной" возможности SAS: она легко уживается с существующими инфраструктурами SATA, поскольку host-адаптеры SAS легко работают и с дисками SATA. Но вот накопитель SAS к адаптеру SATA подключить уже не получится.


Источник: Adaptec.

Сначала, как нам кажется, следует обратиться к истории SAS. Стандарт SCSI (расшифровывается как "small computer system interface/интерфейс малых компьютерных систем") всегда рассматривался как профессиональная шина для подключения накопителей и некоторых других устройств к компьютерам. Жёсткие диски для серверов и рабочих станций по-прежнему используют технологию SCSI. В отличие от массового стандарта ATA, позволяющего подключить к одному порту только два накопителя, SCSI разрешает связывать до 15 устройств в одну шину и предлагает мощный командный протокол. Устройства должны иметь уникальный идентификатор SCSI ID, который может присваиваться как вручную, так и через протокол SCAM (SCSI Configuration Automatically). Поскольку ID устройств для шин двух или более адаптеров SCSI могут быть и не уникальными, были добавлены логические номера LUN (Logical Unit Numbers), позволяющие идентифицировать устройства в сложных SCSI-окружениях.

Аппаратное обеспечение SCSI более гибкое и надёжное по сравнению с ATA (этот стандарт ещё называют IDE, Integrated Drive Electronics). Устройства могут подсоединяться как внутри компьютера, так и снаружи, причём длина кабеля может составлять до 12 м, если только он правильно терминирован (для того, чтобы избежать отражений сигнала). По мере эволюции SCSI появились многочисленные стандарты, оговаривающие разную ширину шины, тактовую частоту, разъёмы и напряжение сигнала (Fast, Wide, Ultra, Ultra Wide, Ultra2, Ultra2 Wide, Ultra3, Ultra320 SCSI). К счастью, все они используют единый набор команд.

Любая связь SCSI организуется между инициатором (host-адаптером), отсылающим команды, и целевым приводом, отвечающим на них. Сразу же после получения набора команд целевой привод отсылает так называемый sense-код (состояние: занят, ошибка или свободен), по которому инициатор узнаёт, получит он нужный ответ или нет.

Протокол SCSI оговаривает почти 60 разных команд. Они разбиты по четырём категориям: не относящиеся к данным (non-data), двунаправленные (bi-directional), чтение данных (read data) и запись данных (write data).

Ограничения SCSI начинают проявлять себя, когда вы будете добавлять приводы на шину. Сегодня вряд ли можно найти жёсткий диск, способный полностью нагрузить пропускную способность 320 Мбайт/с у Ultra320 SCSI. Но пять или больше приводов на одной шине - совсем другое дело. Вариантом будет добавление второго host-адаптера для балансировки нагрузки, но это стоит средств. Проблема и с кабелями: скрученные 80-проводные кабели стоят очень дорого. Если же вы хотите получить ещё и "горячую замену" приводов, то есть лёгкое замещение вышедшего из строя накопителя, то требуются специальные оснастки (backplane).

Конечно, лучше всего размещать приводы в раздельные оснастки или модули, которые обычно поддерживают возможность "горячей замены" вместе с другими приятными функциями управления. В итоге на рынке присутствует больше число профессиональных SCSI-решений. Но все они стоят немало, именно поэтому стандарт SATA столь бурно развивался последние годы. И хотя SATA никогда не удовлетворит нужды high-end корпоративных систем, этот стандарт прекрасно дополняет SAS при создании новых масштабируемых решений для сетевых окружений следующего поколения.


SAS не использует общую шину для нескольких устройств. Источник: Adaptec.

SATA


Слева находится разъём SATA для передачи данных. Справа - разъём для подачи питания. Контактов достаточно для подачи напряжений 3,3 В, 5 В и 12 В на каждый привод SATA.

Стандарт SATA существует на рынке уже несколько лет, и сегодня он достиг уже второго поколения. SATA I отличался пропускной способностью 1,5 Гбит/с с двумя последовательными соединениями, использующими разностное кодирование с низким напряжением (low-voltage differential signaling). На физическом уровне применяется кодирование 8/10 бит (10 бит фактических для 8 бит данных), что объясняет максимальную пропускную способность интерфейса 150 Мбайт/с. После перехода SATA на скорость 300 Мбайт/с многие начали называть новый стандарт SATA II, хотя при стандартизации SATA-IO (International Organization) планировалось сначала добавить больше функций, а затем уже назвать SATA II. Отсюда последняя спецификация и названа SATA 2.5, она включает такие расширения SATA, как Native Command Queuing (NCQ) и eSATA (external SATA), множители портов (до четырёх приводов на порт) и т.д. Но дополнительные функции SATA опциональные как для контроллера, так и для самого жёсткого диска.

Будем надеяться, что в 2007 году SATA III на 600 Мбайт/с всё-таки выйдет.

Если кабели параллельного ATA (UltraATA) были ограничены 46 см, то кабели SATA могут иметь длину до 1 м, а для eSATA - в два раза больше. Вместо 40 или 80 проводов последовательная передача требует лишь единицы контактов. Поэтому кабели SATA очень узкие, их легко прокладывать внутри корпуса компьютера, и они не так сильно мешают воздушному потоку. На порт SATA полагается одно устройство, что позволяет отнести этот интерфейс к типу "точка-точка".


Разъёмы SATA для передачи данных и питания предусматривают отдельные вилки.

SAS


Сигнальный протокол здесь такой же, как и у SATA. Источник: Adaptec.

Приятная особенность Serial Attached SCSI заключается в том, что технология поддерживает и SCSI, и SATA, в результате чего к SAS-контроллерам можно подключать диски SAS или SATA (или сразу обоих стандартов). Впрочем, SAS-приводы не могут работать с контроллерами SATA по причине использования протокола Serial SCSI Protocol (SSP). Подобно SATA, SAS следует принципу подключения "точка-точка" для приводов (сегодня 300 Мбайт/с), а благодаря SAS-расширителям (или экспандерам, expander) можно подключить больше приводов, чем доступно SAS-портов. Жёсткие диски SAS поддерживают два порта, каждый со своим уникальным SAS ID, поэтому можно использовать два физических подключения, чтобы обеспечить избыточность, - подключить привод к двум разным host-узлам. Благодаря протоколу STP (SATA Tunneling Protocol), контроллеры SAS могут обмениваться данными с SATA-приводами, подключёнными к экспандеру.


Источник: Adaptec.



Источник: Adaptec.



Источник: Adaptec.

Конечно, единственное физическое подключение экспандера SAS к host-контроллеру можно считать "узким местом", поэтому в стандарте предусмотрены широкие (wide) порты SAS. Широкий порт группирует несколько подключений SAS в единую связь между двумя любыми устройствами SAS (обычно между host-контроллером и расширителем/экспандером). Число подключений в рамках связи можно увеличивать, всё зависит от налагаемых требований. Но избыточные подключения не поддерживаются, нельзя также допускать и любых петель или колец.


Источник: Adaptec.

В будущих реализациях SAS добавится пропускная способность 600 и 1200 Мбайт/с на порт. Конечно, производительность жёстких дисков в такой же пропорции не вырастет, зато можно будет удобнее использовать экспандеры на малом числе портов.



Устройства под названиями "Fan Out" и "Edge" являются экспандерами. Но только главный экспандер Fan Out может работать с доменом SAS (см. 4x связь в центре диаграммы). На каждый экспандер Edge дозволяется до 128 физических подключений, причём можно использовать широкие порты и/или подключать другие экспандеры/приводы. Топология может быть весьма сложной, но в то же время гибкой и мощной. Источник: Adaptec.



Источник: Adaptec.

Оснастки (backplane) - основной строительный блок любой системы хранения, которая должна поддерживать "горячее подключение". Поэтому экспандеры SAS часто подразумевают мощные оснастки (как в едином корпусе, так и нет). Обычно для подключения простой оснастки к host-адаптеру используется одна связь. Экспандеры со встроенными оснастками, конечно, полагаются на многоканальные подключения.

Для SAS разработано три типа кабелей и разъёмов. SFF-8484 - многожильный внутренний кабель, связывающий host-адаптер с оснасткой. В принципе, того же самого можно добиться, разветвив на одном конце этот кабель на несколько отдельных разъёмов SAS (см. иллюстрацию ниже). SFF-8482 - разъём, через который привод подключается к одиночному интерфейсу SAS. Наконец, SFF-8470 - внешний многожильный кабель, длиной до шести метров.


Источник: Adaptec.


Кабель SFF-8470 для внешних многоканальных SAS-подключений.


Многожильный кабель SFF-8484. Через один разъём проходят четыре канала/порта SAS.


Кабель SFF-8484, позволяющий подключить четыре накопителя SATA.

SAS как часть решений SAN

Зачем нам нужна вся эта информация? Большинство пользователей и близко не подойдут к топологии SAS, о которой мы рассказывали выше. Но SAS - это больше, нежели интерфейс следующего поколения для профессиональных жёстких дисков, хотя он идеально подходит для построения простых и сложных RAID-массивов на базе одного или нескольких RAID-контроллеров. SAS способен на большее. Перед нами последовательный интерфейс "точка-точка", который легко масштабируется по мере того, как вы добавляете число связей между двумя любыми устройствами SAS. Накопители SAS поставляются с двумя портами, так что вы можете подключить один порт через экспандер к host-системе, после чего создать резервный путь к другой host-системе (или другому экспандеру).

Связь между SAS-адаптерами и экспандерами (а также и между двумя экспандерами) может быть такой широкой, сколько доступно портов SAS. Экспандеры обычно представляют собой стоечные системы, способные вместить большое число накопителей, и возможное подключение SAS к вышестоящему устройству по иерархии (например, host-контроллеру) ограничено лишь возможностями экспандера.

Благодаря богатой и функциональной инфраструктуре, SAS позволяет создавать сложные топологии хранения, а не выделенные жёсткие диски или отдельные сетевые хранилища. В данном случае под "сложными" не следует понимать, что с такой топологией сложно работать. Конфигурации SAS состоят из простых дисковых оснасток или используют экспандеры. Любую связь SAS можно расширить или сузить, в зависимости от требований к пропускной способности. Вы можете использовать как мощные жёсткие диски SAS, так и ёмкие модели SATA. Вместе с мощными RAID-контроллерами, можно легко настраивать, расширять или переконфигурировать массивы данных - как с точки зрения уровня RAID, так и с аппаратной стороны.

Всё это становится тем более важным, если принять во внимание, насколько быстро растут корпоративные хранилища. Сегодня у всех на слуху SAN - сеть хранения данных (storage area network). Она подразумевает децентрализованную организацию подсистемы хранения данных с традиционными серверами, используя физически вынесенные хранилища. По существующим сетям гигабитного Ethernet или Fiber Channel запускается немного модифицированный протокол SCSI, инкапсулирующийся в пакеты Ethernet (iSCSI - Internet SCSI). Система, на которой работает от одного жёсткого диска до сложных гнездовых RAID-массивов, становится так называемой целью (target) и привязывается к инициатору (host-система, initiator), который рассматривает цель, как если бы она была просто физическим элементом.

iSCSI, конечно, позволяет создать стратегию развития хранилища, организации данных или управления доступом к ним. Мы получаем ещё один уровень гибкости, сняв напрямую подключённые к серверам хранилища, позволяя любой подсистеме хранения становиться целью iSCSI. Переход на вынесенные хранилища делает работу системы независимой от серверов хранения данных (опасная точка сбоя) и улучшает управляемость "железа". С программной точки зрения, хранилище по-прежнему остаётся "внутри" сервера. Цель и инициатор iSCSI могут находиться рядом, на разных этажах, в разных комнатах или зданиях - всё зависит от качества и скорости IP-соединения между ними. С этой точки зрения важно отметить, что SAN плохо подходит для требований оперативно доступных приложений вроде баз данных.

2,5" жёсткие диски SAS

2,5" жёсткие диски для профессиональной сферы по-прежнему воспринимаются новинкой. Мы уже довольно давно рассматривали первый подобный накопитель от Seagate - 2,5" Ultra320 Savvio , который оставил хорошее впечатление. Все 2,5" накопители SCSI используют скорость вращения шпинделя 10 000 об/мин, но они не дотягивают до того уровня производительности, который дают 3,5" винчестеры с такой жё скоростью вращения шпинделя. Дело в том, что внешние дорожки 3,5" моделей вращаются с большей линейной скоростью, что обеспечивает более высокую скорость передачи данных.

Преимущество маленьких жёстких дисков кроется и не в ёмкости: сегодня для них максимумом по-прежнему остаётся 73 Гбайт, в то время как у 3,5" винчестеров корпоративного класса мы получаем уже 300 Гбайт. Во многих сферах очень важно соотношение производительности на занимаемый физический объём или эффективность энергопотребления. Чем больше жёстких дисков вы будете использовать, тем большую производительность пожнёте - в паре с соответствующей инфраструктурой, конечно. При этом 2,5" винчестеры потребляют энергии почти в два раза меньше, чем 3,5" конкуренты. Если рассматривать соотношение производительности на ватт (число операций ввода/вывода на ватт), то 2,5" форм-фактор даёт очень неплохие результаты.

Если вам, прежде всего, необходима ёмкость, то 3,5" накопители на 10 000 об/мин вряд ли будут лучшим выбором. Дело в том, что 3,5" винчестеры SATA дают на 66% большую ёмкость (500 вместо 300 Гбайт на жёсткий диск), оставляя уровень производительности приемлемым. Многие производители винчестеров предлагают SATA-модели для работы в режиме 24/7, а цена накопителей снижена до минимума. Проблемы же надёжности можно решить, докупив запасные (spare) приводы для немедленной замены в массиве.

В линейке MAY представлено текущее поколение 2,5" накопителей Fujitsu для профессионального сектора. Скорость вращения составляет 10 025 об/мин, а ёмкости - 36,7 и 73,5 Гбайт. Все приводы поставляются с 8 Мбайт кэша и дают среднее время поиска чтения 4,0 мс и записи 4,5 мс. Как мы уже упоминали, приятная особенность 2,5" винчестеров - сниженное энергопотребление. Обычно один 2,5" винчестер позволяет сэкономить не менее 60% энергии по сравнению с 3,5" накопителем.

3,5" жёсткие диски SAS

Под MAX скрывается текущая линейка высокопроизводительных жёстких дисков Fujitsu со скоростью вращения 15 000 об/мин. Так что название вполне соответствует. В отличие от 2,5" накопителей, здесь мы получаем целых 16 Мбайт кэша и короткое среднее время поиска 3,3 мс для чтения и 3,8 мс для записи. Fujitsu предлагает модели на 36,7 Гбайт, 73,4 Гбайт и 146 Гбайт (с одной, двумя и четырьмя пластинами).

Гидродинамические подшипники добрались и до жёстких дисков корпоративного класса, поэтому новые модели работают существенно тише предыдущих на 15 000 об/мин. Конечно, подобные жёсткие диски следует правильно охлаждать, и оснастка это тоже обеспечивает.

Hitachi Global Storage Technologies тоже предлагает собственную линейку для высокопроизводительных решений. UltraStar 15K147 работает на скорости 15 000 об/мин и оснащён 16 Мбайт кэшем, как и приводы Fujitsu, но конфигурация пластин иная. Модель на 36,7 Гбайт использует две пластины, а не одну, а на 73,4 Гбайт - три пластины, а не две. Это указывает на меньшую плотность записи данных, но подобный дизайн, по сути, позволяет не использовать внутренние, самые медленные области пластин. В результате и головкам приходится двигаться меньше, что даёт лучшее среднее время доступа.

Hitachi также предлагает модели на 36,7 Гбайт, 73,4 Гбайт и 147 Гбайт с завяленным временем поиска (чтение) 3,7 мс.

Хотя Maxtor уже превратилась в часть Seagate, продуктовые линейки компании пока сохраняются. Производитель предлагает модели на 36, 73 и 147 Гбайт, все из которых отличаются скоростью вращения шпинделя 15 000 об/мин и 16 Мбайт кэшем. Компания заявляет среднее время поиска для чтения 3,4 мс и для записи 3,8 мс.

Cheetah уже давно ассоциируется с высокопроизводительными жёсткими дисками. Подобную ассоциацию с выпуском Barracuda Seagate смогла привить и в сегменте настольных ПК, предложив первый настольный накопитель на 7200 об/мин в 2000 году.

Доступны модели на 36,7 Гбайт, 73,4 Гбайт и 146,8 Гбайт. Все они отличаются скоростью вращения шпинделя 15 000 об/мин и кэшем 8 Мбайт. Заявлено среднее время поиска для чтения 3,5 мс и для записи 4,0 мс.

Host-адаптеры

В отличие от SATA-контроллеров, компоненты SAS можно найти только на материнских платах серверного класса или в виде карт расширения для PCI-X или PCI Express . Если сделать ещё шаг вперёд и рассмотреть RAID-контроллеры (Redundant Array of Inexpensive Drives), то они из-за своей сложности продаются, по большей части, в виде отдельных карт. Карты RAID содержат не только сам контроллер, но и чип ускорения расчётов информации избыточности (XOR-движок), а также и кэш-память. На карту иногда припаяно небольшое количество памяти (чаще всего 128 Мбайт), но некоторые карты позволяют расширять объём с помощью DIMM или SO-DIMM.

При выборе host-адаптера или RAID-контроллера следует чётко определиться, что вам нужно. Ассортимент новых устройств растёт просто на глазах. Простые многопортовые host-адаптеры обойдутся сравнительно дёшево, а на мощные RAID-карты придётся серьёзно потратиться. Подумайте, где вы будете размещать накопители: для внешних хранилищ требуется, по крайней мере, один внешний разъём. Для стоечных серверов обычно требуются карты с низким профилем.

Если вам нужен RAID, то определитесь, будете ли вы использовать аппаратное ускорение. Некоторые RAID-карты отнимают ресурсы центрального процессора на вычисления XOR для массивов RAID 5 или 6; другие используют собственный аппаратный движок XOR. Ускорение RAID рекомендуется для тех окружений, где сервер занимается не только хранением данных, например, для баз данных или web-серверов.

Все карты host-адаптеров, которые мы привели в нашей статье, поддерживают скорость 300 Мбайт/с на порт SAS и позволяют весьма гибко реализовать инфраструктуру хранения данных. Внешними портами сегодня уже мало кого удивишь, да и учтите поддержку жёстких дисков как SAS, так и SATA. Все три карты используют интерфейс PCI-X, но версии под PCI Express уже находятся в разработке.

В нашей статье мы удостоили вниманием карты на восемь портов, но этим число подключённых жёстких дисков не ограничивается. С помощью SAS-экспандера (внешнего) вы можете подключить любое хранилище. Пока четырёхканального подключения будет достаточно, вы можете увеличивать число жёстких дисков вплоть до 122. Из-за затрат производительности на вычисление информации чётности RAID 5 или RAID 6 типичные внешние хранилища RAID не смогут достаточно нагрузить пропускную способность четырёхканального подключения, даже если использовать большое количество приводов.

48300 - host-адаптер SAS, предназначенный для шины PCI-X. На серверном рынке сегодня продолжает доминировать PCI-X, хотя всё больше материнских плат оснащаются интерфейсами PCI Express.

Adaptec SAS 48300 использует интерфейс PCI-X на скорости 133 МГц, что даёт пропускную способность 1,06 Гбайт/с. Достаточно быстро, если шина PCI-X не загружена другими устройствами. Если включить в шину менее скоростное устройство, то все другие карты PCI-X снизят свою скорость до такой же. С этой целью на плату иногда устанавливают несколько контроллеров PCI-X.

Adaptec позиционирует SAS 4800 для серверов среднего и нижнего ценовых диапазонов, а также для рабочих станций. Рекомендованная розничная цена составляет $360, что вполне разумно. Поддерживается функция Adaptec HostRAID, позволяющая перейти на самые простые массивы RAID. В данном случае это RAID уровней 0, 1 и 10. Карта поддерживает внешнее четырёхканальное подключение SFF8470, а также внутренний разъём SFF8484 в паре с кабелем на четыре устройства SAS, то есть всего получаем восемь портов.

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

Игрок на рынке SAS LSI Logic выслал нам host-адаптер SAS3442X PCI-X, прямого конкурента Adaptec SAS 48300. Он поставляется с восемью портами SAS, которые разделены между двумя четырёхканальными интерфейсами. "Сердцем" карты является чип LSI SAS1068. Один из интерфейсов предназначен для внутренних устройств, второй - для внешних DAS (Direct Attached Storage). Плата использует шинный интерфейс PCI-X 133.

Как обычно, для приводов SATA и SAS поддерживается интерфейс 300 Мбайт/с. На плате контроллера расположено 16 светодиодов. Восемь из них - простые светодиоды активности, а ещё восемь призваны сообщать о неисправности системы.

LSI SAS3442X - низкопрофильная карта, поэтому она легко умещается в любом стоечном сервере 2U.

Отметим поддержку драйверами под Linux, Netware 5.1 и 6, Windows 2000 и Server 2003 (x64), Windows XP (x64) и Solaris до 2.10. В отличие от Adaptec, LSI решила не добавлять поддержку каких-либо RAID-режимов.

RAID-адаптеры

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

Карта тоже предназначена для шины PCI-X 133, которая даёт достаточную пропускную способность даже для самых требовательных конфигураций RAID.

Что же касается режимов RAID, то здесь SAS RAID 4800 легко обгоняет "младшего брата": по умолчанию поддерживаются уровни RAID 0, 1, 10, 5, 50, если у вас есть достаточное число накопителей. В отличие от 48300, Adaptec вложила два кабеля SAS, так что вы сразу же сможете подключить к контроллеру восемь жёстких дисков. В отличие от 48300, карта требует полноразмерный слот PCI-X.

Если вы решите модернизировать карту до Adaptec Advanced Data Protection Suite , то получите возможность перейти на режимы RAID с двойной избыточностью (6, 60), а также ряд функций корпоративного класса: striped mirror drive (RAID 1E), hot spacing (RAID 5EE) и copyback hot spare. Утилита Adaptec Storage Manager отличается интерфейсом как у браузера, с её помощью можно управлять всеми адаптерами Adaptec.

Adaptec предлагает драйверы для Windows Server 2003 (и x64), Windows 2000 Server, Windows XP (x64), Novell Netware, Red Hat Enterprise Linux 3 и 4, SuSe Linux Enterprise Server 8 и 9 и FreeBSD.

Оснастки SAS

335SAS представляет собой оснастку для четырёх приводов SAS или SATA, но подключать её следует к контроллеру SAS. Благодаря 120-мм вентилятору приводы будут хорошо охлаждаться. К оснастке придётся подключить и две вилки питания Molex.

Adaptec включила в комплект поставки кабель I2C, который можно использовать для управления оснасткой через соответствующий контроллер. Но с приводами SAS так уже не получится. Дополнительный светодиодный кабель призван сигнализировать об активности приводов, но, опять же, только для накопителей SATA. В комплект поставки входит и внутренний кабель SAS на четыре привода, поэтому для подключения приводов будет достаточно внешнего четырёхканального кабеля. Если же вы захотите использовать приводы SATA, то придётся воспользоваться переходниками с SAS на SATA.

Розничную цену в $369 нельзя назвать низкой. Но вы получите солидное и надёжное решение.

Хранилища SAS

SANbloc S50 - решение корпоративного уровня на 12 накопителей. Вы получите стоечный корпус формата 2U, который подключается к контроллерам SAS. Перед нами один из лучших примеров масштабируемых решений SAS. 12 приводов могут быть как SAS, так и SATA. Либо представлять смесь обоих типов. Встроенный экспандер может использовать один или два четырёхканальных интерфейса SAS для подключения S50 к host-адаптеру или RAID-контроллеру. Поскольку перед нами явно профессиональное решение, оно оснащено двумя блоками питания (с избыточностью).

Если вы уже купили host-адаптер Adaptec SAS, его можно будет легко подключить к S50 и с помощью Adaptec Storage Manager управлять приводами. Если установить жёсткие диски SATA по 500 Гбайт, то мы получим хранилище на 6 Тбайт. Если же взять 300-Гбайт накопители SAS, то ёмкость составит 3,6 Тбайт. Поскольку экспандер связан с host-контроллером двумя четырёхканальными интерфейсами, мы получим пропускную способность 2,4 Гбайт/с, которой будет более чем достаточно для массива любого типа. Если же установить 12 накопителей в массив RAID0, то максимальная пропускная способность составит всего лишь 1,1 Гбайт/с. В середине этого года Adaptec обещает выпустить немного модифицированную версию с двумя независимыми блоками ввода/вывода SAS.

SANbloc S50 содержит функцию автоматического мониторинга и автоматического управления скоростью вращения вентилятора. Да, устройство работает слишком громко, так что мы с облегчением отдали его из лаборатории после завершения тестов. Сообщение о сбое привода отправляется контроллеру через SES-2 (SCSI Enclosure Services) или через физический интерфейс I2C.

Рабочие температуры для приводов составляют 5-55°C, а для оснастки - от 0 до 40°C.

В начале наших тестов мы получили пиковую пропускную способность всего 610 Мбайт/с. Поменяв кабель между S50 и host-контроллером Adaptec, мы всё-таки смогли достичь 760 Мбайт/с. Для нагрузки системы в режиме RAID 0 мы использовали семь жёстких дисков. Увеличение числа жёстких дисков не приводило к повышению пропускной способности.

Тестовая конфигурация

Системное аппаратное обеспечение
Процессоры 2x Intel Xeon (ядро Nocona)
3,6 ГГц, FSB800, 1 Мбайт кэша L2
Платформа Asus NCL-DS (Socket 604)
Чипсет Intel E7520, BIOS 1005
Память Corsair CM72DD512AR-400 (DDR2-400 ECC, reg.)
2x 512 Мбайт, CL3-3-3-10
Системный жёсткий диск Western Digital Caviar WD1200JB
120 Гбайт, 7200 об/мин, кэш 8 Мбайт, UltraATA/100
Контроллеры накопителей Контроллер Intel 82801EB UltraATA/100 (ICH5)

Promise SATA 300TX4
Драйвер 1.0.0.33

Adaptec AIC-7902B Ultra320
Драйвер 3.0

Adaptec 48300 8 port PCI-X SAS
Драйвер 1.1.5472

Adaptec 4800 8 port PCI-X SAS
Драйвер 5.1.0.8360
Прошивка 5.1.0.8375

LSI Logic SAS3442X 8 port PCI-X SAS
Драйвер 1.21.05
BIOS 6.01

Хранилища
Оснастка на 4 отсека для внутренней установки с горячей заменой

2U, 12-HDD SAS/SATA JBOD

Сеть Broadcom BCM5721 Gigabit Ethernet
Видеокарта Встроенная
ATi RageXL, 8 Мбайт
Тесты
Измерение производительности c"t h2benchw 3.6
Измерение производительности ввода/вывода IOMeter 2003.05.10
Fileserver-Benchmark
Webserver-Benchmark
Database-Benchmark
Workstation-Benchmark
Системное ПО и драйверы
ОС Microsoft Windows Server 2003 Enterprise Edition, Service Pack 1
Драйвер платформы Intel Chipset Installation Utility 7.0.0.1025
Графический драйвер Сценарий рабочей станции.

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

Да и совместимость просто великолепная. Если вы планируете закупить профессиональное оборудование SATA для вашего сервера, то стоит присмотреться к SAS. Любой SAS-контроллер или оснастка совместимы с жёсткими дисками и SAS, и SATA. Поэтому вы сможете создать как высокопроизводительное окружение SAS, так и ёмкое SATA - или оба сразу.

Удобная поддержка внешних хранилищ - ещё одно важное преимущество SAS. Если хранилища SATA используют либо какие-то собственные решения, либо одиночный канал SATA/eSATA, интерфейс хранилищ SAS позволяет наращивать пропускную способность соединения группами по четыре канала SAS. В итоге мы получаем возможность наращивать пропускную способность под нужды приложений, а не упираться в 320 Мбайт/с UltraSCSI или 300 Мбайт/с SATA. Более того, экспандеры SAS позволяют создать целую иерархию устройств SAS, так что свобода деятельности у администраторов большая.

На этом эволюция устройств SAS не закончится. Как нам кажется, интерфейс UltraSCSI можно считать устаревшим и потихоньку списывать со счетов. Вряд ли индустрия будет его совершенствовать, разве что продолжит поддерживать существующие реализации UltraSCSI. Все же новые жёсткие диски, последние модели хранилищ и оснасток, а также увеличение скорости интерфейса до 600 Мбайт/с, а потом и до 1200 Мбайт/с - всё это предназначено для SAS.

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

Интерфейс SAS.

Интерфейс SAS или Serial Attached SCSI обеспечивает подключение по физическому интерфейсу, аналогичному SATA , устройств, управляемых набором команд SCSI . Обладая обратной совместимостью с SATA , он даёт возможность подключать по этому интерфейсу любые устройства, управляемые набором команд SCSI - не только жёсткие диски, но и сканеры, принтеры и др. По сравнению с SATA, SAS обеспечивает более развитую топологию, позволяя осуществлять параллельное подключение одного устройства по двум или более каналам. Также поддерживаются расширители шины, позволяющие подключить несколько SAS устройств к одному порту.

Протокол SAS разработан и поддерживается комитетом T10. SAS был разработан для обмена данными с такими устройствами, как жёсткие диски, накопители на оптических дисках и им подобные. SAS использует последовательный интерфейс для работы с непосредственно подключаемыми накопителями, совместим с интерфейсом SATA. Хотя SAS использует последовательный интерфейс в отличие от параллельного интерфейса, используемого традиционным SCSI, для управления SAS-устройствами по-прежнему используются команды SCSI. Команды (рис. 1), посылаемые в устройство SCSI представляют собой последовательность байт определенной структуры (блоки дескрипторов команд).

Рис. 1.

Некоторые команды сопровождаются дополнительно "блоком параметров", который следует за блоком дескриптора команды, но передается уже как "данные".

Типичная система с интерфейсом SAS состоит из следующих компонентов:

1) Инициаторы. Инициатор - это устройство, которое порождает запросы на обслуживание для целевых устройств и получает подтверждения по мере исполнения запросов.

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

3) Подсистема доставки данных . Является частью системы ввода-вывода, которая осуществляет передачу данных между инициаторами и целевыми устройствами. Обычно подсистема доставки данных состоит из кабелей, которые соединяют инициатор и целевое устройство. Дополнительно, кроме кабелей в состав подсистемы доставки данных могут входить расширители SAS.

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

SAS поддерживает подключение устройств с интерфейсом SATA. SAS использует последовательный протокол передачи данных между несколькими устройствами, и, таким образом, использует меньшее количество сигнальных линий. SAS использует команды SCSI для управления и обмена данными с целевыми устройствами. Интерфейс SAS использует соединения точка-точка - каждое устройство соединено с контроллером выделенным каналом. В отличии от SCSI, SAS не нуждается в терминации шины пользователем. Интерфейс SCSI использует общую шину - все устройства подключены к одной шине, и с контроллером одновременно может работать только одно устройство. В SCSI скорость передачи информации по разным линиям, составляющим параллельный интерфейс, может отличаться. Интерфейс SAS лишён этого недостатка. SAS поддерживает очень большое количество устройств, в то время как интерфейс SCSI поддерживает 8, 16, или 32 устройства на шине. SAS поддерживает высокие скорости передачи данных (1,5, 3,0 или 6,0 Гбит/с). Такая скорость может быть достигнута при передаче информации на каждом соединении, в то время как на шине SCSI пропускная способность шины разделена между всеми подключёнными к ней устройствами.

SATA использует набор команд ATA и поддерживает жёсткие диски и накопители на оптических дисках, в то время как SAS поддерживает более широкий набор устройств, в том числе жёсткие диски, сканеры и принтеры. SATA-устройства идентифицируются номером порта контроллера интерфейса SATA, в то время как устройства SAS идентифицируются их WWN идентификаторами (World Wide Name). Устройства SATA (версии 1) не поддерживали очередей команд, в то время как устройства SAS поддерживают теггированные очереди команд. Устройства SATA с версии 2 поддерживают Native Command Queuing (NCQ).

Аппаратура SAS поддерживает связь с целевыми устройствами по нескольким независимым линиям , что повышает отказоустойчивость системы (интерфейс SATA такой возможности не имеет). В то же время, интерфейс SATA версии 2 использует дубликаторы портов для достижения аналогичной возможности.

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

Разъёмы SAS гораздо меньше разъёмов традиционного параллельного интерфейса SCSI, что позволяет использовать разъёмы SAS для подключения компактных накопителей типоразмером 2,5 дюйма. SAS поддерживает передачу информации со скоростью от 3 Гбит/с до 10 Гбит/с. Существует несколько вариантов разъёмов SAS:

SFF 8482 - вариант, совместимый с разъёмом интерфейса SATA;

SFF 8484 - внутренний разъём с плотной упаковкой контактов; позволяет подключить до 4 устройств;

SFF 8470 - разъём с плотной упаковкой контактов для подключения внешних устройств; позволяет подключить до 4 устройств;

SFF 8087 - уменьшенный разъём Molex iPASS, содержит разъём для подключения до 4 внутренних устройств; поддерживает скорость 10 Гбит/с;

SFF 8088 - уменьшенный разъём Molex iPASS, содержит разъём для подключения до 4 внешних устройств; поддерживает скорость 10 Гбит/с.

Разъём SFF 8482 позволяет подключать устройства SATA к контроллерам SAS, что избавляет от необходимости устанавливать дополнительный контроллер SATA только потому, что необходимо, к примеру, подключить устройство для записи дисков DVD. Наоборот, устройства SAS не могут подключаться к интерфейсу SATA, и на них устанавливается разъём, предотвращающий их подключение к интерфейсу SATA.

Почему SAS?

Интерфейс Serial Attached SCSI - это не просто последовательная реализация протокола SCSI. В нём реализовано намного больше, чем простой перенос функций SCSI, таких как TCQ (Tagged Command Queuing, тэгированная очередь команд), через новый разъём. Если бы нам была нужна наибольшая простота, то тогда мы бы использовали интерфейс Serial ATA (SATA), являющийся простым соединением "точка-точка" между хостом и конечным устройством, таким как жёсткий диск.

Но SAS базируется на объектной модели, определяющей "домен SAS” - систему доставки данных, которая может включать в себя опциональные экспандеры (expander) и конечные устройства SAS, такие как жёсткие диски и host-адаптеры (host bus adapters, HBA). В отличие от SATA, устройства SAS могут иметь несколько портов, каждый из которых может использовать несколько физических соединений, чтобы обеспечивать более скоростные (широкие) подключения SAS. Кроме того, к любой определённой цели могут обращаться несколько инициаторов, а длина кабеля может составлять до восьми метров (для первого поколения SAS) против одного метра у SATA. Вполне понятно, что это обеспечивает немало возможностей для создания высокопроизводительных или избыточных решений хранения данных. Кроме того, SAS поддерживает протокол SATA Tunneling Protocol (STP), позволяющий подключать к SAS-контроллеру устройства SATA.

Стандарт SAS второго поколения увеличивает скорость соединения с 3 до 6 Гбит/с. Данный прирост скорости очень важен для сложных окружений, где требуется высокая производительность из-за высокоскоростных хранилищ. Новая версия SAS также призвана снизить сложность прокладки кабелей, а также число соединений на Гбит/с пропускной способности, увеличивая возможную длину кабелей и улучшая работу экспандеров (разбиение на зоны и автоматическое обнаружение). Чуть ниже мы поговорим об этих изменениях в деталях.

Увеличение скорости SAS до 6 Гбит/с

Чтобы донести преимущества SAS до более широкой аудитории, SCSI Trade Association (SCSI TA) представила учебник по технологии SAS на конференции Storage Networking World Conference, которая прошла чуть раньше в этом году в Орландо (США, Флорида). Так называемый SAS Plugfest, где демонстрировалась работа SAS на 6 Гбит/с, совместимость и функции, прошёл ещё раньше в ноябре 2008 года. LSI и Seagate стали первыми на рынке, кто представил "железо", совместимое с SAS на 6 Гбит/с, но остальные производители тоже должны вскоре подтянуться. В нашей статье мы рассмотрим текущее состояние технологий SAS и некоторые новые устройства.

Функции и основы SAS

Фундаментальные основы SAS

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

Каждый адрес SAS может содержать несколько интерфейсов физического уровня (PHY), что позволяет создавать более широкие подключения через InfiniBand (SFF-8470) или кабели mini-SAS (SFF-8087 и -8088). Обычно четыре интерфейса SAS с одним PHY на каждом объединяются в один широкий интерфейс SAS, который уже подключается к SAS-устройству. Связь может осуществляться и через экспандеры, которые работают больше как коммутаторы, нежели как устройства SAS.

Такие функции, как разбиение по зонам (zoning) теперь позволяют администраторам привязывать конкретные устройства SAS к инициаторами. Именно здесь будет полезна увеличенная пропускная способность SAS 6 Гбит/с, поскольку у четырёхканального соединения теперь будет в два раза большая скорость. Наконец, устройства SAS могут даже иметь несколько адресов SAS. Поскольку накопители SAS могут использовать два порта, с одним PHY на каждом, то накопитель может иметь два адреса SAS.

Соединения и интерфейсы


Нажмите на картинку для увеличения.

Адресация соединений SAS происходит через порты SAS, используя SSP (Serial SCSI Protocol), но связь на нижнем уровне от PHY до PHY осуществляется, используя одно или несколько физических соединений по причинам увеличения пропускной способности. SAS использует кодирование 8/10 бит, чтобы преобразовывать 8 бит данных в 10-символьные передачи в целях восстановления синхронизации, баланса DC и определения ошибок. В итоге мы получаем эффективную пропускную способность 300 Мбайт/с для режима передачи 3 Гбит/с и 600 Мбайт/с для подключений 6 Гбит/с. Технологии Fibre Channel, Gigabit Ethernet, FireWire и другие работают по схожей схеме кодирования.

Интерфейсы питания и данных SAS и SATA очень похожи друг на друга. Но если у SAS интерфейсы данных и питания объединены в один физический интерфейс (SFF-8482 на стороне устройства), то SATA требует двух раздельных кабелей. Зазор между контактами питания и данных (см. иллюстрацию выше) в случае SAS закрыт, что не позволяет подключать устройство SAS к контроллеру SATA.

С другой стороны, устройства SATA могут прекрасно работать на инфраструктуре SAS благодаря STP или в "родном" режиме, если не используются экспандеры. STP добавляет дополнительную задержку при прохождении через экспандеры, поскольку им нужно устанавливать соединение, что происходит медленнее, нежели прямая связь SATA. Впрочем, задержки всё равно очень малы.

Домены, экспандеры

Домены SAS можно представить в виде древовидных структур наподобие сложных сетей Ethernet. Экспандеры SAS могут работать с большим количеством SAS-устройств, но они используют принцип коммутации каналов, а не более распространённую коммутацию пакетов. Некоторые экспандеры содержат в себе устройства SAS, другие - нет.

SAS 1.1 распознаёт граничные экспандеры (edge expander), которые позволяют инициатору SAS связываться с до 128 дополнительными адресами SAS. В домене SAS 1.1 можно использовать только два граничных экспандера. Впрочем, один экспандер расширения (fanout expander) может подключать до 128 граничных экспандеров, что существенно увеличивает возможности инфраструктуры вашего решения SAS.

Нажмите на картинку для увеличения.

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

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

Новые функции SAS 2.0: экспандеры, производительность


SAS 1.0/1.1
Функция Сохраняет наследственную поддержку SCSI
Совместим с SATA
Совместим с 3 Гбит/с
Улучшенная скорость и прохождение сигналов
Управление зонами
Улучшенная масштабируемость
Функции хранилищ RAID 6
Малый форм-фактор
HPC
Накопители SAS большой ёмкости
Замена Ultra320 SCSI
Выбор: SATA или SAS
Blade-серверы
RAS (защита данных)
Безопасность (FDE)
Поддержка кластеров
Поддержка более крупных топологий
SSD
Виртуализация
Внешние хранилища
Размер сектора 4K
Скорость передачи данных и пропускная способность кабеля 4 x 3 Гбит/с (1,2 Гбайт/с) 4 x 6 Гбит/с (2,4 Гбайт/с)
Тип кабеля Медь Медь
Длина кабеля 8 м 10 м

Зоны экспандера и автоматическая конфигурация

Граничные (edge) и расширяющие (fanout) экспандеры практически остались в истории. Это часто связывают с обновлениями в SAS 2.0, но причина на самом деле кроется в зонах SAS, появившихся в 2.0, которые позволяют убрать разделение между граничными и расширяющими экспандерами. Конечно, зоны обычно реализуются специфически для каждого производителя, а не как единый индустриальный стандарт.

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

В прошлый раз мы с вами рассмотрели все, что касается технологии SCSI в историческом контексте : кем она была изобретена, как развивалась, какие у нее есть разновидности и так далее. Закончили мы на том, что наиболее современным и актуальным стандартом является Serial Attached SCSI, он появился относительно недавно, но получил быстрое развитие. Первую реализацию «в кремнии» показала компания LSI в январе 2004 года, а в ноябре того же года SAS вошел в топ самых популярных запросов сайта storagesearch.com .

Начнем с основ. Как же работают устройства на технологи SCSI? В стандарте SCSI все построено на концепции клиент/сервер.

Клиент, называемый инициатором (англ. initiator), отправляет разные команды и дожидается их результатов. Чаще всего, разумеется, в роли клиента выступает SAS контроллер. Сегодня SAS контроллеры - это HBA и RAID-контроллеры, а также контроллеры СХД, стоящие внутри внешних систем хранения данных.

Сервер называется целевым устройством (англ. target), его задача - принять запрос инициатора, обработать его и вернуть данные или подтверждение выполнения команды обратно. В роли целевого устройства может выступать и отдельный диск, и целый дисковый массив. В этом случае SAS HBA внутри дискового массива (так называемая внешняя система хранения данных), предназначенный для подключения к нему серверов, работает в режиме Target. Каждому целевому устройству (“таргету”) присваивается отдельный идентификатор SCSI Target ID.

Для связи клиентов с сервером используется подсистема доставки данных (англ. Service Delivery Subsystem), в большинстве случаев, это хитрое название скрывает за собой просто кабели. Кабели бывают как для внешних подключений, так и для подключений внутри серверов. Кабели меняются от поколения к поколению SAS. На сегодня имеется три поколения SAS:

SAS-1 или 3Gbit SAS
- SAS-2 или 6Gbit SAS
- SAS-3 или 12 Gbit SAS – готовится к выходу в середине 2013 года




Внутренние и внешние кабели SAS

Иногда в состав этой подсистемы могут входить расширители или экспандеры SAS. Под экспандерами (англ. Expanders, расширители, но в русском языке прижилось слово «экспандер») понимают устройства, помогающие доставке информации от инициаторов к целям и обратно, но прозрачные для целевых устройств. Одним из самых типичных примеров является экспандер, позволяющий подключить несколько целевых устройств к одному порту инициатора, например, микросхема экспандера в дисковой полке или на бэкплейне сервера. Благодаря такой организации, серверы могут иметь более 8 дисков (контроллеры, которые сегодня используются ведущими производителями серверов, обычно 8-портовые), а дисковые полки – любое необходимое количество.

Инициатор, соединенный с целевым устройством системой доставки данных, называют доменом. Любое SCSI устройство содержит как минимум один порт, который может быть портом инициатора, целевого устройства или совмещать обе функции. Портам могут присваиваться идентификаторы (PID).

Целевые устройства состоят из как минимум одного логического номера устройства (Logical Unit Number или LUN). Именно LUN и идентифицирует с каким из дисков или разделов данного целевого устройства будет работать инициатор. Иногда говорят, что target предоставляет инициатору LUN. Таким образом, для полной адресации к нужному хранилищу используется пара SCSI Target ID + LUN.

Как в известном анекдоте («Я не даю в долг, а Первый Национальный Банк не торгует семечками») - целевое устройство обычно не выступает в роли «посылающего команды», а инициатор - не предоставляет LUN. Хотя стоит отметить, что стандарт допускает тот факт, что одно устройство может быть одновременно и инициатором и целью, но на практике это используют мало.

Для «общения» устройств в SAS существует протокол, по «доброй традиции» и по рекомендации OSI, разделенный на несколько слоев (сверху вниз): Application, Transport, Link, PHY, Architecture и Physical.

SAS включает в себя три транспортных протокола. Serial SCSI Protocol (SSP) - используется для работы со SCSI устройствами. Serial ATA Tunneling Protocol (STP) - для взаимодействия с дисками SATA. Serial Management Protocol (SMP) - для управления SAS-фабрикой. Благодаря STP мы можем подключать диски SATA к контроллерам SAS. Благодаря SMP мы можем строить большие (до 1000 дисковых/SSD-устройств в одном домене) системы, а также использовать зонирование SAS (подробнее об этом в статье про SAS-коммутатор).

Уровень связей служит для управления соединениями и передачи фреймов. Уровень PHY - используется для таких вещей как установка скорости соединения и кодировки. На архитектурном уровне находятся вопросы расширителей и топологии. Физический уровень определяет напряжение, форму сигналов соединения и т.д.

Все взаимодействие в SCSI строится на основании команд, которые инициатор посылает целевому устройству и ожидает их результата. Команды эти посылаются в виде блоков описания команды (Command Description Block или CDB). Блок состоит из одного байта кода команды и ее параметров. Первым параметром почти всегда выступает LUN. CDB может иметь длину от 6 до 32 байт, хотя последние версии SCSI допускают CDB переменной длины.

После получения команды целевое устройство возвращает код подтверждения. 00h означает что команда принята успешно, 02h обозначает ошибку, 08h - занятое устройство.

Команды делятся на 4 большие категории. N, от английского «non-data», предназначены для операций, не относящихся к непосредственно обмену данными. W, от «write» - запись данных, полученных целевым устройством от инициатора. R, как не сложно догадаться от слова «read» используется для чтения. Наконец В - для двустороннего обмена данными.

Команд SCSI существует достаточно много, поэтому перечислим только наиболее часто используемые.

Test unit ready (00h) - проверить, готово ли устройство, есть ли в нем диск (если это ленточный накопитель), раскрутился ли диск и так далее. Стоит отметить, что в данном случае устройство не производит полной самодиагностики, для этого существуют другие команды.
Inquiry (12h) - получить основные характеристики устройства и его параметры
Send diagnostic (1Dh) - произвести самодиагностику устройства - результаты этой команды возвращаются после диагностики командой Receive Diagnostic Results (1Ch)
Request sense (03h) - команда позволяет получить статус выполнения предыдущей команды - результатом этой команды может стать как сообщение типа «нет ошибки», так и разные сбои, начиная с отсутствия диска в накопителе и заканчивая серьезными проблемами.
Read capacity (25h) - позволяет узнать объем целевого устройства
Format Unit (04h) - служит для деструктивного форматирования целевого устройства и подготовки его к хранению данных.
Read (4 варианта) - чтение данных; существует в виде 4 разных команд, отличающихся длиной CDB
Write (4 варианта) - запись. Так же как и для чтения в 4 вариантах
Write and verify (3 варианта) - запись данных и проверка
Mode select (2 варианта) - установка различных параметров устройства
Mode sense (2 варианта) - возвращает текущие параметры устройства

А теперь рассмотрим несколько типичных примеров организации хранения данных на SAS.

Пример первый, сервер хранения данных.

Что это такое и с чем его едят? Большие компании типа Amazon, Youtube, Facebook, Mail.ru и Yandex используют сервера этого типа для того, чтобы хранить контент. Под контентом понимается видео, аудио информация, картинки, результаты индексирования и обработки информации (например, так популярный в последнее время в США, Hadoop), почта, и.т.д. Для понимания задачи и грамотного выбора оборудования под нее нужно дополнительно знать несколько вводных, без которых никак нельзя. Первое и самое главное – чем больше дисков – тем лучше.

Дата-центр одной из российских Web 2.0-компаний

Процессоры и память в таких серверах задействуются не сильно. Второе – в мире Web 2.0, информация хранится географически распределено, несколько копий на различных серверах. Хранится 2-3 копии информации. Иногда, если она запрашивается часто, хранят больше копий для балансировки нагрузки. Ну и третье, исходя из первого и второго, чем дешевле – тем лучше. В большинстве случаев все вышесказанное приводит к тому, что используются Nearline SAS или SATA диски высокой емкости. Как правило, Enterprise-уровня. Это значит, что такие диски предназначены для работы 24x7 и стоят значительно дороже своих собратьев, использующихся в настольных PC. Корпус обычно выбирают такой, куда можно вставить побольше дисков. Если это 3.5’’, то 12 дисков в 2U.

Типичный 2U-сервер хранения данных

Или 24 x 2.5’’ в 2U. Или другие варианты в 3U, 4U и.т.д. Теперь, имея корпус, количество дисков и их тип, мы должны выбрать тип подключения. Вообще-то выбор не очень большой. А сводится он к использованию экспандерного или безэкспандерного бэкплейна. Если мы используем экспандерный бекплейн, то контроллер SAS может быть 8-портовым. Если безэкспандерный – то количество портов контроллера SAS должно равняться или превышать количество дисков. Ну и последнее, выбор контроллера. Мы знаем количество портов, 8, 16, 24, например и выбираем контроллер исходя из этих условий. Контроллеры бывают 2х типов, RAID- и HBA. Отличаются они тем, что RAID-контроллеры поддерживают уровни RAID 5,6,50,60 и имеют достаточно большой объем памяти (512MB-2ГБ сегодня) для кэширования. У HBA памяти или cовсем нет, или ее очень мало. Кроме этого, HBA либо не умеют делать RAID вообще, либо умеют олько простые, не требующие большого объема вычислений уровни. RAID 0/1/1E/10 – типичный набор для HBA. Здесь нам нужен HBA, они стоят значительно дешевле, так защита данных нам не нужна совсем и мы стремимся к минимизации стоимости сервера.

16-портовый SAS HBA

Пример второй, почтовый сервер Exchange. А также MDaemon, Notes и другие подобные сервера.

Здесь все не так очевидно, как в первом примере. В зависимости от того, сколько пользователей должен обслуживать сервер, рекомендации будут различными. В любом случае, мы знаем что базу данных Exchange (так называемую БД Jet) лучше всего хранить на RAID 5/6 и она неплохо кэшируется с использованием SSD. В зависимости от количества пользователей определяем необходимые объемы хранения «сегодня» и «на вырост». Помним, что сервер живет 3-5 лет. Поэтому «на вырост» можно ограничить 5-летней перспективой. Потом будет дешевле полностью поменять сервер. В зависимости от объема дисков выберем корпус. С бэкплейном проще, рекомендуется использовать экспандеры, так как требования по цене не такие жесткие, как в предыдущем случае, и в общем случае, удорожание сервера на $50-$100, а иногда и больше, мы вполне переживем в угоду надежности и функциональности. Диски выберем SAS или NL-SAS/Enterprise SATA в зависимости от объемов. Далее, защита данных и кэширование. Выберем современный 4/8-портовый контроллер, поддерживающий RAID 5/6/50/60 и кэширование на SSD. Для LSI, это любой MegaRAID кроме 9240 с функцией кэширования CacheCade 2.0, или Nytro MegaRAID с SSD «на борту». Для Adaptec, это контроллеры, поддерживающие MAX IQ. Для кэширования в обоих случаях (кроме Nytro MegaRAID) нужно будет взять пару SSD на e-MLC-технологии Enterprise-класса. Такие есть у Intel, Seagate, Toshiba, и.т.д. Цены и компании – на выбор. Если вы не порч доплатить за бренд, то в линейках серверов IBM, Dell, HP, найдите подобные продукты и вперед!

SSD- кэширующий RAID-контроллер Nytro MegaRAID

Пример третий, внешняя система хранения данных своими руками.

Итак, самое серьезное знание SAS, конечно же, требуется тем, кто производит системы хранения данных или хочет их сделать своими руками. Мы остановимся на достаточно простой СХД, программное обеспечение для которой производится компанией Open-E. Конечно же, можно делать СХД и на Windows Storage Server, и на Nexenta, и на AVRORAID, и на Open NAS, и на любом другом подходящем для этих целей софте. Я просто обозначил основные направления, а дальше вам помогут сайты производителей. Итак, если это внешняя система, то мы почти никогда не знаем, сколько же дисков потребуется конечному пользователю. Мы должны быть гибкими. Для этого есть так называемые JBOD – внешние полки для дисков. В их состав входит один или два экспандера, каждый из которых имеет вход (4-х портовый разъем SAS), выход на следующий экспандер, остальные порты разведены на разъемы, предназначенные для подключения дисков. Причем, в двухэкспандерных системах первый порт диска разведен на первый экспандер, второй порт – на второй экспандер. Это позволяет строить отказоустойчивые цепочки JBOD-ов. Головной сервер может иметь внутренние диски в своем составе, либо не иметь их совсем. В этом случае используются «внешние» контроллеры SAS. То есть контроллеры с портами «наружу». Выбор между SAS RAID-контроллером или SAS HBA зависит от управляющего ПО, которое вы выбираете. В случае Open-E, это RAID-контроллер. Можно позаботиться и об опции кэширования на SSD. Если ваша СХД будет иметь очень много дисков, то решение Daisy Chain (когда каждый последующий JBOD подключается к предыдущему, либо к головному серверу) в силу многих причин не подходит. В этом случае головной сервер либо оснащается несколькими контроллерами, либо используется устройство, которое называется SAS-коммутатор. Он позволяет подключать один или несколько серверов к одному или нескольким JBOD. Подробнее SAS-коммутаторы мы разберем в следующих статьях. Для внешних систем хранения данных настоятельно рекомендуется использовать диски только SAS (в том числе NearLine) в силу повышенных требований к отказоустойчивости. Дело в том, что протокол SAS имеет в своем составе гораздо больше функций, чем SATA. Например, контроль записываемых-считываемых данных на всем пути с помощью проверочных сумм (T.10 End-to-End protection). А путь, как мы уже знаем, бывает очень длинным.

Многодисковый JBOD

На этом наш экскурс в мир истории и теории SCSI вообще и SAS в частности подошел к концу, и в следующий раз я расскажу вам более подробно о применении SAS в реальной жизни.