Заметки о дисковой подсистеме
Выбор винчестера и актуальные проблемы создания RAID-массива
Некоторые требования к современному жесткому диску
Покупка винчестера: на что обратить внимание
Замечания по поводу оптимизации дисковой подсистемы
Некоторые наблюдения по организации RAID-массивов из АТА-накопителей
Стремительная эволюция программного обеспечения обусловило все большее возрастание требований к дисковой подсистеме компьютера. Кроме скорости работы и объема хранимой информации особое внимание производителей было сосредоточено на улучшении таких параметров, как надежность накопителей и их потребительские характеристики (например, простота установки и уровень шума). Рост популярности портативных компьютеров направил поток инженерной мысли в область миниатюризации накопителей и увеличения их надежности в экстремальных условиях. Технически разработать решение, удовлетворяющее одновременно всем упомянутым требованиям, теоретически возможно. Однако с практической точки зрения универсальное решение принесет мало радости, поскольку «идеальный» винчестер будет стоить во много раз дороже, чем «неидеальный». Именно по этой причине в настоящее время мы наблюдаем подлинное разнообразие жестких дисков, выполненных по разным технологиям, подключаемых через различные интерфейсы и обладающих различными техническими характеристиками. В предлагаемой вашему вниманию статье даются краткие советы по выбору винчестеров, а также рассматриваются текущие проблемы, с которыми при внедрении RAID-массивов сталкиваются на практике пользователи и системные администраторы.
Некоторые требования к современному жесткому диску
Самым признанным и распространенным средством хранения информации по праву считается жесткий диск (винчестер). Информация на этом накопителе не исчезает при отключении питания компьютера, в отличие, скажем, от оперативной памяти, а стоимость хранения мегабайта информации предельно мала (около 0,6 цента). Современный винчестер обладает высокой производительностью и внушительной емкостью при низкой стоимости мегабайта дисковой памяти. Современные жесткие диски могут иметь размер 47 Гбайт и выше. Чтобы «прочувствовать» такой объем, можно сделать простую прикидку. На 47 Гбайт диска можно записать около 7 млн. журнальных страниц КомпьютерПресс в текстовом формате, или почти 57 тыс. уникальных номеров журнала. Для этого редакции КомпьютерПресс потребовалось бы без сбоев проработать почти 5 тыс. лет. Внутри герметичного кожуха винчестера с огромной постоянной скоростью (5400, 7200, 10 000, 15 000 оборотов в минуту) вращаются жесткие диски (обычно — несколько, крайне редко — один) с высококачественным магнитным покрытием. Они «нанизаны» на вращающийся вал — шпиндель. Информация на диске располагается на «дорожках» (концентрических окружностях), каждая из которых разбита на кусочки-сектора. Каждая область диска получает соответствующий номер в процессе низкоуровневого форматирования, которое производит изготовитель привода. Чтение и запись на обеих сторонах магнитного диска производится при помощи магнитных головок. Сами головки крепятся на специальном рычаге (адъюкаторе) и проносятся над поверхностью вращающегося диска со скоростью, неразличимой человеческим глазом. Среднее время, за которое головка успевает расположиться над нужной областью диска (среднее время доступа), по сути отражает его производительность — чем меньше время доступа, тем быстрее винчестер. Помимо перечисленного в состав винчестера входит плата контроллера, содержащая всю электронику привода.
Современный жесткий диск, согласно спецификации PC’99, должен поддерживать режим bus mastering, а также технологию S.M.A.R.T. Под bus mastering подразумевается механизм прямого обмена информацией по шине без участия центрального процессора. Кроме повышения производительности, этот режим снижает нагрузку на центральный процессор (на его ресурсы и без того много претендентов: программные модемы-«лентяи», звуковые карты, одновременно работающие приложения и пр.). Для реализации протокола bus mastering необходимо, чтобы его поддерживали все участники процесса (включая контроллер жесткого диска и микросхемный набор материнской платы). Технология S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology) представляет собой аппаратный механизм предсказания сбоев на винчестере, что гарантирует пользователей от «сюрпризов» винчестера. Современные жесткие диски с интерфейсом ATA (IDE) должны поддерживать режим Ultra ATA/33, обеспечивающий пиковую внешнюю производительность винчестера до 33,3 Мбайт/с. Многие диски выпускаются уже с интерфейсом Ultra ATA/66 (максимальная скорость передачи 66,6 Мбайт/с), но, к сожалению, реально эти показатели достигаются редко, поскольку производительность винчестеров сдерживается не узостью интерфейса передачи данных, а главным образом механикой.
Высокая скорость вращения дисков внутри винчестера приводит к возникновению вибрации, которая недопустима и гасится специальными конструктивными приспособлениями. Именно поэтому конструктивное совершенство винчестера нередко можно определить на слух: чем тише работает жесткий диск, тем лучше его механика и меньше нагрев.
Покупка винчестера: на что обратить внимание
При покупке винчестера в прайс-листе торгующей фирмы обычно можно встретить следующую строчку: HDD IBM 13.7 GB 5400 rpm IDE ATA/66. На русский язык это переводится так: винчестер производства IBM, емкостью 13,7 Гбайт, скоростью вращения шпинделя 5400 оборотов в минуту с интерфейсом Ultra ATA/66. Малопонятно это выглядит лишь на первый взгляд. На самом же деле принципы выбора винчестера универсальны:
- авторитетная торговая марка — не гарантия качества, но довод в пользу выбора именно фирменного винчестера. В первую очередь присмотритесь к моделям от IBM и Seagate, хотя у них, как и у любой компании, есть удачные и крайне неудачные серии винчестеров;
- чем выше емкость, тем выгоднее становится винчестер по отношению «цена за мегабайт». Однако винчестеры большой емкости нередко становятся свалкой забытых файлов, а стоят дороже своих менее емких собратьев. Большие винчестеры гораздо дольше обслуживать (например, производить дефрагментацию), поэтому для домашних целей можно рекомендовать жесткие диски емкостью около 10-20 Гбайт;
- чем выше скорость вращения шпинделя дисковода, тем больше его производительность (скорость записи и считывания данных), но выше цена и сильнее нагрев. Для домашнего и офисного использования советуем отдать предпочтение винчестерам со скоростью вращения шпинделя 5400-7200 rpm (revolutions per minute — оборотов в минуту);
- IDE (ATA) — это тип интерфейса (механизма и протокола подключения) дисковода к системной плате компьютера. Интерфейс IDE — самый дешевый и наиболее распространенный, поэтому ему можно дать универсальную рекомендацию. Более «профессиональным» считается интерфейс SCSI, позволяющий подключать до восьми устройств и IEEE-1394 (FireWire). SCSI получил заметно меньшее распространение, чем IDE, благодаря высокой цене и особенностям конфигурирования. А FireWire в ближайшее время должен стать стандартом для обмена цифровыми данными между цифровой бытовой электроникой и компьютерной периферией. Словом, если вы не занимаетесь видеомонтажом, оцифровкой видео и редактированием огромных файлов, то ваш выбор — винчестер с интерфейсом IDE;
- ATA/66 (то же Ultra ATA 66 или Ultra DMA 66) — расширение интерфейса IDE (ATA), позволяющее в исключительных случаях достигать скорости передачи данных 66 Мбайт/с и нередко снижать нагрузку на центральный процессор. Это, конечно, бывает крайне редко и длится считанные доли секунды. Обычная производительность винчестера — в 4-5 раз ниже. Для того чтобы дисковая подсистема могла развивать подобную производительность, необходимо, чтобы контроллер системной платы и винчестер поддерживали такой стандарт. Современные винчестеры выпускаются уже с поддержкой ATA-100 и стоят ненамного дороже аналогов с ATA/33 или ATA/66. Вывод: если позволяют финансы, предпочтительнее приобрести винчестер ATA-100, но и ATA/66 — вполне неплохой выбор.
Замечания по поводу оптимизации дисковой подсистемы
Cкоростной винчестер еще не гарантирует вам максимальную производительность дисковой подсистемы. Подобно тому, как короля играет свита, производительность винчестера зависит от тех устройств, в окружении которых он вынужден работать. Прежде всего необходимо соразмерять потребности и возможности. На практике это означает, что перед покупкой винчестера вы должны абсолютно точно знать возможности своей материнской платы. Приобретение накопителя ATA-100 под материнскую плату ATA-33/66 должно быть тщательно продумано и обосновано — это нужно в первую очередь для вас самих. К сожалению, нередки случаи (особенно в академической среде), когда для обновления давно устаревших i486/P60 приобретались накопители ATA-100 (7200 об./мин). Говорить о финансовой или практической целесообразности этого решения не приходится. Однако не будем сосредоточиваться на очевидном, а рассмотрим малоизвестные факторы, влияющие на скорость дисковой подсистемы.
Два ATA-устройства на одном шлейфе: хорошо или плохо? Однозначно — плохо! И вызвано это не только тем фактором, что транспортной средой для обоих устройств служит один и тот же физический шлейф. Проблема заключается несколько в другом — в способе работы контроллера с каждым устройством, при котором невозможна их параллельная работа. Другими словами: до тех пор, пока первое устройство не выполнило команду, обратиться ко второму невозможно. Это означает, что в случае обращения к более медленному устройству в связке более быстрое будет вынуждено ожидать окончания предыдущей операции, что может существенно замедлить его работу. Наиболее отчетливо это видно на примере связки «винчестер—привод CD-ROM». Именно поэтому рекомендуется разносить ATA-устройства по различным шлейфам в зависимости от скорости их работы.
Использование режима bus mastering. Самый первый принятый стандарт АТА предполагал использование центрального процессора (ЦП) компьютера для организации работы с устройствами хранения информации. Это был режим PIO (programmed input/output), работу в котором до сих пор должны поддерживать все АТА-устройства. В то же время недальновидность этого способа, расходовавшего ценные процессорные ресурсы на работу с АТА-устройствами, была вполне очевидна. Поэтому производители оборудования предложили альтернативу — режим Bus Mastering (другое название — DMA/UDMA). Главным отличием нового режима стало освобождение ЦП от операций управления передачей данных и делегирование этих функций АТА-контроллеру. В результате высвобождаются мощности ЦП для более важных операций, что позволяет увеличить пропускную способность дисковой подсистемы. Этот режим без проблем поддерживается всеми материнскими платами уже более пяти лет.
Использование RAID-контроллера. Основными претензиями к жестким дискам остаются их малый объем и постоянно недостаточная скорость работы. Это справедливо для винчестеров, установленных как на серверах, так и на рабочих станциях. Однако если предложение провести обновление серверной дисковой подсистемы еще имеет шанс быть одобренным руководством, то жалобы на недостаточную скорость жесткого диска на рабочей станции с вероятностью 99,9% скончаются еще не достигнув ушей вашего системного администратора. С домашним компьютером дело обстоит еще драматичнее, поскольку деньги на обновление дисковой подсистемы придется изымать из семейного бюджета. При этом скоростные винчестеры (ATA-100, 7200 об./мин) в настоящее время стоят порядка 130 долл. за 20 Гбайт. Выходом из тупика может стать использование RAID-контроллера, позволяющего объединить несколько физических дисков в один логический. В двух словах принцип использования RAID заключается в распараллеливании потоков чтения/записи информации между несколькими физическими носителями. В результате максимальная скорость чтения/записи с «объединенного» носителя возрастает во столько раз, сколько физических накопителей использовалось при создании RAID-массива. Вышесказанное справедливо только для RAID-массивов нулевого уровня, которые не предполагают дублирования хранимой информации. Раньше в RAID-массивах использовались довольно дорогие жесткие диски с интерфейсом SCSI. Но уже около года на рынке доступны дешевые (от 36 долл.) RAID-контроллеры для жестких дисков с интерфейсом IDE. Кроме того, некоторые производители материнских плат (Abit, MSI и др.) наряду со стандартными интерфейсами IDE устанавливают на свои платы RAID-контроллеры. Наиболее распространенными моделями карт RAID-контроллеров для ATA-винчестеров на нашем рынке являются Promise и Abit Hot Rod. Естественно, они не единственные. В частности, компания American Megatrends, Inc. (AMI), более известная как производитель RAID-контроллеров для SCSI-винчестеров, обратила свое внимание на этот сегмент рынка и выпустила AMI HyperDisk ATA-100 RAID (ориентировочная цена 120 долл.). В результате мы в любой момент имеем возможность увеличить быстродействие своей дисковой подсистемы, не нуждаясь в крупных затратах. Для того чтобы ситуация с RAID не казалась столь оптимистичной, добавим ложку дегтя в бочку меда: у ряда RAID-контроллеров существуют серьезнейшие проблемы, природа которых пока неизвестна. Речь идет, например, о проблеме совместимости винчестеров IBM DTLA — 3070xx и RAID-контроллеров, построенных на чипсете HighPoint HPT-366/368/370. Эта проблема уже несколько недель активно обсуждается в Интернет-форумах. Суть ее заключается в том, что в случае создания RAID-массива с использованием RAID-контроллера на базе чипсета HPT — 366/368/370 на базе винчестеров IBM DTLA-3070xx происходит непрогнозируемое «осыпание» данных и появление большого числа сбойных блоков даже на новых винчестерах. Судя по отзывам пользователей, эта проблема не коснулась пользователей продукции компании Promise, однако обладатели Abit Hot Rod и материнских плат с интегрированным контроллером HPT-370 (достоверно подтверждено на платах Abit VP6 и Abit BX-133 RAID) в полной мере ее ощутили. Природа этого явления пока не получила официального объяснения, однако высказываются сомнения относительно корректности завершения работы винчестеров, входящих в состав массива, при завершении работы компьютера. В результате данные из кэша винчестеров не сохраняются на носители, что нарушает целостность данных. При этом в случае использования RAID-контроллера как источника дополнительных ATA-100 портов (то есть неиспользования функции RAID) указанная проблема не возникает. Самое обидное заключается в том, что этому эффекту подвержены одни из лучших представителей семейства ATA-100 винчестеров (серия DTLA — 3070xx), поскольку о подобных случаях с винчестерами других производителей не сообщается.
Некоторые наблюдения по организации RAID-массивов из АТА-накопителей
В данном разделе приведен ряд достоверных наблюдений авторов в процессе создания сервера резервного копирования, а также предварительных выводов, которые были сделаны на их основе.
Ситуация первая: используется Abit VP6 Dual PIII — 667 с четырьмя IBM DTLA-307045 в одном RAID-массиве. Первый месяц все работает без проблем. Примерно в середине пятой недели происходит спонтанное (за одни сутки) «осыпание» (появление сбойных блоков) всего массива. Массив был разобран, и путем выполнения проверок всех дисков индивидуально было констатировано огромное количество сбойных блоков (~ 3%) на каждом винчестере. Интересно, что картина их расположения повторялась у каждой пары накопителей. Сделанный вывод: проблема совместного взаимодействия HPT-370 с IBM DTLA-3070xx не решается последними версиями прошивок и драйверов.
Ситуация вторая: все то же самое, только вместо встроенного RAID-контроллера используется AMI HyperDisk 100. Кроме того, сбойные диски IBM заменены на два винчестера Fujitsu и два винчестера Quantum, подключенных соответственно к первому и второму каналу контроллера. Предполагалась организация двух RAID-массивов на базе каждой пары винчестеров. Все винчестеры установлены в rack-модули, соединенные с RAID-контроллером шлейфами ATA-100 (80-контактными). После ручного создания двух массивов мы констатировали появление двух новых дисков ожидаемого размера (ОС MS Windows 2000). После этого при форматировании с попыткой записи данных операционная система зависла. Вспомнив, что в rack-модуле соединение винчестеров идет через шлейф АТА-33 (при этом контроллер указывал режим работы с винчестерами UDMA-5), мы заменили соединительные шлейфы на АТА-33. После подобной замены контроллер при каждой загрузке начал выводить предупреждение о неизбежном повышении скорости, которое ожидает нас при замене шлейфов. С глубоким прискорбием игнорируя это приглашение, мы констатировали начало нормальной работы одной пары накопителей. Однако подключение второй пары преподнесло сюрприз — созданный накопитель оказалось невозможно отформатировать средствами Windows 2000, поскольку в конце форматирования ОС сообщала, что форматирование не может быть продолжено. Пережив приступ минутной слабости, мы пристально изучили документацию на HyperDisk, особенно раздел, посвященный автоматическому созданию массивов. В результате было произведено уничтожение первого набора массивов и в автоматическом режиме был создан второй. И тут начались неожиданности. Прежде всего контроллер объединил в один массив винчестеры разных производителей, то есть вместо тандемов по производителям мы получили смешанные тандемы. Это выглядело странным на фоне призывов к использованию одинаковых винчестеров при создании массивов. Неясной осталась и причина, по которой в stripe-массив оказались объединены пары накопителей, а не все четыре одновременно. Исследование сложившейся конфигурации установило ее полную работоспособность. Однако, поскольку объемы винчестеров Fujitsu и Quantum различались (в результате несимметричного объединения терялось примерно 200 Мбайт на каждый массив), мы продолжили попытки симметричного объединения винчестеров. После недолгого, но пристального изучения конфигурации массива было замечено, что каждая пара винчестеров, входящая в его состав, физически подключена к разным каналам RAID-контроллера. Вспомнив тот факт, что АТА-контроллер не способен параллельно работать с устройствами, подключенными к одному его каналу, и что использование массива предполагает одновременную запись на каждое устройство, входящее в его состав, мы сделали предварительный вывод о проблемной работе массива при подключении образующих его накопителей одному каналу АТА. Это предположение давало разумное объяснение факту объединения четырех винчестеров в два массива (а не в один), которое автоматически было выполнено контроллером AMI HyperDisk. Логичным выводом из данного предположения было изменение конфигурации дисков таким образом, чтобы связки Primary Master — Secondary Slave и Secondary Master — Primary Slave образовывались винчестерами от одного производителя. После перекоммутации накопителей было произведено автоматическое переконфигурирование массивов, которое принесло ожидаемый результат — два массива, состоящие из накопителей одного производителя. В итоге мы вернули себе более 200 «урезанных» мегабайт массива. Однако наша радость угасла, когда операционная система обнаружила только один (меньший) массив. На момент подписания номера все попытки заставить операционную систему «увидеть» массив не увенчались успехом, что может служить лишним доказательством необходимости использования в процессе создания массивов абсолютно одинаковых дисков.
КомпьютерПресс 4'2001