Как работает жесткий диск?
Как правило, всех пользователей интересует один вопрос: "быстрый" ли диск? Ответ на него неоднозначен и требует рассказа о следующих характеристиках:
Скорость вращения диска
Количество секторов на дорожке
Время поиска/время переключения головок/время переключения между цилиндрами
Задержка позиционирования
Время доступа к данным
Кэш-память на жестком диске
Размещение данных на диске
Скорость обмена между процессором и диском
Интерфейс (IDE или SCSI)
Опишем, для начала, как физически устроен жесткий диск.
На жестком диске данные хранятся на магнитной поверхности диска. Информация записывается и снимается с помощью магнитных головок (все почти как в магнитофоне). Внутри жесткого диска может быть установлено несколько пластин (дисков), в просторечье именуемые "блинами". Двигатель, вращающий диск, включается при подаче питания на диск и остается включенным до снятия питания.ПРИМЕЧАНИЕ: Если в разделе Power Management программы Setup из BIOS установлен параметр выключения жесткого диска при отсутствии обращения к нему, то двигатель может быть выключен программой BIOS.
Двигатель вращается с постоянной скоростью, измеряемой в оборотах в минуту (rpm). Данные организованы на диске в цилиндрах, дорожках и секторах. Цилиндры - концентрическе дорожки на дисках, расположенные одна над другой. Дорожка затем разделяется на сектора. Диск имеет магнитный слой на каждой своей стороне. Каждая пара головок одета как бы на "вилку", обхватывающую каждый диск. Эта "вилка" перемещается над поверхностью диска с помощью отдельного серводвигателя (а не шагового, как часто ошибочно думают - шаговый двигатель не позволяет быстро перемещаться над поверхностью). Все жесткие диски имеют резервные сектора, которые используются его схемой управления, если на диске обнаружены дефектные сектора.
Скорость вращения диска
Обычно современные жесткие диски имеют скорость вращения от 5400 до 7200 об/м. Чем выше скорость вращения, тем выше скорость обмена данными. Следует только учесть, что при возрастании скорости вращения увеличивается температура корпуса жесткого диска и диски со скоростью 7200 об/мин требуют либо применения корпуса с продуманной для целей отвода тепла конструкцией, либо дополнительного охлаждения внешним вентилятором собственно диска. Вентилятора блока питания для этого недостаточно. Еще более высокооборотные диски со скоростью вращения 10000 об/мин, которые сейчас выпускают все без исключения фирмы-производители, требуют как хорошей вентиляции внутри корпуса, так и "правильного" корпуса, хорошо отводящего тепло. Жесткие диски на 15000 об/мин без принудительного обдува просто не рекомендуется использовать.
Количество секторов на дорожке
Современные жесткие диски имеют различное количество секторов на дорожке в зависимости от того, внешняя ли это дорожка или внутренняя. Внешняя дорожка длиннее и на ней можно разместить больше секторов, чем на более короткой внутренней дорожке. Данные на чистый диск начинают записываться также с внешней дорожки.
Время поиска/время переключения головок/время переключения между цилиндрами
Время поиска (seek time) минимально только в случае необходимости операции с дорожкой, которая является соседней с той, над которой в данный момент находится головка. Наибольшее время поиска соответственно при переходе с первой дорожки на последнюю. Как правило, в паспортных данных на жесткий диск указывается среднее время поиска (average seek time).
Все магнитные головки диска находятся в каждый момент времени над одним и тем же цилиндром, и время переключения определяется тем, насколько быстро выполняется переключение между головками при чтении или записи.
Время переключения между цилиндрами - это время, требуемое для перемещения головок на один цилиндр вперед или назад.
Все времена указываются в документации на жесткие диски в миллисекундах (ms).
Задержка позиционирования
После того, как головка оказывается над желаемой дорожкой, она ждет появления требуемого сектора на этой дорожке. Это время называется задержкой позиционирования и также измеряется в миллисекундах (ms).
Среднее время задержки позиционирования считается как время поворота диска на 180 градусов и, поэтому зависит только от скорости вращения шпинделя диска.
Время доступа к данным
Время доступа к данным по сути - это комбинация из времени поиска, времени переключения головок и задержки позиционирования, измеряется также в миллисекундах (ms). Время поиска, как вам уже известно, это только показатель того, как быстро головка оказывается над нужным цилиндром. До тех пор, пока данные не записаны или считаны, следует добавить время на переключение головок и на ожидание необходимого сектора.
Кэш-память на жестком диске
Как правило, на всех современных жестких дисках есть собственная оперативная память, называемая кэш-памятью (cache memory) или просто кэшем. Производители жестких дисков часто называют эту память буферной. Размер и структура кэша у фирм-производителей и для различных моделей жестких дисков существенно отличаются. Обычно кэш память используется как для записи данных так и для чтения, но на SCSI дисках иногда требуется принудительное разрешение кэширования записи, так обычно по умолчанию кэширование записи на диск для SCSI запрещено. Есть программы, позволяющие, определить, как установлены параметры кэш-памяти, например ASPIID от фирмы Seagate. Как это многим не покажется странным, размер кэша не является определяющим для оценки эффективности его работы. Организация обмена данными с кэшем более важна для повышения быстродействия диска в целом.
Некоторые производители жестких дисков, такие как Quantum, используют часть кэша под свое программное обеспечение (для модели Quantum Fireball 1.3 Gb, например, под firmware занято 48 Kb из 128). Как нам кажется, более предпочтителен способ, используемый фирмой Western Digital. Для хранения firmware используются специально отведенные сектора на диске, невидимые для любых операционных систем. По включению питания эта программа загружается в обычную дешевую DRAM на диске и при этом отпадают затраты на микросхему флэш-памяти для хранения firmware. Такой способ позволяет легко исправлять встроенное программное обеспечение жесткого диска, что часто фирма Western Digital и делает.
Размещение данных на диске
О том, что конфигурация диска задается через количество цилиндров, головок и секторов на дорожке, все знают с начала эпохи PC. Хотя еще несколько лет тому назад точное указание в программе SETUP всех этих параметров диска было обязательным, сейчас это не так. Строго говоря, те параметры диска, которые вы видите в разделе SETUP Standard CMOS Setup, как правило, ничего общего не имеют с реальными параметрами диска, причем вы можете заметить, что эти параметры меняются в зависимости от вида трансляции геометрии диска - Normal, LBA и Large. Normal - геометрия в соответствии с данной производителем в документации на диск и не позволяет DOS увидеть более чем 504 Mb (1 Mb - 1048576 байт). LBA - Logical Block Address - эта установка позволяет видеть DOS диски объемом до 4 Gb. Large используется такой операционной системой, как Unix. Параметры, установленные в SETUP, преобразуются в реальные логикой управления жестким диском. Многие современные операционные системы работают с диском через LBA, минуя BIOS.
Особенности использования IDE/SATA жестких дисков в RAID системах.
В последнее время IDE и в большей степени SATA жесткие диски все чаще и чаще используются для построение отказоустойчивых дисковых подсистем на базе RAID контроллеров и/или внешних дисковых массивов. Большая емкость на один диск, низкая стоимость и вполне приличная надежность делает эти диски в ближайшей перспективе серьезными конкурентами для SCSI в серверных системах, а во внешних дисковых системах для работы с оцифрованным кино и видео SCSI диски уже практически не применяются. Но при использовании обычных IDE/SATA жестких дисков в RAID массивах может возникнуть одна довольно неприятная проблема, решение которой рассмотрится в этой заметке.
Суть проблемы
Чаще всего в RAID-массивы устанавливают стандартные жесткие диски, изначально предназначенные для обычных desktop компьютеров, по той простой причине, что иных SATA/IDE дисков просто нет. Они обладают большой емкостью, высокой надежностью и сравнительно низкой стоимостью. Казалось бы, чего же боле? Однако, здесь и существует проблема! Дело в том, что во все современные IDE/SATA жесткие диски для повышения надежности хранения данных встроена автоматическая функция коррекции ошибок. При ее разработке исходили из здравого посыла, что жесткий диск не должен отправлять куда-либо сообщение о каждой обнаруженной ошибке чтения, загружая тем самым другие устройства (в том числе процессор компьютера) ненужной дополнительной работой. Напротив, он должен предпринять все возможное для самостоятельной коррекции обнаруженной ошибки, для начала многократно пытаясь прочитать сбойный блок, а потом исключив его из использования, сделав переназначение (remap) плохого сектора на хороший. Погрузившись в данную "внутреннюю" операцию, диск начинает отвечать на внешние запросы с большой задержкой, тем большей, чем интенсивней поступают на него команды записи/чтения.
И это правильно до тех пор, пока этот диск функционирует сам по себе, являясь самостоятельным, не входящим ни в какие RAID массивы, устройством хранения данных. Однако, когда он является частью сложной системы из многих дисков в RAID массиве, некоторые диски в которых выделены для хранения резервных данных на случай любой ошибки, т.е. системы, управляемой специализированным интеллектуальным RAID контроллером, подобная "самостоятельность" установленного в систему диска может приводить к проблемам. Одной из важнейших задач контроллера RAID является постоянный анализ распределяемых между дисками данных на предмет возможного появления и немедленной коррекции ошибок. Поэтому RAID контроллер, отвечая за работоспособность всей системы, ожидает ответа от каждого диска строго определенное время (обычно 8 секунд), по истечении которого считает, что вовремя не ответивший диск неисправен, и принимает решение об его исключении из системы с последующим перераспределением данных между оставшимися дисками. При этом нагрузка на них возрастает, и в этих условиях и второй диск может вовремя не ответить, что уже приведет к крушению всей системы с потерей данных (напомним, что в наиболее популярных RAID уровнях 3 и 5 резервные данные хранятся только на одном диске и выход сразу двух фатален - все данные теряются). Но в результате последующего анализа может оказаться, что отключенные диски были вполне работоспособны и могли далее использоваться, но уже будет слишком поздно.
Здесь не поможет и наличие диска в "горячем" резерве - пока RAID контроллер будет вводить его в массив (этот процесс может занять часы и дни, в зависимости от нагрузки на RAID), вполне может "отвалиться" следующий диск в массиве и данные также будут безвозвратно потеряны.
Безусловно, такая проблема возникает только при интенсивной работе дисков в RAID массиве на запись/чтение данных. Но, достаточно совпадения буквально минутной "тяжелой" нагрузки на RAID массив и начала автоматической процедуры восстановления ошибки на каком-то жестком диске, как ложный выход из строя жесткого диска станет вполне реальным. Трудность решения этой проблемы в том, что диск и на самом деле, реально, может выйти из строя, поэтому удлинение допустимого времени отклика от жесткого диска, что иногда, к сожалению, делают некоторые производители RAID контроллеров не решает проблему, а наоборот, загоняет ее вглубь. Ведь в том случае, если диск на самом деле сломался, промедление в реакции RAID контроллера на это событие чревато полной потерей данных.
Наличие данной проблемы (задержка отклика из-за встроенной функции коррекции ошибок) не зависит от того, диски какого производителя вы планируете использовать. Ее возможное решение в другом – ввести ограничение на максимально допустимую длительность обработки ошибок жестким диском с обязательным информированием RAID контроллера о наличии конкретной ошибки. В этом случае RAID контроллер поймет, что диск исправен, но у него есть конкретная ошибка в конкретном месте, которую контроллер легко скорректирует.
К сожалению, единственной компанией, которая предложила такое понятное и очевидное любому грамотному специалисту решение, стала Western Digital Corporation. Она разработала специальную серию дисков RAID Edition c функцией TLER(TimeLimitedErrorCorrection - Ограниченное время на коррекцию ошибки). TLER-диски при возникновении ошибки начинают нормальный процесс ее коррекции, но, не уложившись в 7 секунд, сообщают RAID-контроллеру о возникшей ошибке, откладывая дальнейшую обработку ошибки на "лучшее" время (например, на момент простоя системы). При этом контроллер легко справится с возникшей ошибкой чтения данных с данного диска – ведь для этого в его распоряжении всегда есть резервная информация.
Стоит отметить, что RAID Edition диски от Western Digital кроме функции TLER отличает и увеличенное вдвое время наработки на отказ. Несмотря на то, что случаев возникновения этой ошибки довольно мало в массивах с SATA дисками, но довольно много случаев в массивах с IDE дисками, мы настоятельно рекомендуем применение дисков с TLER в любых RAID массивах, особенно рассчитанных на работу под серьезной нагрузкой или имеющих хотя бы пики с с ней. Надеемся, что и другие компании-производители жестких дисков начнут выпуск аналогичных дисков.
Современные системы хранения данных.
Обзор внешних дисковых систем хранения данных ведущих производителей.
После того, как мы кратко ознакомились с аппаратной частью систем хранения данных (см. обзор «Современные системы хранения данных. Часть 2»), самое время обратиться к конкретным системам ведущих производителей таких устройств. Нас интересуют именно внешние дисковые системы хранения данных – в основном это DAS или SAN-системы, а так же NAS. О других специализированных типах систем хранения, например CAS, в этот раз мы говорить не будем. Сами понятия DAS, SAN, SAN нами будут рассмотрены ниже, в рамках топологии построения вычислительных центров с системами хранения данных.
Корпорация ЕМС предлагает две линейки систем хранения данных SAN – системы высшего уровня Symmetrix и системы среднего уровня CLARiiON. Модель DMX-3 линейки EMC Symmetrix на данный момент является самой мощной и масштабируемой системой хранения данных в мире – сконфигурированная система поддерживает более 1920 жёстких дисков, а сертифицированная ёмкость достигает 1 PB (1 петабайт = 1024 терабайт) данных.
Также EMC поставляет NAS-системы – EMC Celerra, а также система, предназначенная для хранения неизменяемых данных (CAS) EMC Centera. В настоящее время выпускается уже седьмое поколение midrange-систем EMC CLARiiON, представленных моделями CX300/CX300i, CX500/CX500i и CX700, а также модель начального уровня с SATA-дисками – EMC Clariion AX100/AX100i. Кроме аппаратных решений, у компании ЕМС существует множество программных продуктов для управления как самими системами хранения, так и сетями хранения данных, а также ПО для защиты данных, перемещения данных между различными системами и прочее. Компания ЕМС является седьмой в мире компанией по выпуску программного обеспечения. Также системы хранения данных EMC поставляют под своей торговой маркой несколько известных сторонних компаний – Dell, Fujitsu-Siemens, Bull.
Следующая компания, которую мне бы хотелось упомянуть, – это HDS (Hitachi Data Systems), являющаяся подразделением компании Hitachi и занимающаяся разработкой и продажами систем хранения данных. Системы среднего уровня представлены оборудованием HDS Thunder 9500V (9530, 9570, 9585, 9520). Системы старшего уровня можно разделить на две линейки (хотя некоторые компании, поставляющие продукцию HDS, объединяют их в одну): Lightning 9900 V Series (модели 9970 и 9980) и TagmaStore Universal Storage Platform (модели HDS USP 100, 600 и 1100). Также у HDS существуют продукты NAS и специализированное программное обеспечение. Сразу в продолжение хочется упомянуть две компании, которые поставляют под своей торговой маркой оборудование HDS – это Sun Microsystems (SUN) и Hewlett-Packard (HP). Системы хранения данных компании SUN также можно разделить на три линейки – младшая линейка состоит из OEM-систем компании DotHill, старшая же – из OEM-систем компании HDS. Системы хранения данных среднего уровня можно разделить ещё на две линейки: продукты, самостоятельно разработанные компанией SUN, – это системы SUN StorEdge 6120, 6320, 6920 и OEM-системы от компании Engenio (Sun StorEdge 6130). Получилось немного запутанно, но так уж один из столпов серверостроения выстраивает свой модельный ряд. К слову упомяну, что компания SUN выпускает также свою операционную систему SUN Solaris (под несколько платформ) и всем известный продукт Java. Теперь перейдём ко второму месту чарта продаж – к Hewlett-Packard. Системы хранения данных компании HP можно условно разделить на три группы: системы начального уровня HP MSA (MSA1000, 1500 и другие), системы среднего уровня HP StorageWorks Enterprise Virtual Array (HP EVA 3000, 4000, 6000, 8000) и системы старшего звена, являющиеся OEM-продуктами компании HDS и поставляемые под маркой HP XP (модели XP1000 и XP12000).Конечно, мы не можем обойти вниманием и IBM – одну из мощнейших компаний в отрасли, которая, к слову, год от года попадает в мировые лидеры по количеству полученных патентов на свои изобретения в различных областях высоких технологий. Итак, старшие модели систем хранения от IBM являются разработкой самой компании IBM – это линейки Total Storage серий DS6000 и DS8000. Уровень entry-level и midrange – это OEM-продукция компаний Adaptec и Engenio, сюда входят IBM Total Storage DS300/DS400, DS4100, DS4300, DS4500 и DS4800.
Ну и кратко упомянем некоторые другие значимые компании.
Как мы уже говорили, DELL поставляет в качестве своих систем хранения решения EMC, а также простые решения без интеллектуальной начинки, как упомянутая в первой части статьи дисковая полка DELL PowerVault 220s. Известная узкому кругу Network Appliance разделяет свои продукты на четыре неравнофункциональные линейки – это системы NetApp FAS (серии FAS900, FAS3000 и FAS200), а также ещё три группы аппаратных решений – V-Series, NearStore и NetCache. Отпрыск LSI, компания Engenio выпускает свои продукты под бесхитростными цифровыми обозначениями – это модели Engenio Storage System 2822, 2882, 5884, 6498 и 6998. К примеру, модель Engenio 6998 поставляется по OEM-контракту компанией IBM как IBM DS4800. Компания DotHill предлагает системы хранения старшего уровня DotHill SANnet II (с дисками SATA или FibreChannel), а также системы среднего и нижнего уровня DotHill RIVA и DotHill StratisRAID (это системы компании Chaparral, не так давно купленной компанией DotHill). Системы всем известной своими контроллерами Adaptec представлены старшими системами с интерфейсом FibreChannel – Adaptec FS4500/FS4100 и Adaptec SANbloc, а также SCSI DAS-системами (например Adaptec SC4100), iSCSI-хранилищами (Adaptec iSA1500 Storage Array) и NAS-системами Adaptec Snap Server. Компания Raidtec, в данный момент приобретённая компанией Plasmon, поставляет несколько линеек продукции – Raidtec FS/CS 3102 с интерфейсами FC и SCSI, соответственно, Raidtec FibreArray (FC-FC), а также NAS-системы Raidtec SNAZ. Дисковые системы хранения от Overland на рынке представлены линейками Overland REO 1000, 4000 и 9000 (отличающиеся возможностью эмуляции ленточных накопителей) и серией более производительных и надёжных массивов Overland ULTAMUS. Упомяну ещё распространённые у нас системы начального уровня от AXUS – серии Yotta и Yotta Mini, которые заменили собой AXUS DemonRAID, уже снятые с производства.
Конечно, этот маленький обзор является далеко не полным – как по производителям, так и по перечисленным продуктам и по взаимоотношениям различных вендоров – в основном это касается OEM-партнёрства. Мы перечислили лишь самые популярные решения и самые известные компании.
Естественно, аппаратная мощь систем хранения должна как-то управляться, а сами СХД просто обязаны предоставлять уровень сервиса и функциональность, недоступную в обычных схемах «сервер-клиент». Самое первое, что мы уже рассмотрели, – это возможность подключать к СХД несколько хостов (вплоть до сотен, в теории). Второе – система хранения, обычно она обеспечивает 100%-ное дублирование всех своих компонент – нет элементов, выход из строя которых способен вызвать аварийную остановку системы хранения. Также дублированы каналы доступа (пути доступа) к стойке от сервера – в сервер устанавливается несколько HBA (так называемый режим «multipathing»), который позволяют решить сразу несколько проблем:
Обеспечивается резервирование путей доступа (failover) – при аварийной ситуации с одним каналом (повреждение кабеля, поломка адаптера HBA) все данные благополучно транслируются по второму пути.
Балансировка нагрузки (load balancing) – несколько каналов используются, как один общий, увеличивая пропускную способность и одновременно распределяя нагрузку равномерно по всем путям.
SCSI или Serial ATA - что же выбрать?
В последнее время, в связи с массовым появлением на рынке различных серверных систем с применением Serial ATA жестких дисков, в компьютерном сообществе часто возникают споры по поводу быстродействия и надежности подобных систем по сравнению со SCSI системами. Разделим вопросы надежности и быстродействия и подробно остановимся на каждом из них. Поскольку IDE жесткие диски уходят с рынка, мы будем сравнивать SCSI с Serial ATA (SATA) системами. Несмотря на то, что SCSI диски будут в ближайшие годы покидать рынок и на смену им пришли SAS (Serial Attached SCSI) диски, большинство утверждений, относящихся к SCSI справедливы и для SAS. В тех случаях, когда это не так, будут сделаны соответствующие комментарии.
Быстродействие
Итак, на чем строятся аргументы сторонников SCSI дисков в качестве основы высокоскоростных серверных дисковых подсистем? Первый аргумент – интерфейс SCSI отличается бОльшим "интеллектом" по сравнению с SATA. Но даже обычный рядовой пользователь компьютера понимает, что сам по себе жесткий диск представляет собой некую механическую систему для записи/считывания данных и весь интеллект SCSI обеспечивается контроллером на самом жестком диске и контроллером SCSI компьютера. Именно такая пара и обладает весьма важными "интеллектуальными" способностями по обмену данными. Безусловно, пара из обычного SATA контроллера и SATA диска таким "интеллектом" не обладает. Но нас интересуют серверные системы и системы хранения данных - давайте рассмотрим применение SCSI и SATA в них.
В этих системах крайне редко применяются диски сами по себе – требования к надежности хранения данных обуславливают необходимость применения RAID контроллеров и даже для хранения операционной системы используются RAID 1, а для хранения данных применяются, как правило, отдельные RAID массивы уровня 5, 6 или TP. Поэтому логично и разумно рассматривать всю дисковую подсистему в целом, т.е. пару RAID контроллер плюс подключенные к нему диски.
Для SCSI систем RAID контроллер состоит из процессора, занимающегося обработкой данных, кэш-памяти процессора и обычного SCSI контроллера, с помощью которого данные поступают от процессора к дискам или от дисков к процессору. На одном SCSI контроллере обычно "висят" несколько SCSI дисков. Конечно, есть многоканальные (до 4-х каналов) SCSI RAID контроллеры, но и в случае их применения к каждому каналу подключают по несколько дисков. Еще раз обращаем ваше внимание на эту важную особенность – несколько SCSI дисков обслуживаются одним контроллером и всегда несколько дисков "висят" на одной физической шине. Из этого факта следует еще один важный вывод – без какого-либо "интеллекта" работа нескольких дисков на одной физической шине SCSI контроллера была бы просто очень медленной. В новой инкарнации SCSI, SAS уже применена SATA-подобная топология и контроллер общается с диском через индивидуальный порт, причем в полнодуплексном режиме в отличие от полудуплексного SATA.
Для SATA систем RAID контроллер также состоит из процессора, занимающегося обработкой данных, кэш-памяти процессора и раздельных для каждого диска SATA контроллеров, с помощью которых данные поступают от процессора к дискам и от дисков к процессору. Тем самым видна принципиальная разница между SCSI RAID контроллерами и SATA RAID контроллерами – в первом случае несколько дисков обслуживаются одним контроллером и все диски подключены на одну физическую шину, во втором – каждый диск подключен к своему контроллеру индивидуально.
или Теперь простой вопрос – что мешает возложить на процессор RAID SATA контроллера все те интеллектуальные задачи, которые решает SCSI контроллер? Ответ также прост – ничего не мешает и производители хороших RAID контроллеров, такие как 3ware, ArecaAdaptec например, так именно и делают.
Следующий аргумент в пользу SCSI дисков – они быстрее, поскольку скорость вращения шпинделя у SCSI дисков составляет минимум 10000 об/мин, а максимум 15000 об/мин. Действительно, скорость вращения у SCSI дисков больше и, если использовать SCSI диски со скоростью вращения 15000 об/мин, то почти в два раза больше. Но нельзя оценивать только скорость вращения, поскольку большую роль играет плотность записи/чтения на пластины жесткого диска. А вот тут ситуация не столь радужная для SCSI – плотность записи на SCSI дисках как минимум в два раза меньше, соответственно за один оборот диска можно считать/записать в два раза меньше с/на SCSI диск, чем с/на SATA.
Конечно, нельзя утверждать, что большая плотность записи полностью компенсирует большую скорость вращения, но для потоковых операций это практически так и есть, а для множественных операций с небольшими файлами/блоками данных большая скорость вращения предпочтительнее, но в этом случае очень многое зависит от процессора RAID контроллера – насколько он оптимально управляет дисками. Кроме этого, можно распараллелить операции с дисками, просто увеличив их количество. Грубо можно утверждать, что SCSI RAID на трех дисках при прочих равных условиях эквивалентен по производительности для множественных операций с небольшими файлами/блоками данных (random read/write) SATA RAID с 6-8 дисками.
Конечно, если ради повышения производительности SATA мы вынуждены увеличивать количество SATA дисков, то и стоимость SATA RAID будет стремиться к стоимости SCSI RAID. Но - емкость SATA RAID будет в разы больше. Иными словами, если вам требуется RAID 5 на 100 гигабайт видимой емкости для random операций, то выгоднее и правильнее построить его на SCSI RAID. Если же нужно более 1 терабайт видимой емкости, то решение на 12 SATA дисках по 160 гигабайт будет заметно дешевле решения на 5 SCSI дисках по 300 гигабайт каждый при практически той же производительности.
Теперь рассмотрим специализированные внешние дисковые массивы, в которых сейчас также наблюдается массовый переход от SCSI к SATA. Даже такие гранды компьютерной индустрии как Hewlett-Packard и IBM, например, выпустили первые модели внешних дисковых массивов с SATA дисками еще в 2004 году.
Конструктивно внешние дисковые массивы (их еще называют системами хранения данных) устроены просто – для подключения к компьютеру используется либо SCSI Ultra320 или SAS (Serial Attached SCSI), либо Fibre Channel 2/4 Gb, а для управления работой массива применяется специализированный компьютер на базе специализированного же RISC процессора с оперативной памятью от 256 мегабайт и внутренней шиной (шинами) PCI-X. Понятно, что с точки зрения компьютера, к которому подключается такая система хранения данных, это обычное SCSI устройство, поддерживающее все возможности SCSI интерфейса.
Сейчас мы попробуем доказать, что производительность системы хранения данных зависит в первую очередь не от типа интерфейса жестких дисков внутри системы, а от мощности специализированного компьютера, обслуживающего жесткие диски и количества жестких дисков. Представим себе, что в систему установлен один жесткий диск. Очевидно, что достичь большей производительности, чем позволяет единственный установленный жесткий диск, нельзя. Никакой процессор не сможет ускорить работу механики жесткого диска и/или увеличить плотность хранения на нем и тем самым скорость записи/чтения данных. Но если установить 5 дисков, например, то при наличии мощного процессора в системе хранения данных можно увеличить производительность в 5 раз относительно производительности одного диска. Добавляя все больше и больше дисков, можно тем самым увеличивать производительность, но только до тех пор, пока процессор системы хранения данных будет успевать обслуживать каждый диск без малейших задержек. Как только процессор перестанет успевать, дальнейшее увеличение количества дисков не приведет к увеличению производительности. Так вот, лучшие на середину 2006 года недорогие системы хранения данных на SATA дисках с процессором Intel 80331 667 MHz достигли максимальной скорости линейного чтения по нашим тестам 270 мегабайт/сек, что близко к пропускной способности SCSI интерфейса (320 MB/s). Надо отметить, что используя технологию Multipath можно добиться и более высоких линейных скоростей записи/чтения.
Тестирование двух систем хранения на разных процессорах, но с идентичными жесткими дисками, также доказывает правоту этого утверждения. Поэтому можно со всей ответственностью утверждать, что производительность системы хранения данных зависит в большей степени от процессора системы и количества дисков, чем от интерфейса и типа жесткого диска.
Надежность
Совершенно очевидно, что для серверных систем масштаба предприятия надежность во многих случаях не менее важна, чем производительность. Потеря корпоративной базы данных даже на несколько часов, необходимых для ее восстановления с резервного носителя, может обернуться для компании многомиллионными убытками. Исторически считается, что надежность весьма дорогих SCSI дисков значительно превышает надежность дешевых SATA дисков. Официальные гарантийные сроки для SCSI дисков всегда были не менее 5 лет, а на SATA диски только недавно стали устанавливать такие же сроки гарантии. К сожалению, нам неизвестны достоверные источники информации о реальной статистике отказов жестких дисков SATA по сравнению со SCSI.
Производители жестких дисков, разумеется, приводят в технических характеристиках своей продукции параметр MTBF (Mean Time Between Failure – среднее время между отказами) и для SCSI дисков этот показатель обычно равен 1 200 000 часов, а для SATA MTBF, как правило, не превышает 500 000 часов. Проблема в том, что нет сведений о корреляции MTBF с реальной статистикой отказов – понятие среднего времени между отказами напоминает среднюю температуру по больнице. Понятно, что чем MTBF больше, тем должно быть лучше, но непонятно, каким образом можно использовать значение MTBF в реальной жизни для представления о надежности используемого оборудования. Тем не менее, известная корпорация Western Digital выпустила в середине 2004 года новую серию SATA дисков RAID Edition, официально предназначенных для круглосуточной работы в RAID массивах. MTBF этих дисков объявлен в 1 000 000, что не намного меньше MTBF для SCSI дисков. MTBF второго поколения дисков RAID Edition 2 заявлено в 1 200 000 часов.
Но, даже если считать надежность SATA дисков заведомо более низкой, чем у SCSI дисков, стоимость SATA дисков позволяет добавить в RAID массив один или два диска для "горячего" резерва без заметного удорожания системы и/или использовать RAID 6/RAID TP. Для потери данных на таких RAID из стоя должны выйти одновременно 3 или 4 диска. Поэтому надежность работы RAID на SATA дисках в целом можно сделать не ниже надежности RAID на SCSI дисках.
Оборудование
На наш взгляд, перспективы систем на SATA дисках с 2006 года выглядят более радужными для серверных систем, чем на SCSI дисках. Начиная с осени 2006 года классический параллельный SCSI покидает рынок и на смену ему пришел SAS (Serial Attached SCSI). Приход SAS для поклонников SCSI не сулит ничего хорошего. Дело в том, что контроллеры и корзины (enclosure) для SAS дисков совместимы с SATA дисками. Иными словами, в подавляющем большинстве случаев пользователь всегда сможет в SAS корзину, подключенную к SAS RAID контроллеру установить SATA диски и попробовать оттестировать решение с ними. Поскольку для многих задач SATA даже в небольших RAID вполне достаточно, пользователь может отказаться использовать SAS диски, так как у них цена за гигабайт хранения в разы больше.
Компания Intel, например, увеличила количество SATA портов до 6 (с 2-х) во всех новых версиях своих серверных платформ на платформе Bensley - SR1500 (1U), SR2500 (2U) и SC5400 (Desktop и 5U Rack). Практически все именитые производители серверного оборудования выпускают модели внешних дисковых массивов с SATA дисками. Что касается собственно производителей систем хранения данных, таких как Maxtronic International, Medea Corporation, Enhance Technology, Infortrend, AXUS, Silicon Graphics Inc и многих других, то они уже давно выпустили множество моделей с поддержкой SATA дисков. У ряда производителей систем хранения данных модели на SCSI дисках просто отсутствуют в списке выпускаемого оборудования.
Интерфейсы
SATA - В дисках и контроллерах с новыми версиями интерфейса SATA появилась поддержка набора инструкций Native Command Queuing (Очередь или конвейер команд). При использовании Native Command Queuing контроллер SATA выстраивает запросы ввода-вывода таким образом, чтобы минимизировать время поиска данных на диске. В 2006 году также произошел переход с SATA I на SATA II, что увеличило скорость SATA интерфейса со 150 MB/s до 300 MB/s. Правда, на таком уровне скорость интерфейса практически не имеет отношения к производительности дисковой подсистемы.
SCSI - классический вариант параллельного SCSI интерфейса, судя по всему, реального развития уже никогда иметь не будет. Он еще долго будет использоваться для сопряжения множества уже выпущенных внешних устройств с компьютерами, но в новых системах использоваться не будет. Новые модели контроллеров SCSI не разрабатываются с 2004 года.
SAS (Serial Attached SCSI) - безусловный шаг вперед по сравнению с классическим параллельным SCSI интерфейсом. В перспективе скорость обмена данными между контроллером SAS и диском (дисками) должна достигнуть 12 Gb/s. В отличии от параллельного SCSI, у SAS каждое устройство подключается к своему SAS порту, причем по полнодуплексному каналу, т.е. с раздельными шинами ввода и вывода. Интерфейс полностью совместим сверху вниз с SATA, т.е. SATA диски смогут работать с SAS контроллерами и в SAS корзинах (enclosure), но не наоборот.
Сферы применения
Грубо можно разделить все сферы применения обсуждаемых интерфейсов на две.
Первая сфера: работа с дисками требует в основном линейного, последовательного чтения/записи данных относительно большими блоками. К этой сфере относится работа с видео, оцифрованным кино, CAD/CAM, файловые архивы, хранение резервных копий данных и т.п. Для подобных применений SCSI диски уже давно не используются и в этой сфере безраздельно царствуют IDE/SATA диски. Здесь требуются высокие скорости линейной записи/чтения и терабайтные емкости RAID массивов.
Вторая сфера: бизнес - применения. Множественный доступ к различным областям дисков, запись/считывание данных небольшими (4-64 KB) блоками. К этой сфере относится работа с базами данных, различные варианты файл-серверов с большим количеством пользователей. Здесь требуются высокие скорости случайной (random) записи/чтения. Пока в этой сфере в основном используются SCSI диски и массивы, но постепенно SATA начинает проникать и сюда. Сложно сказать, чем и когда закончится это проникновение. Для решения задач в этой сфере надо просто подбирать массив исходя из данных нагрузки на него.
Заключение
Оно кратко - нет никаких достаточных оснований утверждать, что RAID системы с SATA дисками заметно уступают как в быстродействии, так и в надежности RAID системам на SCSI дисках для всех задач. Безусловно, есть ряд задач, которые наиболее качественно будут решены на SCSI/SAS массивах, но сфера применения SATA дисков все-таки расширяется, а SCSI/SAS уменьшается. Еще в 2003 году, например, практически ни один известный производитель серверов не предусматривал возможности установки IDE дисков с горячей заменой в свои сервера. Сейчас все наоборот - все младшие (а у некоторых производителей не только младшие) модели серверов имеют возможность использования SATA дисков с их горячей заменой.
Кроме этого, RAID массивы на SATA дисках позволяют создать большие по емкости массивы – до 11 терабайт на 16-ти дисковой системе хранения данных. На SCSI дисках такой массив должен будет стоить как минимум в 3 раза выше. Поэтому, на наш взгляд, движение индустрии пойдет в сторону все большего и большего применения SATA дисков с сохранением популярности SCSI/SAS и его оптического аналога Fiber Channel в качестве интерфейса для обмена данными между компьютером и внешним RAID массивом.