Интерфейсы подключения жестких дисков: SCSI, SAS, Firewire, IDE, SATA. Беспрецедентная совместимость последовательных интерфейсов Скорость передачи данных

За два года изменений накопилось немного:

  • Supermicro отказывается от проприетарного "перевернутого" форм-фактора UIO для контроллеров. Подробности будут ниже.
  • LSI 2108 (SAS2 RAID с 512МБ кэша) и LSI 2008 (SAS2 HBA с опциональной поддержкой RAID) по-прежнему в строю. Продукты на этих чипах, как производства LSI, так и от OEM партнеров, достаточно хорошо отлажены и по-прежнему актуальны.
  • Появились LSI 2208 (тот же SAS2 RAID со стеком LSI MegaRAID, только с двухъядерным процессором и 1024МБ кэша) и (усовершенствованная версия LSI 2008 с более быстрым процессором и поддержкой PCI-E 3.0).

Переход от UIO к WIO

Как вы помните, платы UIO - это обычные платы PCI-E x8, у которых вся элементная база находится с обратной стороны, т.е. при установке в левый райзер оказывается сверху. Понадобился такой форм-фактор для установки плат в самый нижний слот сервера, что позволяло разместить четыре платы в левом райзере. UIO - это не только форм-фактор плат расширения, это еще и корпуса, рассчитанные на установку райзеров, сами райзеры и материнские платы специального форм-фактора, с вырезом под нижний слот расширения и слотами для установки райзеров.
У подобного решения существовало две проблемы. Во-первых, нестандартный форм-фактор плат расширения ограничивал выбор клиента, т.к. под в UIO форм-факторе существует лишь несколько контроллеров SAS, InfiniBand и Ehternet. Во-вторых - недостаточное количество линий PCI-E в слотах под райзеры - всего 36, из них на левый райзер - всего 24 линии, что явно мало для четырех плат с PCI-E x8.
Что же такое WIO? Сначала оказалось, что существует возможность размещения четырех плат в левом райзере без необходимости "переворачивания бутерброда маслом вверх", и появились райзеры под обычные платы (RSC-R2UU-A4E8+). Затем была решена проблема нехватки линий (теперь их 80) путем использования слотов с большей плотностью контактов.
UIO райзер RSC-R2UU-UA3E8+
WIO райзер RSC-R2UW-4E8

Результаты:
  • Райзеры WIO нельзя установить в материнские платы, рассчитанные на UIO (например, X8DTU-F).
  • Райзеры UIO нельзя установить в новые платы, рассчитанные на WIO.
  • Существуют райзеры под WIO (на материнской плате), имеющие слот UIO для карточек. На тот случай, если у вас остались UIO контроллеры. Они используются в платформах под Socket B2 (6027B-URF, 1027B-URF, 6017B-URF).
  • Новых контроллеров в форм-факторе UIO появляться не будет. Например, контроллер USAS2LP-H8iR на чипе LSI 2108 будет последним, LSI 2208 под UIO не будет - только обычный MD2 с PCI-E x8.

Контроллеры PCI-E

В данный момент актуальными являются три разновидности: RAID контроллеры на базе LSI 2108/2208 и HBA на базе LSI 2308. Существует еще загадочный SAS2 HBA AOC-SAS2LP-MV8 на чипе Marvel 9480, но о нем писать из-за его экзотичности. Большинство случаев применения внутренних SAS HBA - это СХД с ZFS под FreeBSD и различными разновидностями Solaris. Благодаря отсутствию проблем с поддержкой в этих ОС выбор в 100% случаев падает на LSI 2008/2308.
LSI 2108
Помимо UIO"шного AOC-USAS2LP-H8iR , который упомянут в добавились еще два контроллера:

AOC-SAS2LP-H8iR
LSI 2108, SAS2 RAID 0/1/5/6/10/50/60, 512МБ кэш, 8 внутренних портов (2 разъема SFF-8087). Является аналогом контроллера LSI 9260-8i , но произведен Supermicro, есть мелкие различия в разводке платы, цена на $40-50 ниже LSI. Поддерживаются все дополнительные опции LSI : активация , FastPath и CacheCade 2.0, батарейная защита кэша - LSIiBBU07 и LSIiBBU08 (сейчас предпочтительнее использовать BBU08, у него расширен температурный диапазон и в комплекте идет кабель для удаленного монтажа).
Несмотря на появление более производительных контроллеров на базе LSI 2208, LSI 2108 все еще остается актуальным благодаря снижению цены. Производительности с обычными HDD хватает в любых сценариях, предел по IOPS для работы с SSD - 150000, что для большинства бюджетных решений более чем достаточно.

AOC-SAS2LP-H4iR
LSI 2108, SAS2 RAID 0/1/5/6/10/50/60, 512МБ кэш, 4 внутренних + 4 внешних порта. Является аналогом контроллера LSI 9280-4i4e . Удобен для использования в экспандерных корпусах, т.к. не придется выводить выход с экспандера наружу для подключения дополнительных JBOD"ов, или в 1U корпусах на 4 диска при необходимости обеспечить возможность наращивания числа дисков. Поддерживает те же BBU и ключи активации.
LSI 2208

AOC-S2208L-H8iR
LSI 2208, SAS2 RAID 0/1/5/6/10/50/60, 1024МБ кэш, 8 внутренних портов (2 разъема SFF-8087). Является аналогом контроллера LSI 9271-8i . LSI 2208 - это дальнейшее развитие LSI 2108. Процессор стал двухъядерным, что позволило поднять предел производительности по IOPS"ам аж до 465000. Добавилась поддержка PCI-E 3.0 и увеличился до 1ГБ кэш.
Контроллер поддерживает батарейную защиту кэша BBU09 и флеш-защиту CacheVault. Supermicro поставляет их под партномерами BTR-0022L-LSI00279 и BTR-0024L-LSI00297, но у нас проще приобрести через канал продаж LSI (вторая часть партномеров - это и есть родные партномера LSI). Ключи активации MegaRAID Advanced Software Options тоже поддерживаются, партномера: AOC-SAS2-FSPT-ESW (FastPath) и AOCCHCD-PRO2-KEY (CacheCade Pro 2.0).
LSI 2308 (HBA)

AOC-S2308L-L8i и AOC-S2308L-L8e
LSI 2308, SAS2 HBA (с IR прошивкой - RAID 0/1/1E), 8 внутренних портов (2 разъема SFF-8087). Это один и тот же контроллер, поставляется с разными прошивками. AOC-S2308L-L8e - IT firmware (чистый HBA), AOC-S2308L-L8i - IR firmware (с поддержкой RAID 0/1/1E). Разница в том, что L8i может работать с IR и IT прошивками, L8e - только с IT, прошивка в IR заблокирована. Является аналогом контроллера LSI 9207-8 i . Отличия от LSI 2008: побыстрее чип (800Мгц, как следствие - поднялся лимит по IOPS до 650тыс.), появилась поддержка PCI-E 3.0. Применение: программные RAID"ы (ZFS, например), бюджетные серверы.
На базе этого чипа не будет дешевых контроллеров с поддержкой RAID-5 (iMR стек, из готовых контроллеров - LSI 9240).

Набортные контроллеры

В последних продуктах (платах X9 и платформах с ними) Supermicro обозначает наличие SAS2 контроллера от LSI цифрой "7" в партномере, цифрой "3" - чипсетный SAS (Intel C600). Вот только не делается различий между LSI 2208 и 2308, так что будьте внимательны при выборе платы.
  • Распаянный на материнских платах контроллер на базе LSI 2208 имеет ограничение - максимум 16 дисков. При добавлении 17 он просто не определится, и в логе MSM вы увидите сообщение "PD is not supported". Компенсацией за это служит существенно более низкая цена. Например, связка "X9DRHi-F + внешний контроллер LSI 9271-8i" обойдется дороже примерно на $500, чем X9DRH-7F с LSI 2008 на борту. Обойти это ограничение перепрошивкой в LSI 9271 не получится - прошивка другого SBR блока, как в случае с LSI 2108 не помогает.
  • Еще одна особенность - отсутствие поддержки модулей CacheVault, на платах банально не хватает места под специальный разъем, так что поддерживается только BBU09. Возможность установки BBU09 зависит от используемого корпуса. Например, LSI 2208 используется в блейд-серверах 7127R-S6, разъем для подключения BBU там есть, но для монтажа самого модуля нужен дополнительный крепеж MCP-640-00068-0N Battery Holder Bracket.
  • Прошивку SAS HBA (LSI 2308) придется теперь , так как в DOS на любой из плат с LSI 2308 не запускается sas2flash.exe с ошибкой "Failed to initialize PAL".

Контроллеры в Twin и FatTwin платформах

Некоторые 2U Twin 2 платформы существуют в трех вариантах, с тремя видами контроллеров. Например:
  • 2027TR-HTRF+ - чипсетный SATA
  • 2027TR-H70RF+ - LSI 2008
  • 2027TR-H71RF+ - LSI 2108
  • 2027TR-H72RF+ - LSI 2208
Подобное многообразие обеспечивается за счет того, что контроллеры размещены на специальной объединительной плате, которая подключается в спецслот на материнской плате и в дисковый бэкплейн.
BPN-ADP-SAS2-H6IR (LSI 2108)


BPN-ADP-S2208L-H6iR (LSI 2208)

BPN-ADP-SAS2-L6i (LSI 2008)

Корпуса Supermicro xxxBE16/xxxBE26

Еще одна тема, имеющая прямое отношение к контроллерам - это модернизация корпусов с . Появились разновидности с дополнительной корзиной на два 2,5" диска, расположенной на задней панели корпуса. Назначение - выделенный диск (или зеркало) под загрузку системы. Конечно, систему можно грузить, выделив небольшой том от другой дисковой группы или с дополнительных дисков, закрепленных внутри корпуса (в 846-х корпусах можно установить дополнительный крепеж для одного 3,5" или двух 2,5" дисков), но обновленные модификации гораздо удобнее:




Причем эти дополнительные диски необязательно подключать именно к чипсетному SATA контроллеру. При помощи кабеля SFF8087->4xSATA можно подключиться к основному SAS контроллеру через выход SAS экспандера.
P.S. Надеюсь, что информация была полезной. Не забывайте, что наиболее полную информацию и техническую поддержку по продукции Supermicro, LSI, Adaptec by PMC и других вендоров вы можете получить в компании True System .

Тесты массивов RAID 6, 5, 1 и 0 с дисками SAS-2 компании Hitachi

Видимо, прошли те времена, когда приличный профессиональный 8-портовый RAID-контроллер стоил весьма внушительных денег. Нынче появились решения для интерфейса Serial Attached SCSI (SAS), которые очень даже привлекательны и по цене, и по функциональности, да и в плане производительности. Об одном из них - этот обзор.

Контроллер LSI MegaRAID SAS 9260-8i

Ранее мы уже писали об интерфейсе SAS второго поколения со скоростью передачи 6 Гбит/с и весьма дешевом 8-портовом HBA-контроллере LSI SAS 9211-8i, предназначенном для организации систем хранения данных начального ценового уровня на базе простейших RAID-массивов SAS и SATA-накопителей. Модель же LSI MegaRAID SAS 9260-8i будет классом повыше - она оснащена более мощным процессором с аппаратным обсчетом массивов уровней 5, 6, 50 и 60 (технология ROC - RAID On Chip), а также ощутимым объемом (512 Мбайт) набортной SDRAM-памяти для эффективного кеширования данных. Этим контроллером также поддерживаются интерфейсы SAS и SATA со скоростью передачи данных 6 Гбит/с, а сам адаптер предназначен для шины PCI Express x8 версии 2.0 (5 Гбит/с на линию), чего теоретически почти достаточно для удовлетворения потребностей 8 высокоскоростных портов SAS. И все это - по розничной цене в районе 500 долларов, то есть лишь на пару сотен дороже бюджетного LSI SAS 9211-8i. Сам производитель, кстати, относит данное решение к серии MegaRAID Value Line, то есть экономичным решениям.




8-портовый SAS-контроллер LSIMegaRAID SAS9260-8i и его процессор SAS2108 с памятью DDR2

Плата LSI SAS 9260-8i имеет низкий профиль (форм-фактор MD2), оснащена двумя внутренними разъемами Mini-SAS 4X (каждый из них позволяет подключать до 4 SAS-дисков напрямую или больше - через порт-мультипликаторы), рассчитана на шину PCI Express x8 2.0 и поддерживает RAID-массивы уровней 0, 1, 5, 6, 10, 50 и 60, динамическую функциональность SAS и мн. др. Контроллер LSI SAS 9260-8i можно устанавливать как в рэковые серверы формата 1U и 2U (серверы классов Mid и High-End), так и в корпуса ATX и Slim-ATX (для рабочих станций). Поддержка RAID производится аппаратно - встроенным процессором LSI SAS2108 (ядро PowerPC на частоте 800 МГц), доукомплектованным 512 Мбайт памяти DDR2 800 МГц с поддержкой ECC. LSI обещает скорость работы процессора с данными до 2,8 Гбайт/с при чтении и до 1,8 Гбайт/с при записи. Среди богатой функциональности адаптера стоит отметить функции Online Capacity Expansion (OCE), Online RAID Level Migration (RLM) (расширение объема и изменение типа массивов «на ходу»), SafeStore Encryption Services и Instant secure erase (шифрование данных на дисках и безопасное удаление данных), поддержку твердотельных накопителей (технология SSD Guard) и мн. др. Опционально доступен батарейный модуль для этого контроллера (с ним максимальная рабочая температура не должна превышать +44,5 градусов Цельсия).

Контроллер LSI SAS 9260-8i: основные технические характеристики

Системный интерфейс PCI Express x8 2.0 (5 ГТ/с), Bus Master DMA
Дисковый интерфейс SAS-2 6 Гбит/с (поддержка протоколов SSP, SMP, STP и SATA)
Число портов SAS 8 (2 разъема x4 Mini-SAS SFF8087), поддержка до 128 накопителей через порт-мультипликаторы
Поддержка RAID уровни 0, 1, 5, 6, 10, 50, 60
Процессор LSI SAS2108 ROC (PowerPC @ 800 МГц)
Встроенная кеш-память 512 Мбайт ECC DDR2 800 МГц
Энергопотребление, не более 24 Вт (питание +3,3 В и +12 В от слота PCIe)
Диапазон температур работы/хранения 0…+60 °С / −45…+105 °С
Форм-фактор, габариты MD2 low-profile, 168×64,4 мм
Значение MTBF >2 млн. ч
Гарантия производителя 3 года

Типичные применения LSI MegaRAID SAS 9260-8i производитель обозначил так: разнообразные видеостанции (видео по запросу, видеонаблюдение, создание и редактирование видео, медицинские изображения), высокопроизводительные вычисления и архивы цифровых данных, многообразные серверы (файловый, веб, почтовый, базы данных). В общем, подавляющее большинство задач, решаемых в малом и среднем бизнесе.

В бело-оранжевой коробке с легкомысленно улыбающимся зубастым дамским личиком на «титуле» (видимо, чтобы лучше завлечь бородатых сисадминов и суровых систембилдеров) находится плата контроллера, брекеты для ее установки в корпуса ATX, Slim-ATX и пр., два 4-дисковых кабеля с разъемами Mini-SAS на одном конце и обычным SATA (без питания) - на другом (для подключения до 8 дисков к контроллеру), а также CD с PDF-документацией и драйверами для многочисленных версий Windows, Linux (SuSE и RedHat), Solaris и VMware.


Комплект поставки коробочной версии контроллера LSI MegaRAID SAS 9260-8i (мини-платка ключа MegaRAID Advanced Services Hardware Key поставляется по отдельному запросу)

Со специальным аппаратным ключом (он поставляется отдельно) для контроллера LSI MegaRAID SAS 9260-8i доступны программные технологии LSI MegaRAID Advanced Services: MegaRAID Recovery, MegaRAID CacheCade, MegaRAID FastPath, LSI SafeStore Encryption Services (их рассмотрение выходит за рамки данной статьи). В частности, в плане повышения производительности массива традиционных дисков (HDD) при помощи добавленного в систему твердотельного накопителя (SSD) будет полезна технология MegaRAID CacheCade, при помощи которой SSD выступает кешем второго уровня для массива HDD (аналог гибридного решения для HDD), в отдельных случаях обеспечивая повышение производительности дисковой подсистемы до 50 раз. Интерес представляет также решение MegaRAID FastPath, при помощи которого уменьшаются задержка обработки процессором SAS2108 операций ввода-вывода (за счет отключения оптимизации под НЖМД), что позволяет ускорить работу массива из нескольких твердотельных накопителей (SSD), подключенных напрямую к портам SAS 9260-8i.

Операции по конфигурированию, настройке и обслуживанию контроллера и его массивов удобнее производить в фирменном менеджере в среде операционной системы (настройки в меню BIOS Setup самого контроллера недостаточно богаты - доступны только базовые функции). В частности, в менеджере за несколько кликов мышкой можно организовать любой массив и установить политики его работы (кеширование и пр.) - см. скриншоты.




Примеры скриншотов Windows-менеджера по конфигурированию массивов RAID уровней 5 (вверху) и 1 (внизу).

Тестирование

Для знакомства с базовой производительностью LSI MegaRAID SAS 9260-8i (без ключа MegaRAID Advanced Services Hardware Key и сопутствующих технологий) мы использовали пять высокопроизводительных SAS-накопителей со скоростью вращения шпинделя 15 тыс. об/мин и поддержкой интерфейса SAS-2 (6 Гбит/с) - Hitachi Ultrastar 15K600 HUS156030VLS600 емкостью по 300 Гбайт.


Жесткий диск Hitachi Ultrastar 15K600 без верхней крышки

Это позволит нам протестировать все базовые уровни массивов - RAID 6, 5, 10, 0 и 1, причем не только при минимальном для каждого из них числе дисков, но и «на вырост», то есть при добавлении диска во второй из 4-канальных SAS-портов чипа ROC. Отметим, что у героя этой статьи есть упрощенный аналог - 4-портовый контроллер LSI MegaRAID SAS 9260-4i на той же элементной базе. Поэтому наши тесты 4-дисковых массивов с тем же успехом применимы и к нему.

Максимальная скорость последовательного чтения/записи полезных данных для Hitachi HUS156030VLS600 составляет около 200 Мбайт/с (см. график). Среднее время случайного доступа при чтении (по спецификациям) - 5,4 мс. Встроенный буфер - 64 Мбайт.


График скорости последовательного чтения/записи диска Hitachi Ultrastar 15K600 HUS156030VLS600

Тестовая система была основана на процессоре Intel Xeon 3120, материнской плате с чипсетом Intel P45 и 2 Гбайт памяти DDR2-800. SAS-контроллер устанавливался в слот PCI Express x16 v2.0. Испытания проводились под управлением операционных систем Windows XP SP3 Professional и Windows 7 Ultimate SP1 x86 (чистые американские версии), поскольку их серверные аналоги (Windows 2003 и 2008 соответственно) не позволяют работать некоторым из использованных нами бенчмарков и скриптов. В качестве тестов использовались программы AIDA64, ATTO Disk Benchmark 2.46, Intel IOmeter 2006, Intel NAS Performance Toolkit 1.7.1, C’T H2BenchW 4.13/4.16, HD Tach RW 3.0.4.0 и за компанию Futuremark PCMark Vantage и PCMark05. Тесты проводились как на неразмеченных томах (IOmeter, H2BenchW, AIDA64), так и на отформатированных разделах. В последнем случае (для NASPT и PCMark) результаты снимались как для физического начала массива, так и для его середины (тома массивов максимально доступной емкости разбивались на два равновеликих логических раздела). Это позволяет нам более адекватно оценивать производительность решений, поскольку самые быстрые начальные участки томов, на которых проводятся файловые бенчмарки большинством обозревателей, зачастую не отражают ситуации на остальных участках диска, которые в реальной работе также могут использоваться весьма активно.

Все тесты проводились пятикратно и результаты усреднялись. Подробнее нашу обновленную методику оценки профессиональных дисковых решений мы рассмотрим в отдельной статье.

Остается добавить, что при данном тестировании мы использовали версию прошивки контроллера 12.12.0-0036 и драйверы версии 4.32.0.32. Кеширование записи и чтения для всех массивов и дисков было активировано. Возможно, использование более современной прошивки и драйверов уберегло нас от странностей, замеченных в результатах ранних тестов такого же контроллера . В нашем случае подобных казусов не наблюдалось. Впрочем, и весьма сомнительный по достоверности результатов скрипт FC-Test 1.0 (который в определенных случаях тем же коллегам «хочется назвать разбродом, шатанием и непредсказуемостью») мы тоже в нашем пакете не используем, поскольку ранее многократно замечали его несостоятельность на некоторых файловых паттернах (в частности, наборах множества мелких, менее 100 Кбайт, файлов).

На диаграммах ниже приведены результаты для 8 конфигураций массивов:

  1. RAID 0 из 5 дисков;
  2. RAID 0 из 4 дисков;
  3. RAID 5 из 5 дисков;
  4. RAID 5 из 4 дисков;
  5. RAID 6 из 5 дисков;
  6. RAID 6 из 4 дисков;
  7. RAID 1 из 4 дисков;
  8. RAID 1 из 2 дисков.

Под массивом RAID 1 из четырех дисков (см. скриншот выше) в компании LSI, очевидно, понимают массив «страйп+зеркало», обычно обозначаемый как RAID 10 (это подтверждают и результаты тестов).

Результаты тестирования

Чтобы не перегружать веб-страницу обзора бесчисленным набором диаграмм, порой малоинформативных и утомляющих (чем нередко грешат некоторые «оголтелые коллеги»:)), мы свели детальные результаты некоторых тестов в таблицу . Желающие проанализировать тонкости полученных нами результатов (например, выяснить поведение фигурантов в наиболее критичных для себя задачах) могут сделать это самостоятельно. Мы же сделаем упор на наиболее важных и ключевых результатах тестов, а также на усредненных показателях.

Сначала взглянем на результаты «чисто физических» тестов.

Среднее время случайного доступа к данным при чтении на единичном диске Hitachi Ultrastar 15K600 HUS156030VLS600 составляет 5,5 мс. Однако при организации их в массивы этот показатель немного меняется: уменьшается (благодаря эффективному кешированию в контроллере LSI SAS9260) для «зеркальных» массивов и увеличивается - для всех остальных. Наибольший рост (примерно на 6%) наблюдается для массивов уровня 6, поскольку при этом контроллеру приходится одновременно обращаться к наибольшему числу дисков (к трем для RAID 6, к двум - для RAID 5 и к одному для RAID 0, поскольку обращение в этом тесте происходит блоками размером всего 512 байт, что существенно меньше размера блоков чередования массивов).

Гораздо интереснее ситуация со случайным доступом к массивам при записи (блоками по 512 байт). Для единичного диска этот параметр равен около 2,9 мс (без кеширования в хост-контроллере), однако в массивах на контроллере LSI SAS9260 мы наблюдаем существенное уменьшение этого показателя - благодаря хорошему кешированию записи в SDRAM-буфере контроллера объемом 512 Мбайт. Интересно, что наиболее кардинальный эффект получается для массивов RAID 0 (время случайного доступа при записи падает почти на порядок по сравнению с одиночным накопителем)! Это несомненно должно благотворно отразиться на быстродействии таких массивов в ряде серверных задач. В то же время, и на массивах с XOR-вычислениями (то есть высокой нагрузкой на процессор SAS2108) случайные обращения на записи не приводят к явному проседанию быстродействия - снова благодаря мощному кешу контроллера. Закнонмерно, что RAID 6 здесь чуть медленнее, чем RAID 5, однако разница между ними, по сути, несущественна. Несколько удивило в этом тесте поведение одиночного «зеркала», показавшего самый медленный случайный доступ при записи (возможно, это «фича» микрокода данного контроллера).

Графики скорости линейного (последовательного) чтения и записи (крупными блоками) для всех массивов не имеют каких-либо особенностей (для чтения и записи они практически идентичны при условии задействования кеширования записи контроллера) и все они масштабируются согласно количеству дисков, параллельно участвующих в «полезном» процессе. То есть для пятидискового RAID 0 дисков скорость «упятеряется» относительно одиночного диска (достигая показателя в 1 Гбайт/с!), для пятидискового RAID 5 она «учетверяется», для RAID 6 - «утрояется» (утраивается, конечно же:)), для RAID 1 из четырех дисков - удваивается (никаких «у2яица»! :)), а для простого зеркала - дублирует графики одиночного диска. Эта закономерность наглядно видна, в частности, по показателям максимальной скорости чтения и записи реальных крупных (256 Мбайт) файлов большими блоками (от 256 Кбайт до 2 Мбайт), что мы проиллюстрируем диаграммой теста ATTO Disk Benchmark 2.46 (результаты этого теста для Windows 7 и XP практически идентичны).

Здесь из общей картины неожиданно выпал лишь случай чтения файлов на массиве RAID 6 из 5 дисков (результаты многократно перепроверены). Впрочем, для чтения блоками 64 Кбайт скорость данного массива набирает положенные ему 600 Мбайт/с. Так что спишем данный факт на «фичу» текущей прошивки. Отметим также, что при записи реальных файлов скорость чуть повыше благодаря кешированию в большом буфере контроллера, причем разница с чтением тем ощутимее, чем меньше реальная линейная скорость массива.

Что же касается скорости интерфейса, измеряемой обычно по показателям записи и чтения буфера (многократные обращения по одному и тому же адресу дискового тома), то здесь мы вынуждены констатировать, что почти для всех массивов она оказалась одинакова благодаря включению кеша контроллера для этих массивов (см. таблицу). Так, показатели при записи для всех участников нашего теста составили примерно 2430 Мбайт/с. Заметим, что шина PCI Express x8 2.0 теоретически дает скорость 40 Гбит/с или 5 Гбайт/с, однако по полезным данным теоретический предел пониже - 4 Гбайт/с, и значит, в нашем случае контроллер действительно работал по версии 2.0 шины PCIe. Таким образом, измеренные нами 2,4 Гбайт/с - это, очевидно, реальная пропускная способность набортной памяти контроллера (память DDR2-800 при 32-битной шине данных, что видно из конфигурации ECC-чипов на плате, теоретически дает до 3,2 Гбайт/с). При чтении же массивов кеширование не столь «всеобъемлюще», как при записи, поэтому и измеряемая в утилитах скорость «интерфейса», как правило, ниже скорости чтения кеш-памяти контроллера (типичные 2,1 Гбайт/с для массивов уровней 5 и 6), и в некоторых случаях она «падает» до скорости чтения буфера самих жестких дисков (около 400 Мбайт/с для одиночного винчестера, см. график выше), помноженной на число «последовательных» дисков в массиве (это как раз случаи RAID 0 и 1 из наших результатов).

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

В качестве «салата» к нашей «лирической» части трапезы подадим десктопные по своей природе дисковые тесты из пакетов PCMark Vantage и PCMark05 (под Windows 7 и XP соответственно), а также похожий на них «трековый» тест приложений из пакета H2BenchW 4.13 авторитетного немецкого журнала C’T. Да, эти тесты исходно создавались для оценки жестких дисков настольных ПК и недорогих рабочих станций. Они эмулируют выполнение на дисках типичных задач продвинутого персонального компьютера - работу с видео, аудио, «фотошопом», антивирусом, играми, своп-файлом, установкой приложений, копированием и записью файлов и др. Поэтому и их результаты в контексте данной статьи не стоит воспринимать как истину в последней инстанции - все-таки на многодисковых массивах чаще выполняются иные задачи. Тем не менее, в свете того, что сам производитель позиционирует данный RAID-контроллер, в том числе, для относительно недорогих решений, подобный класс тестовых задач вполне способен характеризовать некоторую долю приложений, которые в реальности будут выполняться на таких массивах (та же работа с видео, профессиональная обработка графики, свопирование ОС и ресурсоемких приложений, копирование файлов, анитивирус и пр.). Поэтому и значение этих трех комплексных бенчмарков в нашем общем пакете не стоит недооценивать.

В популярном PCMark Vantage в среднем (см. диаграмму) мы наблюдаем очень примечательный факт - производительность данного многодискового решения почти не зависит от типа используемого массива! К слову, в определенных пределах это вывод справедлив и для всех отдельных тестовых треков (типов задач), входящих в состав пакетов PCMark Vantage и PCMark05 (детали см. в таблице). Это может означать либо то, что алгоритмы прошивки контроллера (с кешем и дисками) почти не учитывают специфику работы приложений подобного типа, либо то, что основная часть данных задач выполняется в кеш-памяти самого контроллера (а скорее всего мы наблюдаем комбинацию этих двух факторов). Впрочем, для последнего случая (то есть выполнения треков в большой мере в кеше RAID-коннтроллера) средняя производительность решений оказывается не такой уж высокой - сравните эти данные с результатами тестов некоторых «десктопных» («чипсетаных») 4-дисковых массивов RAID 0 и 5 и недорогих одиночных SSD на шине SATA 3 Гбит/с (см. обзор). Если по сравнению с простым «чипсетным» 4-дисковым RAID 0 (причем на вдвое более медленных винчестерах, чем примененные здесь Hitachi Ultrastar 15K600) массивы на LSI SAS9260 быстрее в тестах PCMark менее чем вдвое, то относительно даже не самого быстрого «бюджетного» одиночного SSD все они однозначно проигрывают! Результаты дискового теста PCMark05 дают аналогичную картину (см. табл .; рисовать отдельную диаграмму для них смысла нет).

Похожую картину (с отдельными оговорками) для массивов на LSI SAS9260 можно наблюдать в еще одном «трековом» бенчмарке приложений - C’T H2BenchW 4.13. Здесь лишь два наиболее медленных (по строению) массива (RAID 6 из 4 дисков и простое «зеркало») заметно отстают от всех остальных массивов, производительность которых, очевидно, достигает того «достаточного» уровня, когда она упирается уже не в дисковую подсистему, а в эффективность работы процессора SAS2108 c кеш-памятью контроллера при данных комплексных последовательностях обращений. А радовать нас в этом контексте может то, что производительность массивов на базе LSI SAS9260 в задачах такого класса почти не зависит от типа используемого массива (RAID 0, 5, 6 или 10), что позволяет использовать более надежные решения без ущерба для итоговой производительности.

Впрочем, «не все коту Масленица» - если мы изменим тесты и проверим работу массивов с реальными файлами на файловой системе NTFS, то картина кардинально изменится. Так, в тесте Intel NASPT 1.7, многие из «предустановленных» сценариев которого имеют достаточно прямое отношение к задачам, типичным для компьютеров, оснащенных контроллером LSI MegaRAID SAS9260-8i, диспозиция массивов похожа на ту, что мы наблюдали в тесте ATTO при чтении и записи крупных файлов - быстродействие пропорционально нарастает по мере роста «линейной» скорости массивов.

На этой диаграмме мы приводим усредненный по всем тестам и паттернам NASPT показатель, тогда как в таблице можно видеть детальные результаты. Подчеркну, что NASPT прогонялся нами как под Windows XP (так обычно поступают многочисленные обозреватели), так и под Windows 7 (что в силу определенных особенностей этого теста делается реже). Дело в том, что Seven (и ее «старший братец» Windows 2008 Server) используют более агрессивные алгоритмы собственного кеширования при работе с файлами, нежели XP. Кроме того, копирование крупных файлов в «Семерке» происходит преимущественно блоками по 1 Мбайт (XP, как правило, оперирует блоками по 64 Кбайт). Это приводит к тому, что результаты «файлового» теста Intel NASPT существенно различаются в Windows XP и Windows 7 - в последней они намного выше, порой более чем вдвое! К слову, мы сравнили результаты NASPT (и других тестов нашего пакета) под Windows 7 с 1 Гбайт и 2 Гбайт установленной системной памяти (есть информация, что при больших объемах системной памяти кеширование дисковых операций в Windows 7 усиливается и результаты NASPT становятся еще выше), однако в пределах погрешности измерений мы не нашли никакой разницы.

Споры о том, под какой ОС (в плане политик кеширования и пр.) «лучше» тестировать диски и RAID-контроллеры, мы оставляем для ветки обсуждений этой статьи. Мы же считаем, что тестировать накопители и решения на их основе надо в условиях, максимально приближенных к реальным ситуациям их эксплуатации. Именно поэтому равную ценность, на наш взгляд, имеют результаты, полученные нами для обеих ОС.

Но вернемся к диаграмме усредненной производительности в NASPT. Как видим, разница между самым быстрым и самым медленным из протестированных нами массивов здесь составляет в среднем чуть менее трех раз. Это, конечно, не пятикратный разрыв, как при чтении и записи крупны файлов, но тоже весьма ощутимо. Массивы расположились фактически пропорционально своей линейной скорости, и это не может не радовать: значит, процессор LSI SAS2108 достаточно шустро обрабатывает данные, почти не создавая узких мест при активной работе массивов уровней 5 и 6.

Справедливости ради нужно отметить, что и в NASPT есть паттерны (2 из 12), в которых наблюдается та же картина, что и в PCMark c H2BenchW, а именно что производительность всех протестированных массивов практически одинакова! Это Office Productivity и Dir Copy to NAS (см. табл.). Особенно явно это под Windows 7, хотя и для Windows XP тенденция «сближения» налицо (по сравнению с другими паттернами). Впрочем, и в PCMark c H2BenchW есть паттерны, где налицо рост производительности массивов пропорционально их линейной скорости. Так что все не так просто и однозначно, как может некоторым хотелось бы.

Поначалу я хотел обсудить диаграмму с общими показателями быстродействия массивов, усредненными по всем тестам приложений (PCMark+H2BenchW+NASPT+ATTO), то есть вот эту:

Однако обсуждать здесь особо нечего: мы видим, что поведение массивов на контроллере LSI SAS9260 в тестах, эмулирующих работу тех или иных приложений, может кардинально различаться в зависимости от применяемых сценариев. Поэтому выводы о пользе той или иной конфигурации лучше делать, исходя из того, какие именно задачи вы собираетесь при этом выполнять. И в этом нам может заметно помочь еще один профессиональный тест - синтетические паттерны для IOmeter, эмулирующие ту или иную нагрузку на систему хранения данных.

Тесты в IOmeter

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

Для эмуляции серверов типа File Server, Web Server и DataBase (сервер базы данных) мы воспользовались одноименными и хорошо известными паттернами, предложенными в свое время Intel и StorageReview.com. Для всех случаев мы протестировали массивы при глубине очереди команд (QD) от 1 до 256 с шагом 2.

В паттерне «База данных», использующих случайные обращения к диску блоками по 8 Кбайт в пределах всего объема массива, можно наблюдать существенное преимущество массивов без контроля четности (то есть RAID 0 и 1) при глубине очереди команд от 4 и выше, тогда как все массивы с контролем четности (RAID 5 и 6) демонстрируют очень близкое быстродействие (несмотря на двукратное различие между ними в скорости линейных обращений). Ситуация объясняется просто: все массивы с контролем четности показали в тестах на среднее время случайного доступа близкие значения (см. диаграмму выше), а именно этот параметр в основном определяет производительность в данном тесте. Интересно, что быстродействие всех массивов нарастает практически линейно с ростом глубины очереди команд вплоть до 128, и лишь при QD=256 для некоторых случаев можно видеть намек на насыщение. Максимальная производительность массивов с контролем четности при QD=256 составила около 1100 IOps (операций в секунду), то есть на обработку одной порции данных в 8 Кбайт процессор LSI SAS2108 тратит менее 1 мс (около 10 млн однобайтовых XOR-операций в секунду для RAID 6; разумеется, процессор при этом выполняет параллельно и другие задачи по вводу-выводу данных и работе с кеш-памятью).

В паттерне файлового сервера, использующего блоки разного размера при случайных обращениях чтения и записи к массиву в пределах всего его объема, мы наблюдаем похожую на DataBase картину с той разницей, что здесь пятидисковые массивы с контролем четности (RAID 5 и 6) заметно обходят по скорости свои 4-дисковые аналоги и демонстрируют при этом почти идентичную производительность (около 1200 IOps при QD=256)! Видимо, добавление пятого диска на второй из двух 4-канальных SAS-портов контроллера каким-то образом оптимизирует вычислительные нагрузки на процессор (за счет операций ввода-вывода?). Возможно, стоит сравнить по скорости 4-дисковые массивы, когда накопители попарно подключены к разным Mini-SAS-разъемам контроллера, чтобы выявить оптимальную конфигурацию для организации массивов на LSI SAS9260, но это уже задача для другой статьи.

В паттерне веб-сервера, где, по замыслу его создателей, отсутствуют как класс операции записи на диск (а значит, и вычисление XOR-функций на запись), картина становится еще интереснее. Дело в том, что все три пятидисковых массива из нашего набора (RAID 0, 5 и 6) показывают здесь идентичное быстродействие, несмотря на заметную разницу между ними по скорости линейного чтения и вычислений по контролю четности! К слову, эти же три массива, но из 4 дисков, также идентичны по скорости друг другу! И лишь RAID 1 (и 10) выпадает из общей картины. Почему так происходит, судить сложно. Возможно, контроллер имеет очень эффективные алгоритмы выборки «удачных дисков» (то есть тех из пяти или четырех дисков, с которых первыми приходят нужные данные), что в случае RAID 5 и 6 повышает вероятность более раннего поступления данных с пластин, заранее подготавливая процессор для нужных вычислений (вспомним про глубокую очередь команд и большой буфер DDR2-800). А это в итоге может скомпенсировать задержку, связанную с XOR-вычислениями и уравнивает их в «шансах» с «простым» RAID 0. В любом случае, контроллер LSI SAS9260 можно только похвалить за экстремально высокие результаты (около 1700 IOps для 5-дисковых массивов при QD=256) в паттерне Web Server для массивов с контролем четности. К сожалению, ложкой дегтя стала весьма низкая производительность двухдискового «зеркала» во всех этих серверных паттернах.

Паттерну Web Server вторит наш собственный паттерн, эмулирующий случайное чтение небольших (64 Кбайт) файлов в пределах всего пространства массива.

Снова результаты объединились в группы - все 5-дисковые массивы идентичны друг другу по скорости и лидируют в нашем «забеге», 4-дисковые RAID 0, 5 и 6 тоже не отличить друг от друга по производительности, и лишь «зеркалки» выпадают из общей массы (к слову, 4 дисковая «зеркалка», то есть RAID 10 оказывается быстрее всех остальных 4-дисковых массивов - видимо, за счет того же самого алгоритма «выбора удачного диска»). Подчеркнем, что данные закономерности справедливы лишь для большой глубины очереди команд, тогда как при малой очереди (QD=1-2) ситуация и лидеры могут быть совсем иными.

Все меняется при работе серверов с крупными файлами. В условиях современного «потяжелевшего» контента и новых «оптимизированных» ОС типа Windows 7, 2008 Server т.п. работа с мегабайтными файлами и блоками данных по 1 Мбайт приобретает все более важное значение. В этой ситуации наш новый паттерн, эмулирующий случайное чтение 1-мегабайтных файлов в пределах всего диска (детали новых паттернов будут описаны в отдельной статье по методике), оказывается как нельзя кстати, чтобы более полно оценить серверный потенциал контроллера LSI SAS9260.

Как видим, 4-дисковое «зеркало» здесь уже никому не оставляет надежд на лидерство, явно доминируя при любой очереди команд. Его производительность также сначала растет линейно с ростом глубины очереди команд, однако при QD=16 для RAID 1 она выходит на насыщение (скорость около 200 Мбайт/с). Чуть «позже» (при QD=32) «насыщение» производительности наступает у более медленных в этом тесте массивов, среди которых «серебро» и «бронзу» приходится отдать RAID 0, а массивы с контролем четности оказываются в аутсайдерах, уступив даже прежде не блиставшему RAID 1 из двух дисков, который оказывается неожиданно хорош. Это приводит нас к выводу, что даже при чтении вычислительная XOR-нагрузка на процессор LSI SAS2108 при работе с крупными файлами и блоками (расположенными случайным образом) оказывается для него весьма обременительна, а для RAID 6, где она фактически удваивается, порой даже непомерна - производительность решений едва превышает 100 Мбайт/с, то есть в 6-8 раз ниже, чем при линейном чтении! «Избыточный» RAID 10 здесь применять явно выгоднее.

При случайной записи мелких файлов картина снова разительно отличается от тех, что мы видели ранее.

Дело в том, что здесь уже производительность массивов практически не зависит от глубины очереди команд (очевидно, сказывается огромный кеш контроллера LSI SAS9260 и немаленькие кеши самих винчестеров), зато кардинально меняется с типом массива! В безоговорочных лидерах тут «простенькие» для процессора RAID 0, а «бронза» с более чем двукратным проигрышем лидеру - у RAID 10. Все массивы с контролем четности образовали очень тесную единую группу с двухдисковой зеркалкой (детали по ним приведены на отдельной диаграмме под основной), троекратно проигрывая лидерам. Да, это, безусловно, тяжелая нагрузка на процессор контроллера. Однако такого «провала» я, откровенно говоря, от SAS2108 не ожидал. Порой даже софтовый RAID 5 на «чипсетом» SATA-контроллере (с кешированием средствами Windows и обсчетом при помощи центрального процессора ПК) способен работать шустрее… Впрочем, «свои» 440-500 IOps контроллер при этом все-таки выдает стабильно - сравните это с диаграммой по среднему времени доступа при записи в начале раздела результатов.

Переход на случайную запись крупных файлов по 1 Мбайт приводит к росту абсолютных показателей скорости (для RAID 0 - почти до значений при случайном чтении таких файлов, то есть 180-190 Мбайт/с), однако общая картина почти не меняется - массивы с контролем четности в разы медленнее RAID 0.

Любопытна картина для RAID 10 - его производительность падает с ростом глубины очереди команд, хотя и не сильно. Для остальных массивов такого эффекта нет. Двухдискове «зеркало» здесь снова выглядит скромно.

Теперь посмотрим на паттерны, в которых файлы в равных количествах читаются и пишутся на диск. Такие нагрузки характерны, в частности, для некоторых видеосерверов или при активном копировании/дуплицировании/резервировании файлов в пределах одного массива, а также в случае дефрагментации.

Сначала - файлы по 64 Кбайт случайным образом по всему массиву.

Здесь очевидно некоторое сходство с результатами паттерна DataBase, хотя абслютные скорости у массивов раза в три повыше, да и при QD=256 уже заметно некоторое насыщение производительности. Больший (по сравнению с паттерном DataBase) процент операций записи в этом случае приводит к тому, что массивы с контролем четности и двухдисковое «зеркало» становятся явными аутсайдерами, существенно уступая по скорости массивам RAID 0 и 10.

При переходе на файлы по 1 Мбайт данная закономерность в целом сохраняется, хотя абсолютные скорости примерно утраиваются, а RAID 10 становится таким же быстрым, как 4-дисковый «страйп», что не может не радовать.

Последним паттерном в этой статье будет случай последовательного (в противовес случайным) чтения и записи крупных файлов.

И тут уже многим массивам удается разогнаться до весьма приличных скоростей в районе 300 Мбайт/с. И хотя более чем двукратный разрыв между лидером (RAID 0) и аутсайдером (двухдисковый RAID 1) сохраняется (заметим, что при линейном чтении ИЛИ записи этот разрыв пятикратен!), вошедший в тройку лидеров RAID 5, да и подтянувшиеся остальные XOR-массивы не могут не обнадеживать. Ведь если судить по тому перечню применений данного контроллера, который приводит сама LSI (см. начало статьи), многие целевые задачи будут использовать именно данный характер обращений к массивам. И это определенно стоит учитывать.

В заключение приведу итоговую диаграмму, в которой усреднены показатели всех озвученных выше паттернов теста IOmeter (геометрически по всем паттернам и очередям команд, без весовых коэффициентов). Любопытно, что если усреднение данных результатов внутри каждого паттерна проводить арифметически с весовыми коэффициентами 0,8, 0,6, 0,4 и 0,2 для очередей команд 32, 64, 128 и 256 соответственно (что условно учитывает падение доли операций с высокой глубиной очереди команд в общей работе накопителей), то итоговый (по всем паттернам) нормированный индекс быстродействия массивов в пределах 1% совпадет со средним геометрическим.

Итак, средняя «температура по больнице» в наших паттернах для теста IOmeter показывает, что от «физики с матемачихой» никуда не уйти - однозначно лидируют RAID 0 и 10. Для массивов с контролем четности чуда не произошло - процессор LSI SAS2108 хоть и демонстрирует в некоторых случаях приличную производительность, в целом не может «дотянуть» такие массивы до уровня простого «страйпа». При этом интересно, что 5-дисковые конфигурации явно прибавляют по сравнению с 4 дисковыми. В частности, 5-дисквый RAID 6 однозначно быстрее 4-дискового RAID 5, хотя по «физике» (времени случайного доступа и скорости линейного доступа) они фактически идентичны. Также огорчило двухдисковое «зеркало» (в среднем оно равноценно 4-дисковому RAID 6, хотя для зеркала двух XOR-вычислений на каждый бит данных не требуется). Впрочем, простое «зеркало» - это очевидно не целевой массив для достаточно мощного 8-портового SAS-контроллера с большим кешем и мощным процессором «на борту». :)

Ценовая информация

8-портовый SAS-контроллер LSI MegaRAID SAS 9260-8i с полным комплектом предлагается по цене в районе 500 долларов, что можно считать достаточно привлекательным. Его упрощенный 4-портовый аналог еще дешевле. Более точная текущая средняя розничная цена устройства в Москве, актуальная на момент чтения вами данной статьи:

LSI SAS 9260-8i LSI SAS 9260-4i
$571() $386()

Заключение

Суммируя сказано выше, можно заключить, что единых рекомендаций «для всех» по 8-портовому контроллеру LSI MegaRAID SAS9260-8i мы давать не рискнем. О необходимости его использования и конфигурирования тех или иных массивов с его помощью каждый должен делать выводы самостоятельно - строго исходя из того класса задач, которые предполагается при этом запускать. Дело в том, что в одних случаях (на одних задачах) этот недорогой «мегамонстр» способен показать выдающуюся производительность даже на массивах с двойным контролем четности (RAID 6 и 60), однако в других ситуациях скорость его RAID 5 и 6 явно оставляет желать лучшего. И спасением (почти универсальным) станет лишь массив RAID 10, который почти с тем же успехом можно организовать и на более дешевых контроллерах. Впрочем, нередко именно благодаря процессору и кеш-памяти SAS9260-8i массив RAID 10 ведет себя здесь ничуть не медленнее «страйпа» из того же числа дисков, обеспечивая при этом высокую надежность решения. А вот чего однозначно стоит избегать с SAS9260-8i, так это двухдисковой «зеркалки» и 4-дисковых RAID 6 и 5 - для данного контроллера это очевидно неоптимальные конфигурации.

Благодарим компанию Hitachi Global Storage Technologies
за предоставленные для тестов жесткие диски.

Коротко о современных RAID-контроллерах

В настоящее время RAID-контроллеры как отдельное решение ориентированы исключительно на специализированный серверный сегмент рынка. Действительно, все современные материнские платы для пользовательских ПК (не серверные платы) имеют интегрированные программно-аппаратные SATA RAID-контроллеры, возможностей которых с избытком хватает для пользователей ПК. Правда, нужно иметь в виду, что эти контроллеры ориентированы исключительно на использование операционной системы Windows. В операционных системах семейства Linux RAID-массивы создаются программным методом, и все расчеты переносятся с RAID-контроллера на центральный процессор.

В серверах традиционно применяются либо программно-аппаратные, либо чисто аппаратные RAID-контроллеры. Аппаратный RAID-контроллер позволяет создавать и обслуживать RAID-массив без участия операционной системы и центрального процессора. Такие RAID-массивы видятся операционной системой как один диск (SCSI-диск). При этом никакого специализированного драйвера не нужно - используется стандартный (входящий в состав операционной системы) драйвер SCSI-диска. В этом плане аппаратные контроллеры являются платформенно-независимыми, а настройка RAID-массива производится через BIOS контроллера. Аппаратный RAID-контроллер не задействует центральный процессор при расчете всех контрольных сумм и т.п., поскольку для расчетов применяет свой специализированный процессор и оперативную память.

Программно­аппаратные контроллеры требуют обязательного наличия специализированного драйвера, который подменяет собой стандартный драйвер SCSI-диска. Кроме того, программно-аппаратные контроллеры комплектуются утилитами управления. В этом плане программно-аппартные контроллеры привязаны к конкретной операционной системе. Все необходимые расчеты в этом случае также выполняются процессором самого RAID-контроллера, но использование программного драйвера и утилиты управления позволяет управлять контроллером через операционную систему, а не только через BIOS контроллера.

Учитывая тот факт, что на смену серверным SCSI-дискам уже пришли SAS-диски, все современные серверные RAID-контроллеры ориентированы на поддержку либо SAS-, либо SATA-дисков, которые также применяются в серверах.

В прошлом году на рынке начали появляться диски с новым интерфейсом SATA 3 (SATA 6 Гбит/с), который стал постепенно вытеснять интерфейс SATA 2 (SATA 3Гбит/с). Ну а на смену дискам с интерфейсом SAS (3 Гбит/с) пришли диски с интерфейсом SAS 2.0 (6 Гбит/с). Естественно, новый стандарт SAS 2.0 полностью совместим со старым стандартом.

Соответственно появились RAID-контроллеры с поддержкой стандарта SAS 2.0. Казалось бы, какой смысл переходить к стандарту SAS 2.0, если даже самые скоростные SAS-диски имеют скорость чтения и записи данных не выше 200 Мбайт/с и для них вполне достаточно пропускной способности протокола SAS (3 Гбит/с или 300 Мбайт/с)?

Действительно, когда каждый диск подключается к отдельному порту на RAID-контроллере, пропускной способности 3 Гбит/с (что в теории составляет 300 Мбайт/с) вполне достаточно. Однако к каждому порту RAID-контроллера могут подключаться не только отдельные диски, но и дисковые массивы (дисковые корзины). В этом случае один SAS-канал делят между собой сразу несколько накопителей, и пропускной способности в 3 Гбит/с будет уже недостаточно. Ну и, кроме того, нужно учитывать наличие SSD-дисков, скорость чтения и записи которых уже преодолела планку в 300 Мбайт/с. К примеру, в новом диске Intel SSD 510 скорость последовательного чтения составляет до 500 Мбайт/с, а скорость последовательной записи - до 315 Мбайт/с.

После краткого знакомства с текущей ситуацией на рынке серверных RAID-контроллеров давайте рассмотрим характеристики контроллера LSI 3ware SAS 9750-8i.

Характеристики RAID-контроллера 3ware SAS 9750-8i

Данный RAID-контроллер выполнен на базе специализированного XOR-процессора LSI SAS2108 с тактовой частотой 800 МГц и архитектурой PowerPC. Этот процессор использует 512 Мбайт оперативной памяти DDRII 800 МГц с коррекцией ошибок (ECC).

Контроллер LSI 3ware SAS 9750-8i совместим с SATA- и SAS-дисками (поддерживаются как HDD-, так и SSD-диски) и позволяет подключать до 96 устройств с помощью SAS-экспандеров. Немаловажно, что данный контроллер поддерживает диски с интерфейсом SATA 600 Мбайт/с (SATA III) и SAS 2.

Для подключения дисков на контроллере предусмотрено восемь портов, которые физически объединены в два разъема Mini-SAS SFF-8087 (по четыре порта в каждом разъеме). То есть если диски подключать напрямую к портам, то всего можно подключить к контроллеру восемь дисков, а при подключении к каждому порту дисковых корзин общий объем дисков может быть увеличен до 96. Каждый из восьми портов контроллера имеет пропускную способность 6 Гбит/с, что соответствует стандартам SAS 2 и SATA III.

Естественно, при подключении дисков или дисковых корзин к этому контроллеру потребуются специализированные кабели, которые c одного конца имеют внутренний разъем Mini-SAS SFF-8087, а на другом конце - разъем, который зависит от того, что именно подключается к контроллеру. К примеру, при подключении к контроллеру напрямую SAS-дисков необходимо использовать кабель, у которого с одной стороны разъем Mini-SAS SFF-8087, а с другой - четыре разъема SFF 8484, которые позволяют непосредственно подключать SAS-диски. Отметим, что сами кабели не входят в комплект поставки и приобретаются отдельно.

У контроллера LSI 3ware SAS 9750-8i есть интерфейс PCI Express 2.0 x8, что обеспечивает пропускную способность 64 Гбит/с (по 32 Гбит/с в каждом направлении). Понятно, что такой пропускной способности вполне достаточно для полностью загруженных восьми портов SAS с пропускной способностью 6 Гбит/с каждый. Также отметим, что на контроллере имеется специальный разъем, в который опционально можно подключить батарею резервного питания LSIiBBU07.

Немаловажно, что данный контроллер требует инсталляции драйвера, то есть является программно-аппаратным RAID-контроллером. При этом поддерживаются такие операционные системы, как Windows Vista, Windows Server 2008, Windows Server 2003 x64, Windows 7, Windows 2003 Server, MAC OS X, LinuxFedora Core 11, Red Hat Enterprise Linux 5.4, OpenSuSE 11.1, SuSE Linux Enterprise Server (SLES) 11, OpenSolaris 2009.06, VMware ESX/ESXi 4.0/4.0 update-1 и другие системы семейства Linux. В комплект поставки также входит программное обеспечение 3ware Disk Manager 2, которое позволяет управлять RAID-массивами через операционную систему.

Контроллер LSI 3ware SAS 9750-8i поддерживает стандартные типы RAID-массивов: RAID 0, 1, 5, 6, 10 и 50. Пожалуй, единственный тип массива, который не поддерживается, - RAID 60. Это связано с тем, что данный контроллер способен создать массив RAID 6 только на пяти дисках, подключаемых напрямую к каждому порту контроллера (теоретически RAID 6 может быть создан на четырех дисках). Соответственно для массива RAID 60 данному контроллеру требуется минимум десять дисков, которых просто нет.

Понятно, что поддержка массива RAID 1 неактуальна для такого контроллера, поскольку данный тип массива создается только на двух дисках, а использовать такой контроллер только для двух дисков нелогично и крайне расточительно. А вот поддержка массивов RAID 0, 5, 6, 10 и 50 весьма актуальна. Хотя, возможно, с массивом RAID 0 мы и поторопились. Всё же этот массив не обладает избыточностью, а соответственно не обеспечивает надежности хранения данных, поэтому в серверах он используется крайне редко. Однако теоретически этот массив является самым быстрым по скорости чтения и записи данных. Впрочем, давайте вспомним, чем разные типы RAID-массивов отличаются друг от друга и что они собой представляют.

Уровни RAID-массивов

Термин «RAID-массив» появился в 1987 году, когда американские исследователи Паттерсон, Гибсон и Катц из Калифорнийского университета в Беркли в своей статье «Избыточный массив недорогих дисков» (“A case for redundant arrays of inexpensive discs, RAID”) описали, каким образом можно объединить несколько дешевых жестких дисков в одно логическое устройство так, чтобы в результате повышались емкость и быстродействие системы, а отказ отдельных дисков не приводил к отказу всей системы. С момента выхода этой статьи прошло уже почти 25 лет, но технология построения RAID-массивов не утратила актуальности и сегодня. Единственное, что изменилось с тех пор, - это расшифровка аббревиатуры RAID. Дело в том, что первоначально RAID-массивы строились вовсе не на дешевых дисках, поэтому слово Inexpensive («недорогие») поменяли на Independent («независимые»), что больше соответствовало действительности.

Отказоустойчивость в RAID-массивах достигается за счет избыточности, то есть часть емкости дискового пространства отводится для служебных целей, становясь недоступной для пользователя.

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

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

Следует отметить, что модель с параллельным доступом реализуется только при условии, что размер запроса на запись данных больше размера самого блока. В противном случае осуществлять параллельную запись нескольких блоков практически невозможно. Представим ситуацию, когда размер отдельного блока составляет 8 Кбайт, а размер запроса на запись данных - 64 Кбайт. В этом случае исходная информация нарезается на восемь блоков по 8 Кбайт каждый. Если имеется массив из четырех дисков, то одновременно можно записать четыре блока, или 32 Кбайт, за один раз. Очевидно, что в рассмотренном примере скорость записи и скорость считывания окажутся в четыре раза выше, чем при использовании одного диска. Это справедливо лишь для идеальной ситуации, однако размер запроса далеко не всегда кратен размеру блока и количеству дисков в массиве.

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

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

В настоящее время существует несколько RAID-уровней, которые широко используются, - это RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 и RAID 60. Ранее также применялись уровни RAID 2, RAID 3 и RAID 4, однако в настоящее время эти уровни RAID не используются и современные RAID-контроллеры их не поддерживают. Отметим, что все современные RAID-контроллеры поддерживают также функцию JBOD (Just a Bench Of Disks). В данном случае речь идет не о RAID-массиве, а просто о подключении отдельных дисков к RAID-контроллеру.

RAID 0

RAID 0, или страйпинг (striping), - это, строго говоря, не RAID-массив, поскольку такой массив не имеет избыточности и не обеспечивает надежности хранения данных. Однако исторически его тоже называют RAID-массивом. Массив RAID 0 (рис. 1) может строиться на двух и более дисках и используется в том случае, когда необходимо обеспечить высокую производительность дисковой подсистемы, а надежность хранения данных некритична. При создании массива RAID 0 информация разбивается на блоки (эти блоки называют страйпами (stripe)), которые одновременно записываются на отдельные диски, то есть создается система с параллельным доступом (если, конечно, позволяет размер блока). Благодаря возможности одновременного ввода­вывода с нескольких дисков, RAID 0 обеспечивает максимальную скорость передачи данных и максимальную эффективность использования дискового пространства, поскольку не требуется места для хранения контрольных сумм. Реализация этого уровня очень проста. В основном RAID 0 применяется в тех областях, где требуется быстрая передача большого объема данных.

Рис. 1. Массив RAID 0

Теоретически прирост скорости чтения и записи должен быть кратен количеству дисков в массиве.

Надежность массива RAID 0 заведомо ниже надежности любого из дисков в отдельности и снижается с увеличением количества входящих в массив дисков, так как отказ любого из них приводит к неработоспособности всего массива. Если время наработки на отказ каждого диска составляет MTTF disk , то время наработки на отказ массива RAID 0, состоящего из n дисков, равно:

MTTF RAID0 = MTTD disk /n.

Если обозначить вероятность выхода из строя за определенный промежуток времени одного диска через p , то для массива RAID 0 из n дисков вероятность того, что хотя бы один диск выйдет из строя (вероятность падения массива), составит:

Р (падение массива) = 1 – (1 – р) n .

К примеру, если вероятность выхода из строя одного диска в течение трех лет эксплуатации составляет 5%, то вероятность падения массива RAID 0 из двух дисков равна уже 9,75%, а из восьми дисков - 33,7%.

RAID 1

Массив RAID 1 (рис. 2), который также называют зеркалом (mirror), - это массив из двух дисков со 100-процентной избыточностью. То есть данные полностью дублируются (зеркалируются), за счет чего достигается очень высокий уровень надежности (как, впрочем, и стоимости). Отметим, что для реализации RAID 1 не требуется предварительно разбивать диски и данные на блоки. В простейшем случае два диска содержат одинаковую информацию и являются одним логическим диском. При выходе из строя одного диска его функции выполняет другой (что абсолютно прозрачно для пользователя). Восстановление массива выполняется простым копированием. Кроме того, теоретически в массиве RAID 1 должна удваиваться скорость считывания информации, так как эта операция может выполняться одновременно с двух дисков. Подобная схема хранения информации используется в основном в тех случаях, когда цена безопасности данных гораздо выше стоимости реализации системы хранения.

Рис. 2. Массив RAID 1

Если, как в предыдущем случае, обозначить вероятность выхода из строя за определенный промежуток времени одного диска через p , то для массива RAID 1 вероятность того, что оба диска выйдут из строя одновременно (вероятность падения массива), составит:

Р (падение массива) = р 2 .

К примеру, если вероятность выхода из строя одного диска в течение трех лет эксплуатации составляет 5%, то вероятность одновременного выхода из строя двух дисков равна уже 0,25%.

RAID 5

Массив RAID 5 (рис. 3) - это отказоустойчивый дисковый массив с распределенным хранением контрольных сумм. При записи поток данных разбивается на блоки (страйпы) на уровне байтов, которые одновременно записываются на все диски массива в циклическом порядке.

Рис. 3. Массив RAID 5

Предположим, что массив содержит n дисков, а размер страйпа - d . Для каждой порции из n –1 страйпов рассчитывается контрольная сумма p .

Cтрайп d 1 записывается на первый диск, страйп d 2 - на второй и так далее вплоть до страйпа d n –1, который записывается на (n–1)-й диск. Далее на n-й диск записывается контрольная сумма p n , и процесс циклически повторяется с первого диска, на который записывается страйп d n .

Процесс записи (n –1) страйпов и их контрольной суммы производится одновременно на все n дисков.

Для вычисления контрольной суммы используется поразрядная операция «исключающего ИЛИ» (XOR), применяемая к записываемым блокам данных. Так, если имеется n жестких дисков и d - блок данных (страйп), то контрольная сумма рассчитывается по следующей формуле:

p n = d 1 d 2 ⊕ ... d n–1 .

В случае выхода из строя любого диска данные на нем можно восстановить по контрольным данным и по данным, оставшимся на исправных дисках. Действительно, воспользовавшись тождествами (a b) A b = a и a a = 0 , получим, что:

p n ⊕ (d k p n) = d l d n ⊕ ...⊕ ...⊕ d n–l ⊕ (d k p n).

d k = d 1 d n ⊕ ...⊕ d k–1 d k+1 ⊕ ...⊕ p n .

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

В случае RAID 5 все диски массива должны иметь одинаковый размер, однако общая емкость дисковой подсистемы, доступной для записи, становится меньше ровно на один диск. Например, если пять дисков имеют размер 100 Гбайт, то фактический размер массива составляет 400 Гбайт, поскольку 100 Гбайт отводится на контрольную информацию.

Массив RAID 5 может быть построен на трех и более жестких дисках. С увеличением количества жестких дисков в массиве его избыточность уменьшается. Отметим также, что массив RAID 5 может быть восстановлен при выходе из строя только одного диска. Если же одновременно выходят из строя два диска (или если второй диск выходит из строя в процессе восстановления массива), то массив не подлежит восстановлению.

RAID 6

Массив RAID 5, как было показано, может быть восстановлен при выходе из строя одного диска. Однако иногда требуется обеспечить более высокий уровень надежности, чем в массиве RAID 5. В этом случае можно использовать массив RAID 6 (рис. 4), который позволяет восстановить массив даже при выходе из строя одновременно двух дисков.

Рис. 4. Массив RAID 6

Массив RAID 6 похож на RAID 5, но в нем применяется не одна, а две контрольные суммы, которые циклически распределяются по дискам. Первая контрольная сумма p рассчитывается по тому же алгоритму, что и в массиве RAID 5, то есть это операция XOR между блоками данных, записываемыми на разные диски:

p n = d 1 d2 ⊕ ...⊕ d n–1 .

Вторая контрольная сумма рассчитывается уже по другому алгоритму. Не вдаваясь в математические подробности, скажем, что это также операция XOR между блоками данных, но каждый блок данных предварительно умножается на полиномиальный коэффициент:

q n = g 1 d 1 g 2 d 2 ⊕ ...⊕ g n–1 d n–1 .

Соответственно под контрольные суммы выделяется емкость двух дисков в массиве. Теоретически массив RAID 6 может быть создан на четырех и более дисках, однако во многих контроллерах он может быть создан минимум на пяти дисках.

Нужно иметь в виду, что производительность массива RAID 6, как правило, на 10-15% ниже производительности массива RAID 5 (при равном количестве дисков), что вызвано большим объемом расчетов, выполняемых контроллером (необходимо рассчитывать вторую контрольную сумму, а также считывать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 10

Массив RAID 10 (рис. 5) представляет собой сочетание уровней 0 и 1. Минимально для этого уровня требуются четыре диска. В массиве RAID 10 из четырех дисков они попарно объединяются в массивы RAID 1, а оба эти массива как логические диски объединяются в массив RAID 0. Возможен и другой подход: первоначально диски объединяются в массивы RAID 0, а затем логические диски на основе этих массивов - в массив RAID 1.

Рис. 5. Массив RAID 10

RAID 50

Массив RAID 50 представляет собой сочетание уровней 0 и 5 (рис. 6). Минимально для этого уровня требуется шесть дисков. В массиве RAID 50 сначала создаются два массива RAID 5 (минимум по три диска в каждом), которые потом как логические диски объединяются в массив RAID 0.

Рис. 6. Массив RAID 50

Методика тестирования контроллера LSI 3ware SAS 9750-8i

Для тестирования RAID-контроллера LSI 3ware SAS 9750-8i мы использовали специализированный тестовый пакет IOmeter 1.1.0 (версия от 2010.12.02). Тестовый стенд имел следующую конфигурацию:

  • процессор - Intel Core i7-990 (Gulftown);
  • системная плата - GIGABYTE GA-EX58-UD4;
  • память - DDR3-1066 (3 Гбайт, трехканальный режим работы);
  • системный диск - WD Caviar SE16 WD3200AAKS;
  • видеокарта - GIGABYTE GeForce GTX480 SOC;
  • RAID-контроллер - LSI 3ware SAS 9750-8i;
  • SAS-диски, подключаемые к RAID-контроллеру, - Seagate Cheetah 15K.7 ST3300657SS.

Тестирование проводилось под управлением операционной системы Microsoft Windows 7 Ultimate (32-bit).

Мы использовали Windows-драйвер RAID-контроллера версии 5.12.00.007, а также обновили прошивку контроллера до версии 5.12.00.007.

Системный диск подключался к SATA, реализованному через контроллер, интегрированный в южный мост чипсета Intel X58, a SAS-диски подключались напрямую к портам RAID-контроллера с использованием двух кабелей Mini-SAS SFF-8087 ->4 SAS.

RAID-контроллер устанавливался в разъем PCI Express x8 на системной плате.

Контроллер тестировался со следующими RAID-массивами: RAID 0, RAID 1, RAID 5, RAID 6, RAID 10 и RAID 50. Количество дисков, объединяемых в RAID-массив, варьировалось для каждого типа массива от минимального значения до восьми.

Размер страйпа на всех RAID-массивах не изменялся и составлял 256 Кбайт.

Напомним, что пакет IOmeter позволяет работать как с дисками, на которых создан логический раздел, так и с дисками без логического раздела. В случае если проводится тестирование диска без созданного на нем логического раздела, то IOmeter работает на уровне логических блоков данных, то есть вместо операционной системы передает команды контроллеру на запись или чтение LBA-блоков.

Если на диске создан логический раздел, то первоначально утилита IOmeter создает на диске файл, который по умолчанию занимает весь логический раздел (в принципе, размер этого файла можно изменять, указав его в количестве 512 байтных секторов), и далее уже работает с этим файлом, то есть считывает или записывает (перезаписывает) отдельные LBA-блоки в пределах этого файла. Но опять-таки IOmeter работает в обход операционной системы, то есть непосредственно посылает запросы контроллеру на чтение/запись данных.

Вообще, при тестировании HDD-дисков, как показывает практика, разницы между результатами тестирования диска с созданным логическим разделом и без него практически нет. В то же время мы считаем, что более корректно проводить тестирование без созданного логического раздела, поскольку в таком случае результаты тестов не зависят от используемой файловой системы (NTFA, FAT, ext и т.д.). Именно поэтому мы выполняли тестирование без создания логических разделов.

Кроме того, утилита IOmeter позволяет задавать размер блока запроса (Transfer Request Size) на запись/чтение данных, а тест можно проводить как для последовательных (Sequential) чтения и записи, когда LBA-блоки считываются и записываются последовательно друг за другом, так и для случайных (Random), когда LBA-блоки считываются и записываются в произвольном порядке. При формировании сценария нагрузки можно задавать время теста, процентное соотношение между последовательными и случайными операциями (Percent Random/Sequential Distribution), а также процентное соотношение между операциями чтения и записи (Percent Read/Write Distribution). Кроме того, утилита IOmeter позволяет автоматизировать весь процесс тестирования и сохраняет все результаты в CSV-файл, который затем легко экспортируется в таблицу Excel.

Еще одна настройка, которую позволяет делать утилита IOmeter, - это так называемое выравнивание блоков запросов на передачу данных (Align I/Os on) по границам секторов жесткого диска. По умолчанию IOmeter выравнивает блоки запросов по границам 512-байтных секторов диска, однако можно задать и произвольное выравнивание. Собственно, большинство жестких дисков имеют размер сектора 512 байт и только в последнее время стали появляться диски с размером сектора 4 Кбайт. Напомним, что в HDD-дисках сектор - это минимальный адресуемый размер данных, который можно записать или считать с диска.

При проведении тестирования необходимо устанавливать выравнивание блоков запросов на передачу данных по размеру сектора диска. Поскольку в дисках Seagate Cheetah 15K.7 ST3300657SS размер сектора составляет 512 байт, мы использовали выравнивание по границам 512-байтных секторов.

С помощью тестового пакета IOmeter мы измеряли скорость последовательного чтения и записи, а также скорость случайного чтения и записи созданного RAID-массива. Размеры блоков передаваемых данных составляли 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 и 1024 Кбайт.

В перечисленных сценариях нагрузки время теста с каждым запросом на передачу блока данных составляло 5 мин. Также отметим, что во всех перечисленных тестах мы задавали в настройках IOmeter глубину очереди задачи (# of Outstanding I/Os) равной 4, что типично для пользовательских приложений.

Результаты тестирования

Проанализировав результаты тестирования, мы были удивлены работой RAID-контроллера LSI 3ware SAS 9750-8i. Причем настолько, что стали просматривать наши скрипты на предмет выявления в них ошибки, а потом многократно повторили тестирование с другими настройками RAID-контроллера. Мы меняли размер страйпа и режим работы кэша RAID-контроллера. Это, конечно же, отражалось на результатах, однако не меняло общего характера зависимости скорости передачи данных от размера блока данных. А эту зависимость мы как раз и не смогли объяснить. Работа данного контроллера представляется нам совершенно нелогичной. Во­первых, результаты нестабильны, то есть при каждом фиксированном размере блока данных скорость периодически изменяется и усредненный результат имеет большую погрешность. Отметим, что обычно результаты тестирования дисков и контроллеров с использованием утилиты IOmeter стабильны и различаются весьма незначительно.

Во­вторых, при увеличении размера блока скорость передачи данных должна возрастать или оставаться неизменной в режиме насыщения (когда скорость достигает своего максимального значения). Однако в случае контроллера LSI 3ware SAS 9750-8i при некоторых размерах блоков наблюдается резкое падение скорости передачи данных. Кроме того, для нас так и осталось загадкой, почему при одном и том же количестве дисков для массивов RAID 5 и RAID 6 скорость записи выше скорости чтения. Одним словом, объяснить работу контроллера LSI 3ware SAS 9750-8i мы не можем - остается лишь констатировать факты.

Результаты тестирования можно классифицировать по-разному. К примеру, по сценариям загрузки, когда для каждого типа загрузки приводятся результаты для всех возможных RAID-массивов с разным количеством подключенных дисков, или по типам RAID-массивов, когда для каждого типа RAID-массива указываются результаты с различным количеством дисков в сценариях последовательного чтения, последовательной записи, случайного чтения и случайной записи. Также можно классифицировать результаты по количеству дисков в массиве, когда для каждого количества подключенных к контроллеру дисков приводятся результаты для всех возможных (при данном количестве дисков) RAID-массивов в сценариях последовательного чтения и последовательной записи, случайного чтения и случайной записи.

Мы решили классифицировать результаты по типам массивов, поскольку, на наш взгляд, несмотря на довольно большое количество графиков, такое их представление более наглядно.

RAID 0

Массив RAID 0 можно создать с количеством дисков от двух до восьми. Результаты тестирования для массива RAID 0 представлены на рис. 7-15.

Рис. 7. Скорость последовательного чтения и записи
при восьми дисках в массиве RAID 0

Рис. 8. Скорость последовательного чтения и записи
при семи дисках в массиве RAID 0

Рис. 9. Скорость последовательного чтения
и записи при шести дисках в массиве RAID 0

Рис. 10. Скорость последовательного чтения и записи
при пяти дисках в массиве RAID 0

Рис. 11. Скорость последовательного чтения и записи
при четырех дисках в массиве RAID 0

Рис. 12. Скорость последовательного чтения и записи
при трех дисках в массиве RAID 0

Рис. 13. Скорость последовательного чтения и записи
при двух дисках в массиве RAID 0

Рис. 14. Скорость случайного чтения
в массиве RAID 0

Рис. 15. Скорость случайной записи в массиве RAID 0

Понятно, что наиболее высокая скорость последовательного чтения и записи в массиве RAID 0 достигается при восьми дисках. Стоит обратить внимание на то, что при восьми и семи дисках в массиве RAID 0 скорости последовательного чтения и записи практически совпадают друг с другом и при меньшем количестве дисков скорость последовательной записи становится выше скорости чтения.

Нельзя не отметить и характерные провалы в скорости последовательного чтения и записи при определенных размерах блоков. К примеру, при восьми и шести дисках в массиве такие провалы наблюдаются при размере блоков данных 1 и 64 Кбайт, а при семи дисках - при размере 1, 2 и 128 Кбайт. Аналогичные провалы, но при других размерах блоков данных имеются и при четырех, трех и двух дисках в массиве.

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

Случайный доступ в массиве RAID 0 тоже довольно интересен. Скорость случайного чтения при каждом размере блока данных пропорциональна количеству дисков в массиве, что вполне логично. Причем при размере блока 512 Кбайт при любом количестве дисков в массиве наблюдается характерный провал по скорости случайного чтения.

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

По скорости случайной записи массив RAID 0 превосходит все остальные возможные массивы в конфигурациях с восемью, семью, шестью, пятью, четырьмя, тремя и двумя дисками. А вот по скорости случайного чтения в конфигурации с восемью дисками массив RAID 0 уступает массивам RAID 10 и RAID 50, но в конфигурации с меньшим количеством дисков массив RAID 0 лидирует по скорости случайного чтения.

RAID 5

Массив RAID 5 можно создать с количеством дисков от трех до восьми. Результаты тестирования для массива RAID 5 представлены на рис. 16-23.

Рис. 16. Скорость последовательного чтения и записи
при восьми дисках в массиве RAID 5

Рис. 17. Скорость последовательного чтения и записи
при семи дисках в массиве RAID 5

Рис. 18. Скорость последовательного чтения и записи
при шести дисках в массиве RAID 5

Рис. 19. Скорость последовательного чтения и записи
при пяти дисках в массиве RAID 5

Рис. 20. Скорость последовательного чтения и записи
при четырех дисках в массиве RAID 5

Рис. 21. Скорость последовательного чтения и записи
при трех дисках в массиве RAID 5

Рис. 22. Скорость случайного чтения
в массиве RAID 5

Рис. 23. Скорость случайной записи
в массиве RAID 5

Понятно, что наиболее высокая скорость чтения и записи достигается при восьми дисках. Стоит обратить внимание на то, что для массива RAID 5 скорость последовательной записи в среднем выше, чем скорость чтения. Однако при определенном размере запроса скорость последовательного чтения может превышать скорость последовательной записи.

Нельзя не отметить и характерные провалы по скорости последовательного чтения и записи при определенных размерах блоков при любом количестве дисков в массиве.

По скорости последовательного чтения и записи в конфигурации с восемью дисками массив RAID 5 уступает массивам RAID 0 и RAID 50, но превосходит массивы RAID 10 и RAID 6. В конфигурациях с семью дисками массив RAID 5 по скорости последовательного чтения и записи уступает массиву RAID 0 и превосходит массив RAID 6 (остальные типы массивов невозможны при данном количестве дисков).

В конфигурациях с шестью дисками массив RAID 5 по скорости последовательного чтения уступает массивам RAID 0 и RAID 50, а по скорости последовательной записи - только массиву RAID 0.

В конфигурациях с пятью, четырьмя и тремя дисками массив RAID 5 по скорости последовательного чтения и записи уступает лишь массиву RAID 0.

Случайный доступ в массиве RAID 5 подобен случайному доступу в массиве RAID 0. Так, скорость случайного чтения при каждом размере блока данных пропорциональна количеству дисков в массиве, а при размере блока 512 Кбайт при любом количестве дисков в массиве наблюдается характерный провал по скорости случайного чтения. Причем нужно отметить, что скорость случайного чтения слабо зависит от количества дисков в массиве, то есть для любого количества дисков она примерно одинакова.

По скорости случайного чтения массив RAID 5 в конфигурации с восемью, семью, шестью, четырьмя и тремя дисками уступает всем остальным массивам. И только в конфигурации с пятью дисками он незначительно опережает массив RAID 6.

По скорости случайной записи массив RAID 5 в конфигурации с восемью дисками уступает лишь массивам RAID 0 и RAID 50, а в конфигурации с семью и пятью, четырьмя и тремя дисками - только массиву RAID 0.

В конфигурации с шестью дисками массив RAID 5 уступает по скорости случайной записи массивам RAID 0, RAID 50 и RAID 10.

RAID 6

Контроллер LSI 3ware SAS 9750-8i позволяет создать массив RAID 6 с количеством дисков от пяти до восьми. Результаты тестирования для массива RAID 6 представлены на рис. 24-29.

Рис. 24. Скорость последовательного чтения и записи
при восьми дисках в массиве RAID 6

Рис. 25. Скорость последовательного чтения и записи
при семи дисках в массиве RAID 6

Также отметим и характерные провалы по скорости последовательного чтения и записи при определенных размерах блоков при любом количестве дисков в массиве.

По скорости последовательного чтения массив RAID 6 уступает всем остальным массивам в конфигурациях с любым (от восьми до пяти) количеством дисков.

По скорости последовательной записи ситуация несколько лучше. В конфигурации с восемью дисками RAID 6 опережает массив RAID 10, а в конфигурации с шестью дисками - и массивы RAID 10 и RAID 50. Правда, в конфигурациях с семью и пятью дисками, когда создание массивов RAID 10 и RAID 50 невозможно, этот массив оказывается на последнем месте по скорости последовательной записи.

Случайный доступ в массиве RAID 6 подобен случайному доступу в массивах RAID 0 и RAID 5. Так, скорость случайного чтения при размере блока 512 Кбайт при любом количестве дисков в массиве имеет характерный провал по скорости случайного чтения. Отметим, что максимальная скорость случайного чтения достигается при шести дисках в массиве. Ну а при семи и восьми дисках скорость случайного чтения практически одинакова.

При случайной записи при любом количестве дисков в массиве скорость возрастает с увеличением размера блока данных и никаких провалов в скорости нет. Кроме того, скорость случайной записи хотя и пропорциональна количеству дисков в массиве, но разница по скорости незначительная.

По скорости случайного чтения массив RAID 6 в конфигурации с восемью и семью дисками опережает лишь массив RAID 5 и уступает всем остальным возможным массивам.

В конфигурации с шестью дисками массив RAID 6 уступает массивам RAID 10 и RAID 50 по скорости случайного чтения, а в конфигурации с пятью дисками - массивам RAID 0 и RAID 5.

По скорости случайной записи массив RAID 6 при любом количестве подключенных дисков уступает всем остальным возможным массивам.

В целом можно констатировать, что массив RAID 6 уступает по производительности и массивам RAID 0, RAID 5, RAID 50 и RAID 10. То есть по производительности этот тип массива оказался на последнем месте.

Рис. 33. Скорость случайного чтения
в массиве RAID 10

Рис. 34. Скорость случайной записи в массиве RAID 10

Характерно, что в массивах из восьми и шести дисков скорость последовательного чтения выше скорости записи, а в массиве из четырех дисков эти скорости практически совпадают при любом размере блока данных.

Для массива RAID 10, так же как и для всех остальных рассмотренных массивов, характерно падение скорости последовательного чтения и записи при определенных размерах блоков данных при любом количестве дисков в массиве.

При случайной записи при любом количестве дисков в массиве скорость возрастает с увеличением размера блока данных и никаких провалов в скорости нет. Кроме того, скорость случайной записи пропорциональна количеству дисков в массиве.

По скорости последовательного чтения массив RAID 10 идет вслед за массивами RAID 0, RAID 50 и RAID 5 в конфигурации с восемью, шестью и четырьмя дисками, а по скорости последовательной записи он уступает даже массиву RAID 6, то есть идет вслед за массивами RAID 0, RAID 50, RAID 5 и RAID 6.

Зато по скорости случайного чтения массив RAID 10 опережает все остальные массивы в конфигурации с восемью, шестью и четырьмя дисками. А вот по скорости случайной записи этот массив проигрывает массивам RAID 0, RAID 50 и RAID 5 в конфигурации с восемью дисками, массивам RAID 0 и RAID 50 в конфигурации с шестью дисками и массивам RAID 0 и RAID 5 в конфигурации с четырьмя дисками.

RAID 50

Массив RAID 50 можно построить на шести или восьми дисках. Результаты тестирования для массива RAID 50 представлены на рис. 35-38.

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

При случайной записи при любом количестве дисков в массиве скорость возрастает с увеличением размера блока данных и никаких провалов в скорости нет. Кроме того, скорость случайной записи пропорциональна количеству дисков в массиве, однако разница по скорости незначительная и наблюдается только при большом (более 256 Кбайт) размере блока данных.

По скорости последовательного чтения массив RAID 50 уступает лишь массиву RAID 0 (в конфигурации с восемью и шестью дисками). По скорости последовательной записи массив RAID 50 также уступает лишь массиву RAID 0 в конфигурации с восемью дисками, а в конфигурации с шестью дисками он проигрывает массивам RAID 0, RAID 5 и RAID 6.

Зато по скорости случайного чтения и записи массив RAID 50 уступает лишь массиву RAID 0 и опережает все остальные возможные при восьми и шести дисках массивы.

RAID 1

Как мы уже отмечали, массив RAID 1, который может быть построен только на двух дисках, использовать на таком контроллере нецелесо-образно. Однако для полноты картины мы приводим результаты и для массива RAID 1 на двух дисках. Результаты тестирования для массива RAID 1 представлены на рис. 39 и 40.

Рис. 39. Скорость последовательной записи и чтения в массиве RAID 1

Рис. 40. Скорость случайной записи и чтения в массиве RAID 1

Для массива RAID 10, так же как и для всех остальных рассмотренных массивов, характерно падение скорости последовательного чтения и записи при определенных размерах блоков данных.

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

При случайной записи скорость возрастает с увеличением размера блока данных и никаких провалов в скорости нет.

Массив RAID 1 можно сопоставить только с массивом RAID 0 (поскольку в случае двух дисков никакие больше массивы невозможны). Нужно отметить, что массив RAID 1 проигрывает по производительности массиву RAID 0 с двумя дисками во всех сценариях нагрузки, кроме случайного чтения.

Выводы

Впечатление от тестирования контроллера LSI 3ware SAS 9750-8i в сочетании с SAS-дисками Seagate Cheetah 15K.7 ST3300657SS у нас сложилось довольно неоднозначное. С одной стороны, у него прекрасные функциональные возможности, с другой - настораживают провалы по скорости при определенных размерах блоков данных, что, безусловно, отражается на скоростных показателях RAID-массивов при их функционировании в реальной среде.

С появлением достаточного большого числа периферии 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) - последовательный компьютерный интерфейс, разработанный для подключения различных устройств хранения данных, например, и ленточных накопителей. SAS разработан для замены параллельного интерфейса SCSI и использует тот же набор команд SCSI.

SAS обратно совместим с интерфейсом SATA: устройства SATA II и SATA 6 Gb/s могут быть подключены к контроллеру SAS, но устройства SAS нельзя подключить к контроллеру SATA. Последняя реализация SAS обеспечивает передачу данных со скоростью до 12Гбит/с на одну линию. К 2017-му году ожидается появление спецификации SAS со скоростью передачи данных 24Гбит/с

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

В сочетании с новой системой адресации это позволяет подключать до 128 устройств на один порт и иметь до 16256 устройств на контроллере, при этом не требуются какие-либо манипуляции с перемычками и т.п. Снято ограничение в 2 Терабайта на объём логического устройства.

Максимальная длина кабеля между двумя SAS-устройствами –10 м при использовании пассивных медных кабелей.

Собственно под протоколом передачи данных SAS подразумевается сразу три протокола - SSP (Serial SCSI Protocol), обеспечивающий передачу SCSI-команд, SMP (SCSI Management Protocol), работающий с управляющими SCSI-командами и отвечающий, к примеру, за взаимодействие с SAS-расширителями, и STP (SATA Tunneled Protocol), с помощью которого реализована поддержка SATA-устройств.

Производимые в данный момент имеют внутренние разъёмы типа SFF-8643 (так же может называться mini SAS HD), но все еще могут встретиться разъемы типа SFF-8087 (mini SAS), на который выведено 4 SAS канала.


Внешний вариант интерфейса использует разъём SFF-8644, но все еще может встретиться разъем SFF-8088. Он так же поддерживает четыре SAS канала.

SAS контроллеры полностью совместимы с SATA дисками и SATA-корзинами/бэкплейнами – подсоединение обычно осуществляется при помощи кабелей: . Кабель выглядит примерно вот так:


SFF-8643 -> 4 x SAS/SATA

Обычно SAS корзины/объединительные панели (backplane) снаружи имеют SATA-разъёмы и в них всегда можно вставлять обычные SATA диски , поэтому их (такие корзины) обычно и называют SAS/SATA.

Однако существуют реверсивные варианты такого кабеля для подключения бэкплейна с внутренними разъёмами SFF-8087 к SAS-контроллеру, имеющему обычные SATA-разъёмы. Между собой такие кабели невзаимозаменяемы.

SAS диски нельзя подключить к SATA контроллеру или установить в SATA корзину/объединительную панель (backplane).


Для подключения SAS дисков к контроллеру с внутренними разъёмами SFF-8643 или SFF-8087 без использования SAS корзин необходимо использовать кабель типа SFF-8643->SFF-8482 или SFF-8087->SFF-8482 соответственно.

Существующие версии интерфейса SAS (1.0, 2.0, и 3.0) имеют совместимость между собой, то есть диск SAS2.0 можно подключать к контроллеру SAS 3.0 и наоборот. Кроме того будущая версия 24 Gb/s так же будет иметь обратную совместимость.

Типы коннекторов SAS

Изображение Кодовое название Также известен как Внешний/
внутренний
Количество контактов Количество устройств