Интерфейс подключения sas. Инструкции по установке твердотельного накопителя SAS

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

SAS (Serial Attached SCSI) – последовательный интерфейс подключения устройств хранения данных, разработанный на основе параллельного SCSI для исполнения того же набора команд. Используется преимущественно в серверных системах.

SATA (Serial ATA) – последовательный интерфейс обмена данными, базирующийся на основе параллельного PATA (IDE). Применяется в домашних, офисных, мультимедийных ПК и ноутбуках.

Если говорить о HDD, то, несмотря на различающиеся технические характеристики и разъемы, кардинальных расхождений между устройствами нет. Обратная односторонняя совместимость дает возможность подключать к серверной плате диски и по одному, и по второму интерфейсу.

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

Разница между SAS и SATA

Как мы уже знаем, SAS находит применение в серверах, SATA – в домашних системах. На практике это означает, что к первым одновременно обращается много пользователей и решается множество задач, со вторыми же имеет дело один человек. Соответственно, серверная нагрузка намного выше, поэтому диски должны быть достаточно отказоустойчивыми и быстрыми. Протоколы SCSI (SSP, SMP, STP), реализованные в SAS, позволяют обрабатывать больше операций ввода/вывода одновременно.

Непосредственно для HDD скорость обращения определяется в первую очередь скоростью вращения шпинделя. Для desktop-систем и ноутбуков необходимо и достаточно 5400 – 7200 RPM. Соответственно, найти SATA-диск с 10000 RPM почти невозможно (разве что посмотреть серию WD VelociRaptor, предназначенную, опять же, для рабочих станций), а все, что выше, – абсолютно недостижимо. SAS HDD раскручивает минимум 7200 RPM, стандартом можно считать 10000 RPM, а достаточным максимумом – 15000 RPM.

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

На отказоустойчивость системы работает и главное достоинство SAS – два дуплексных порта, позволяющих подключить одно устройство по двум каналам. Обмен информацией в этом случае будет вестись одновременно в обоих направлениях, а надежность обеспечивается технологией Multipath I/O (два контроллера страхуют друг друга и разделяют нагрузку). Очередь помеченных команд выстраивается глубиной до 256. У большинства дисков SATA один полудуплексный порт, а глубина очереди по технологии NCQ – не более 32.

Интерфейс SAS предполагает использование кабелей длиной до 10 м. К одному порту через расширители можно подключить до 255 устройств. SATA ограничивается 1 м (2 м для eSATA), и поддерживает подключение только одного устройства по типу «точка – точка».

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

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

Сравнительная таблица

SAS SATA
Для серверных систем Преимущественно для настольных и мобильных систем
Использует набор команд SCSI Использует набор команд ATA
Минимальная скорость вращения шпинделя HDD 7200 RPM, максимальная – 15000 RPM Минимум 5400 RPM, максимум 7200 RPM
Поддерживается технология проверки контрольных сумм при записи данных Большой процент ошибок и bad-секторов
Два дуплексных порта Один полудуплексный порт
Поддерживается Multipath I/O Подключение по типу «точка – точка»
Очередь команд до 256 Очередь команд до 32
Можно использовать кабели до 10 м Длина кабелей не более 1 м
Пропускная способность шины до 12 Гбит/с (в перспективе – 24 Гбит/с) Пропускная способность 6 Гбит/с (SATA III)
Стоимость накопителей выше, иногда значительно Дешевле в пересчете на цену за 1 Гб

Звоните или прямо на сайте! Наши специалисты с удовольствием помогут Вам!

Интерфейс 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.

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

SAS (Serial Attached SCSI) – последовательный интерфейс подключения устройств хранения данных, разработанный на основе параллельного SCSI для исполнения того же набора команд. Используется преимущественно в серверных системах.

SATA (Serial ATA) – последовательный интерфейс обмена данными, базирующийся на основе параллельного PATA (IDE). Применяется в домашних, офисных, мультимедийных ПК и ноутбуках.

Если говорить о HDD, то, несмотря на различающиеся технические характеристики и разъемы, кардинальных расхождений между устройствами нет. Обратная односторонняя совместимость дает возможность подключать к серверной плате диски и по одному, и по второму интерфейсу.

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

Сравнение

Как мы уже знаем, SAS находит применение в серверах, SATA – в домашних системах. На практике это означает, что к первым одновременно обращается много пользователей и решается множество задач, со вторыми же имеет дело один человек. Соответственно, серверная нагрузка намного выше, поэтому диски должны быть достаточно отказоустойчивыми и быстрыми. Протоколы SCSI (SSP, SMP, STP), реализованные в SAS, позволяют обрабатывать больше операций ввода/вывода одновременно.

Непосредственно для HDD скорость обращения определяется в первую очередь скоростью вращения шпинделя. Для desktop-систем и ноутбуков необходимо и достаточно 5400 – 7200 RPM. Соответственно, найти SATA-диск с 10000 RPM почти невозможно (разве что посмотреть серию WD VelociRaptor, предназначенную, опять же, для рабочих станций), а все, что выше, – абсолютно недостижимо. SAS HDD раскручивает минимум 7200 RPM, стандартом можно считать 10000 RPM, а достаточным максимумом – 15000 RPM.

Считается, что диски с последовательным SCSI надежнее, у них выше показатели наработки на отказ. На практике стабильность достигается больше за счет функции проверки контрольных сумм. Накопители SATA же страдают от «тихих ошибок», когда данные записываются частично либо повреждены, что приводит к появлению bad-секторов.

На отказоустойчивость системы работает и главное достоинство SAS – два дуплексных порта, позволяющих подключить одно устройство по двум каналам. Обмен информацией в этом случае будет вестись одновременно в обоих направлениях, а надежность обеспечивается технологией Multipath I/O (два контроллера страхуют друг друга и разделяют нагрузку). Очередь помеченных команд выстраивается глубиной до 256. У большинства дисков SATA один полудуплексный порт, а глубина очереди по технологии NCQ – не более 32.

Интерфейс SAS предполагает использование кабелей длиной до 10 м. К одному порту через расширители можно подключить до 255 устройств. SATA ограничивается 1 м (2 м для eSATA), и поддерживает подключение только одного устройства по типу «точка – точка».

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

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

Таблица

SAS SATA
Для серверных систем Преимущественно для настольных и мобильных систем
Использует набор команд SCSI Использует набор команд ATA
Минимальная скорость вращения шпинделя HDD 7200 RPM, максимальная – 15000 RPM Минимум 5400 RPM, максимум 7200 RPM
Поддерживается технология проверки контрольных сумм при записи данных Большой процент ошибок и bad-секторов
Два дуплексных порта Один полудуплексный порт
Поддерживается Multipath I/O Подключение по типу «точка – точка»
Очередь команд до 256 Очередь команд до 32
Можно использовать кабели до 10 м Длина кабелей не более 1 м
Пропускная способность шины до 12 Гбит/с (в перспективе – 24 Гбит/с) Пропускная способность 6 Гбит/с (SATA III)
Стоимость накопителей выше, иногда значительно Дешевле в пересчете на цену за 1 Гб

Второй интерфейс внешней памяти – SCSI (Small Computer System Interface – системный интерфейс малых компьютеров) был разработан и принят ANSI в 1986 г. (он получил позднее название SCSI-1). Скорость передачи данных при использовании этого 8-разрядного параллельного интерфейса составляла (при тактовой частоте шины 5 МГц) 4 Мбайта/с в асинхронном режиме и 5 Мбайт/с в синхронном режиме. В отличие от интерфейса IDE/ATA, к интерфейсу SCSI можно подключать не только внутренние, но и внешние устройства: принтеры, сканеры и т.д. Максимальное количество подключаемых к шине SCSI устройств было равно 8, а максимальная длина кабеля – 6 м.

Разработкой стандартов и поддержкой интерфейса SCSI занимается комитет T10 INCITS, т.е. той же организации, которая разрабатывает стандарты IDE (ATA). В 1996 г. для продвижения стандарта SCSI была создана Торговая ассоциация SCSI – STA (SCSI Trade Association). В эту ассоциацию входят около тридцати фирм-производителей компьютерной техники.

В следующих стандартах SCSI – SCSI-2 (1994 г.) и SCSI-3 (1995 г.) введен общий набор команд CCS (Common Command Set) – 18 базовых команд, необходимых для поддержки любого устройства SCSI, добавлена возможность хранения в устройстве очередей команд, полученных с компьютера и их обработка в соответствии с заданными приоритетами. Кроме этого, в этих стандартах, наряду с 8-разрядной, определена и 16-разрядная шина, тактовая частота увеличена до 20 МГц и скорость передачи данных – до 20 Мбайт/с.

Развитием стандарта SCSI-3 являются используемые в настоящее время стандарты Ultra3 SCSI (1999 г.), для которого определена частота шины 40 МГц и скорость передачи 160 Мбайт/с и Ultra320 SCSI (2002 г.) – частота шины 80 МГц и скорость передачи 320 Мбайт/с.

Обмен данными по этим стандартам реализуется с помощью метода LDVS (так же, как в шине PCI Express). Максимальное количество подключаемых устройств для Ultra3 SCSI и Ultra320 SCSI равно 16, а максимальная длина кабеля – 12 м.

Разработан также стандарт Ultra640 SCSI (2003 г.) с частотой шины 160 МГц и со скоростью 640 Мбайт/с, но этот стандарт не получил широкого распространения, в связи с тем, что из-за малой длины кабеля к нему нельзя подключить более двух устройств.

Связь между устройством SCSI и шиной ввода/вывода выполняется с помощью специального адаптера (контроллера) SCSI, вставляемого в разъем PCI, или встроенного в материнскую плату. Кроме адаптера SCSI (рис. 1.3.8а), называемого хост-адаптером (host adapter) каждое устройство имеет свой встроенный адаптер, который позволяет ему взаимодействовать с шиной SCSI. Если устройство – последнее в цепочке устройств шины SCSI, после него подключается специальное устройство – терминатор (terminator) для того чтобы исключить отражение сигналов, передающихся по шине (рис. 1.3.8б).


В Ultra3 SCSI и Ultra320 SCSI используются два типа разъемов: 68-контактный (рис. 1.3.8в) и 80-контактный (рис. 1.3.8г). Второй тип разъема, помимо линий передачи данных и команд, содержит также линии электропитания устройств и обеспечивает возможность «горячего» подключения устройства к компьютеру.

Рис. 1.3.8. Устройства SCSI: а) адаптер SCSI: 1 – разъемы для подключения внешних устройств; 2 – разъем для подключения внутреннего устройства; 3 – контроллер SCSI;

б) шина SCSI: 1 – разъем для подключения адаптера; 2 – разъемы для подключения устройств; 3 – терминатор; в) 68-контактный разъем SCSI; г) 80-контактный разъем SCSI

Данные при использовании SCSI передаются параллельно, так же, как и в IDE (ATA). По тем же причинам, что и в IDE (ATA), была начата разработка последовательно подключаемого SCSI – SAS (Serial Attached SCSI). Интерфейс SAS является совместимым с интерфейсом SATA и в тоже время использует команды SCSI, возможность «горячего» подключения внешних устройств, а также возможность подключения, помимо жестких и оптических дисководов, других периферийных устройств, например, принтера или сканера. В настоящее время интерфейс SAS постепенно заменяет интерфейс SCSI в компьютерах и периферийных устройствах.

Первая спецификация SAS – SAS 1.0 была выпущена Комитетом T10 в 2003 году. В ней была определена скорости передачи данных 1,5 и 3 Гбита/с для подключения устройств внутри системного блока компьютера с максимальной длиной кабеля 1 м и внешнего подключения устройств с максимальной длиной кабеля 8 м.

В 2005 году была выпущена спецификация SAS 1.1, в которой были исправлены ошибки спецификации SAS 1.0.

В спецификации SAS 2.0 (2009 г.) добавлена скорость 6 Гбит/с и максимальная длина кабеля увеличена до 10 м.

Обмен данными в SAS, так же, как и в SCSI, реализуется с помощью метода LDVS.

Две дифференциальные сигнальные пары (приемная и передающая) образуют в SAS физический канал. Один или несколько физических каналов, в свою очередь, образуют порт. Количество физических каналов в порту обозначается с помощью цифры, за которой следует символ «x». Так, обозначение 4x означает, что порт содержит 4 канала (8 сигнальных пар). Каждый порт имеет уникальный 64-битовый адрес, присваиваемый производителем оборудования SAS. Устройство с интерфейсом SAS может иметь один или несколько портов. Порт, имеющий только один канал, называется узким портом (narrow port), а порт, имеющий два и более каналов, называется широким портом (wide port).

Так два порта со скоростью по 3 Гбит/с можно использовать либо как два отдельных каналов связи с разными устройствами, либо как единый канал связи со скоростью 6 Гбит/с. Кроме того, в спецификации SAS 2.0 добавлена возможность разбиения порта со скоростью 6 Гбит/с на два канала со скоростью по 3 Гбит/с.

При подключении устройств в SAS используются разъемы, стандартизированные Комитетом по малым форм-факторам – Small Form Factor (SFF) Committee. Этот комитет разрабатывает и готовит спецификации по разъемам, используемым в различных устройствах. Каждый разъем идентифицируется префиксом «SFF-», за которым следует четырехзначный номер разъема, начинающийся с цифры 8.

Основными разъемами, используемыми в SATA являются:

· разъем SFF-8482 для подключения внутреннего устройства (рис. 1.3.9а);

· разъем SFF-8484 – разъем 4x для подключения внутренних устройств (рис. 1.3.9б);

· разъем SFF-8087 – разъем 4x (miniSAS) для подключения внутренних устройств (рис. 1.3.9в);

· разъем SFF-8470 – разъем 4x для подключения внешних устройств (рис. 1.3.9г);

· разъем SFF-8088 – разъем 4x (miniSAS) для подключения внешних устройств (рис. 1.3.9д).

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

Наиболее распространенный кабель для подключения внешних устройств SAS с разъемами SFF-8088 на концах кабеля приведен на рис. 1.3.9е. Для подключения внешних устройств по интерфейсу eSATA можно использовать кабель, на одном конце которого разъем SFF-8088, а на другом – 4 разъема eSATA (рис. 1.3.9ж).

Рис. 1.3.9. Разъемы SAS: а) 29-контактный штекер разъема SAS для внутреннего устройства (SFF-8482) б) 32-контактный 4x штекер разъема SAS для подключения внутренних устройств (SFF-8484); в) 26-контактный 4x штекер разъема mini-SAS для внутренних устройств (SFF-8087); г) 26-контактный 4x штекер разъема SAS для внешнего устройства (SFF-8470); д) 26-контакный 4x штекер разъема mini-SAS для внешнего устройства (SFF-8088); е) кабель SFF-8088 – SFF-8088; ж) кабель SFF-8088 – 4 eSATA

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

· инициатор (Initiator) – порождает запросы на обслуживание для целевых устройств и получает подтверждения об исполнении запросов (реализуется в виде микросхемы на материнской плате или на карте, подключенной к шине материнской платы);

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

· подсистема доставки данных (Service Delivery Subsystem) – осуществляет передачу данных между инициаторами и целевыми устройствами (состоит из кабелей и расширителей SAS).

· расширитель SAS (SAS Expander) – подключает несколько устройств SAS к одному порту инициатора.

В настольных компьютерах расширитель SAS выполняется в виде карты, которая подключается к шине PCI Express, и содержит контроллер SAS, выполняющий функции инициатора, а также один или несколько внутренних и/или внешних гнезд разъемов SAS, к которым подключаются устройства с интерфейсом SAS или SATA (eSATA) (рис. ?????а и рис. ?????б).

Дисководы SAS (eSATA) могут быть помещены в корпус (рис. ?????в). Такое устройство называется дисковым массивом. Помимо дисководов, дисковый массив содержит встроенную плату расширителя SAS (рис. ?????г), разъем электропитания, а также гнездо для подключения к управляющему компьютеру (входного гнезда) и 1 или 2 гнезда для подключения к другим компьютером (входные гнезда). Наличие этих гнезд позволяет нескольким компьютером совместно использовать данные на дисководах дискового массива.

Пример подключения дисководов eSATA к компьютеру с использованием кабеля, изображенного на рис. 1.3.9ж, и компьютеров к дисковому массиву с использованием кабеля, изображенного на рис. 1.3.9е, приведен на рис. рис. ?????д.

Рис. ??????. Средства SAS: а) карта для подключения двух внутренних устройств:

1 – контроллер (инициатор) SAS; 2 – гнезда SF-8087; б) карта для подключения двух внешних устройств: 2 – гнезда SF-8088; 1 – контроллер (инициатор) SAS; в) дисковый массив на 15 дисководов SAS (eSATA); г) расширитель SAS дискового массива;

д) пример использования SAS для подключения внешних дисководов: 1 – дисководы eSATA; 2 – дисковый массив, подключенный к двум компьютерам

Аппаратная реализация SAS, как и ранее SCSI, на компьютере обходится дороже, чем реализация ATA и SATA (eSATA). Это связано, во-первых, с тем, что контроллер ATA и SATA, как правило, встроен в материнскую плату, а материнские платы для настольных компьютеров с встроенным интерфейсом SCSI и SAS практически не выпускаются, поэтому необходимо приобретение карты контроллера SCSI или SAS. Во-вторых, устройства с интерфейсом SAS имеют большие возможности, чем устройства ATA и SATA (eSATA). Например, дисководы SAS могут быть двухпортовыми, т.е. их можно либо подключить к двум компьютерам, либо выполнять обмен данными с компьютером на вдвое болей скорости по сравнению с использованием одного порта. Однако это приводит к более высокой стоимости дисководов SAS.

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

За счет использования расширителей, подсистема доставки данных SAS предлагает больше возможностей, чем система SATA (eSATA). Кроме того, в этой подсистеме можно использовать и более дешевые устройства SATA (eSATA).

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

В домене могут использоваться два типа расширителей: расширитель-коммутатор и оконечный расширитель.

Расширитель-коммутатор (fanout expander) (рис. ?????а) выполняет в домене SAS маршрутизацию потоков данных от инициаторов к целевым устройствам домена. В домене должен быть только один расширитель-коммутатор.

Оконечный расширитель (edge expander) (рис. ?????б) подключается либо к расширителю-коммутатору, либо к другому оконечному расширителю и используется для маршрутизации потоков данных подключенных к нему устройств и расширителей. Максимальное количество обслуживаемых оконечным расширителем устройств равно 128.

Устройства могут подключаться как к расширителю-коммутатору, так и к оконечному расширителю. Если в домене не задействован расширитель-коммутатор, то количество оконечных расширителей должно быть не более 2.

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

Пример конфигурации доменов SAS приведен на рис. рис. ?????в.

Рис. ?????. Использование SAS в серверах: а) 12-портовый расширитель-коммутатор с гнездами SFF-8470 (вид спереди и сзади); б) 12-портовый оконечный расширитель с гнездами SFF-8470 (вид спереди и сзади); в) пример доменов SAS:

1 – серверы-инициаторы с картами расширения SAS; 2 - оконечные расширители SAS;

3 – однопортовые дисководы с интерфейсом SAS; 4 – расширитель-коммутатор SAS;

5 – дисководы с интерфейсом eSATA; 6 – двухпортовые дисководы с интерфейсом SAS;

7 – дисковый массив с встроенным расширителем 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 в реальной жизни.