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

Когда мы говорим про ресурсы дисковой подсистемы, то назвать их можно три: объем места, скорость чтения и записи в Мб/сек и скорость чтения-записи в количестве операций ввода-вывода в секунду (Input/Output per second, IOPS, или просто I/O).

Поговорим сначала про объем. Я приведу соображения, на которые следует ориентироваться, и пример расчета.

Соображения следующие:

Место на диске занимают сами файлы-диски виртуальных машин. Следовательно, нужно понять, сколько места нужно им;

Если для всех или части ВМ мы планируем использовать тонкие (thin) диски, то следует спланировать их первоначальный объем и последующий рост (здесь и далее под thin-дисками понимается соответствующий тип vmdk-файлов, то есть функция thin provisioning в реализации ESX(i). Дело в том, что функционал thin provisioning может быть реализован на системе хранения независимо от ESX(i), и я имею в виду не функционал систем хранения);

По умолчанию для каждой ВМ гипервизор создает файл подкачки, по размерам равный объему ее оперативной памяти. Этот файл подкачки располагается в папке ВМ (по умолчанию) или на отдельном LUN;

Если планируются к использованию снимки состояния, то под них тоже следует запланировать место. За точку отсчета можно взять следующие соображения:

Если снимки состояния будут существовать короткий период после создания, например только на время резервного копирования, то под них запасаем процентов десять от размера диска ВМ;

Если снимки состояния будут использоваться со средней или непрогнозируемой интенсивностью, то для них имеет смысл заложить порядка 30% от размера диска ВМ;

Если снимки состояния для ВМ будут использоваться активно (что актуально в сценариях, когда ВМ используются для тестирования и разработки), то занимаемый ими объем может в разы превышать номинальный размер виртуальных дисков. В этом случае точные рекомендации дать сложно, но за точку отсчета можно взять удвоение размера каждой ВМ. (Здесь и далее под снимком состояния понимается соответствующий функционал ESX(i). Дело в том, что снимки состояния (snapshot) могут быть реализованы на системе хранения независимо от ESX(i), и я имею в виду не функционал систем хранения.)

Примерная формула выглядит следующим образом:

Объем места для группы ВМ = Количество ВМ х (Размер диска х T +

Размер диска х S + Объем памяти - Объем памяти х R).

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

S - размер снимков состояния. 10/30/200 процентов, в зависимости от продолжительности непрерывного использования;

R - процент зарезервированной памяти. Зарезервированная память в файл подкачки не помещается, файл подкачки создается меньшего размера. Размер его равен: объем памяти ВМ минус объем зарезервированной памяти.

Оценочные входные данные, для примера, см. в табл. 1.3.

Таблица 1.3. Данные для планирования объема дисковой подсистемы

Получаем оценку требуемого объема:

Инфраструктурная группа - 15 х (20 + 20 х 10% + 2 - 2 х 0) = 360 Гб;

Серверы приложений - 20 х (40 + 40 х 10% + 2 - 2 х 0) = 920 Гб;

Критичные серверы - 10 х (100 + 100 х 10% + 6 - 6 х 0.5) = 1130 Гб;

Тестовые и временные - 20 х (20 х 30% + (20 х 30%) х 200% + 2 - 2 х 0) = = 400 Гб.

Следовательно, мы можем создать два LUN по 1,4 Тб и примерно поровну распределить между ними виртуальные машины. Или создать 4-5 LUN по 600800 Гб и поместить машины разных групп на разные LUN. Оба варианта (и промежуточные между ними) приемлемы. Выбор между ними делается, исходя из прочих предпочтений (например, организационных).

Еще одним ресурсом дисковой подсистемы является производительность. В случае виртуальных машин скорость в Мб/сек не является надежным критерием, потому что при обращении большого количества ВМ на одни и те же диски обращения идут непоследовательно. Для виртуальной инфраструктуры более важной характеристикой является количество операций ввода-вывода (IOPS, Input/ Output per second). Дисковая подсистема нашей инфраструктуры должна позволять больше этих операций, чем их запрашивают виртуальные машины.

Какой путь проходят обращения гостевой ОС к физическим дискам в общем случае:

1. Гостевая ОС передает запрос драйверу контроллера SAS/SCSI (который для нее эмулирует гипервизор).

2. Драйвер передает его на сам виртуальный контроллер SAS/SCSI.

3. Гипервизор перехватывает его, объединяет с запросами от других ВМ и передает общую очередь драйверу физического контроллера (HBA в случае FC и аппаратного iSCSI или Ethernet-контроллер в случае NFS и программного iSCSI).

4. Драйвер передает запрос на контроллер.

5. Контроллер передает его на систему хранения, по сети передачи данных.

6. Контроллер системы хранения принимает запрос. Запрос этот - операция чтения или записи с какого-то LUN или тома NFS.

7. LUN - это «виртуальный раздел» на массиве RAID, состоящем из физических дисков. То есть запрос передается контроллером СХД на диски этого массива RAID.

Где может быть узкое место дисковой подсистемы:

Скорее всего, на уровне физических дисков. Важно количество физических дисков в массиве RAID. Чем их больше, тем лучше операции чтения-записи могут быть распараллелены. Также чем быстрее (в терминах I/O) сами диски, тем лучше;

Разные уровни массивов RAID обладают разной производительностью. Законченные рекомендации дать сложно, потому что, кроме скорости, типы RAID отличаются еще стоимостью и надежностью. Однако базовые соображения звучат так:

RAID-10 - самый быстрый, но наименее эффективно использует пространство дисков, отнимая 50% на поддержку отказоустойчивости;

RAID-6 - самый надежный, но страдает низкой производительностью на записи (30-40% от показателей RAID-10 при 100% записи), хотя чтение с него такое же быстрое, как с RAID-10;

RAID-5 компромиссен. Производительность на запись лучше RAID-6 (но хуже RAID-10), выше эффективность хранения (на отказоустойчивость забирается емкость лишь одного диска). Но RAID-5 страдает от серьезных проблем, связанных с долгим восстановлением данных после выхода из строя диска в случае использования современных дисков большой емкости и больших RAID-групп, во время которого остается незащищенным от другого сбоя (превращаясь в RAID-0) и резко теряет в производительности;

RAID-0, или «RAID с нулевой отказоустойчивостью», для хранения значимых данных использовать нельзя;

Настройки системы хранения, в частности кеша контроллеров системы хранения. Изучение документации СХД важно для правильной ее настройки и эксплуатации;

Сеть передачи данных. Особенно если планируется к использованию IP СХД, iSCSI или NFS. Я ни в коем случае не хочу сказать, что не надо их использовать, - такие системы давно и многими эксплуатируются. Я хочу сказать, что надо постараться убедиться, что переносимой в виртуальную среду нагрузке хватит пропускной способности сети с планируемой пропускной способностью.

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

Разберем пример. Примем, что наши ВМ будут создавать нагрузку до 1000 IOps, 67% из которых будет составлять чтение, а 33% - запись. Сколько и каких дисков нам потребуется в случае использования RAID-10 и RAID-5?

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

Запись - 1000 х 0,33% = 330 х 2 (так как в записи участвует лишь половина дисков) = 660 IOps.

Всего от дисков нам надо 1330 IOps. Если поделить 1330 на количество IOps, заявленное в характеристиках производительности одного диска, получим требуемое количество дисков в массиве RAID-10 под указанную нагрузку.

Чтение - 1000 х 0,67% = 670 IOps;

Запись - 1000 х 0,33% = 330 х 4 = 1320 IOps.

Всего нам от дисков надо 1990 IOps.

По документации производителей один жесткий диск SAS 15k обрабатывает 150-180 IOps. Один диск SATA 7.2k - 70-100 IOps. Однако есть мнение, что лучше ориентироваться на несколько другие цифры: 50-60 для SATA и 100-120 для SAS.

Закончим пример.

При использовании RAID-10 и SATA нам потребуется 22-26 дисков.

При использовании RAID-5 и SAS нам потребуется 16-19 дисков.

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

За кадром остаются методики получения требуемого для ВМ количества IOPS и отношение чтения к записи. Для уже существующей инфраструктуры (при переносе ее в виртуальные машины) эти данные можно получить с помощью специальных средств сбора информации, например VMware Capacity Planner. Для инфраструктуры планируемой - из документации к приложениям и собственного опыта.

Стремительная эволюция программного обеспечения обусловило все большее возрастание требований к дисковой подсистеме компьютера. Кроме скорости работы и объема хранимой информации особое внимание производителей было сосредоточено на улучшении таких параметров, как надежность накопителей и их потребительские характеристики (например, простота установки и уровень шума). Рост популярности портативных компьютеров направил поток инженерной мысли в область миниатюризации накопителей и увеличения их надежности в экстремальных условиях. Технически разработать решение, удовлетворяющее одновременно всем упомянутым требованиям, теоретически возможно. Однако с практической точки зрения универсальное решение принесет мало радости, поскольку «идеальный» винчестер будет стоить во много раз дороже, чем «неидеальный». Именно по этой причине в настоящее время мы наблюдаем подлинное разнообразие жестких дисков, выполненных по разным технологиям, подключаемых через различные интерфейсы и обладающих различными техническими характеристиками. В предлагаемой вашему вниманию статье даются краткие советы по выбору винчестеров, а также рассматриваются текущие проблемы, с которыми при внедрении 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

Дисковая подсистема компьютера как важный инструмент для обработки растровой графики. Какой вариант быстрее?

В технологических процессах допечатной обработки изображений производительность компьютера играет важную роль. Во-первых, существуют определенные минимальные системные требования для профессиональной работы с графикой. Так, например, подготовить качественный полноцветный макет печатного издания, используя 14-дюймовый монитор и видеокарту, неспособную отображать 24-разрядный цвет, практически невозможно. Во-вторых, соответствие вашей рабочей платформы этим минимальным требованиям еще не означает, что работа с графическими файлами большого объема будет комфортной. Для повышения эффективности работы с компьютером, он должен обладать запасом производительности. Это позволяет выполнять даже ресурсоемкие операции (масштабирование, наложение фильтров на изображение и т. п.) достаточно быстро, а в идеале - в режиме реального времени. Немалый вклад в общую производительность графической станции вносит ее дисковая подсистема. Она становится "узким местом" системы при обработке файлов, объем которых сравним с объемом оперативной памяти компьютера.

Ситуация с жесткими дисками для платформы Wintel всегда выглядела следующим образом: существовали SCSI-винчестеры, ориентированные на Hi-End-сектор рынка, и параллельно предлагались менее дорогие IDE-варианты, предназначенные для установки в остальные системы. За последние пару лет произошел самый настоящий технологический прорыв в области накопителей с интерфейсом IDE - достаточно сказать, что если в конце 1998 года средним по всем показателям считался жесткий диск емкостью 4,3 Гбайт, с частотой вращения шпинделя 5400 об./мин и плотностью записи 2 Гбайт на пластину, то в конце 2000 года в среднюю категорию попадают диски объемом 40-45 Гбайт / 7200 об./мин / 15-20 Гбайт на пластину. При этом нормой становится использование стандарта ATA-100 и уменьшение шума работающего диска до величин порядка 30 дБ.

В области жестких дисков SCSI такого скачкообразного роста характеристик не наблюдалось - до сих пор средняя емкость для дисков этого стандарта находится на уровне 18 Гбайт при плотности записи порядка 6 Гбайт на пластину. Превосходство в производительности над IDE-дисками сохраняется благодаря другим важным параметрам - высокой частоте вращения шпинделя (10 000 об./мин являются нормой), большому объему встроенного буфера (от 4 до 8 Мбайт против 0,5-2 Мбайт у IDE-моделей), а также во многом благодаря особенностям SCSI-технологий вообще.

Тем не менее, современные жесткие диски стандарта IDE буквально наступают на пятки своим дорогим SCSI-собратьям. Самые весомые аргументы в пользу IDE-варианта дисковой подсистемы вашего компьютера - чрезвычайно низкая цена (в 2-4 раза меньше, чем у SCSI) при большой емкости, низком тепловыделении и уровне шума.

Ситуация подогревается еще и тем, что в последнее время популярными стали RAID-массивы дисковых накопителей стандарта IDE. До этого RAID-технологии применялись в основном для дисковых подсистем SCSI. Появление на рынке относительно недорогих IDE RAID-контроллеров позволило IDE-винчестерам еще больше расширить их рыночную нишу. Стандарт RAID 1 (Mirror) позволяет увеличить надежность дисковой подсистемы пропорционально количеству избыточных жестких дисков. Так, построив RAID-массив в режиме Mirror из двух одинаковых винчестеров, мы в два раза увеличиваем надежность хранения нашей информации (она дублируется) и заодно получаем приятный бонус в виде несколько увеличившейся скорости чтения с дискового массива (это возможно благодаря поочередному считыванию блоков информации с двух винчестеров и организации ее в единый поток; этим занимается на аппаратном уровне RAID-контроллер). В случае использования RAID 0 (режим STRIPE) мы получаем увеличение скорости нашей дисковой подсистемы пропорционально количеству дисков, составляющих массив - информация разбивается на небольшие блоки и "раскидывается" по дискам. Таким образом, чисто теоретически, можно было бы увеличить быстродействие дисковой подсистемы в количество раз, равное количеству винчестеров в массиве. К сожалению, на практике скорость увеличивается не так значительно, но об этом вы сможете прочитать ниже, оценив результаты тестов. Нельзя не отметить главный недостаток режима RAID 0 (Stripe) - надежность хранения информации уменьшается ровно в то количество раз, которое равно числу используемых винчестеров. Специально для устранения этого неприятного эффекта предназначен режим RAID 0+1 - своеобразная "смесь" режимов Mirror и Stripe. Для организации массива RAID 0+1 необходимы как минимум 4 жестких диска. Результат - надежность одиночного диска плюс двойной объем и увеличившееся быстродействие.

Представления о производительности различных типов жестких дисков у многих пользователей зачастую сумбурны. Большинство людей знают только то, что "SCSI - это ужасно круто, намного быстрее, чем IDE", некоторые, из числа "продвинутых", искренне считают, что RAID-массив из двух дисков в режиме Stripe ровно в два раза быстрее одиночного винчестера. На самом деле в этой области сложилось много мифов, зачастую совсем неверных. Эта статья - попытка прояснить ситуацию, точно измерив быстродействие разных типов дисковых подсистем. Хотелось бы обратить особое внимание на то, что для оценки производительности использовались не синтетические наборы тестов (от которых, как правило, мало толку), а самые что ни на есть практические задачи из арсенала людей, профессионально занимающихся графикой на PC.

Итак, тестировались следующие варианты дисковых подсистем:

IDE -винчестер устаревшей серии (5400 об./мин, 512 кбайт кэш, 4 Гбайт на пластину) с интерфейсом АТА-33 - Fujitsu MPD3130AT; системная плата - i440BX с встроенным контроллером ATA-33.
IDE -винчестер новой серии (7200 об./мин, 2048 Кбайт кэш, 20 Гбайт на пластину) с интерфейсом АТА-33 - Western Digital WD200; i440BX, ATA-33 (встроенный).
IDE -винчестер новой серии (7200 об./мин, 2048 Кбайт кэш, 20 Гбайт на пластину) с интерфейсом АТА-100 - Western Digital WD200; RAID-контроллер Promise FastTrak100 (SPAN).
RAID -массив из двух современных IDE-дисков в режиме Stripe - 2xWestern Digital WD200; Highpoint Technologies HPT370 UDMA/ATA 100 Raid Controller (STRIPE).
SCSI -винчестер высокого класса (10 000 об./мин, 4096 Кбайт кэш, 6 Гбайт на пластину) с интерфейсом SCSI Ultra160 - Fujitsu MAJ 3182 MP; контроллер SCSI - Adaptec 29160N.

Для чистоты эксперимента, каждый вариант дисковой подсистемы устанавливался в систему абсолютно "с нуля". Диск (или дисковый массив) разбивался программой FDISK на три логических. При этом объем загрузочного раздела (логический диск С:\) всегда устанавливался равным 3 Гбайт. Остальное пространство делилось поровну между дисками D:\ и E:\. Операционная система устанавливалась на диск С:\, файл подкачки Photoshop располагался на диске D:\; там же находились тестовые файлы. Файловая система - FAT32.

Для того, чтобы дать хорошую нагрузку на дисковую подсистему и таким образом оценить ее производительность, объем оперативной памяти был ограничен до 128 Мбайт (притом, что в системах такого класса, предназначенных для работы с растровой графикой, 256 Мбайт являются начальным уровнем). Объем памяти, доступной программе Photoshop 5.5, устанавливался в 50% от общей свободной. Этот объем составлял примерно 57 Мбайт. Все тесты прогонялись с двумя файлами различного объема - размер первого составлял 1/5 от объема памяти, доступного Photoshop, размер второго - в 1.5 раза больше (). Это позволило получить данные о скорости выполнения той или иной операции в двух случаях: когда обрабатываемый файл с запасом помещается в оперативной памяти, и когда он там гарантированно не помещается целиком. Надо сказать, что для файла меньшего объема результаты, полученные на разных дисковых подсистемах, практически идентичны, что совсем неудивительно - основная обработка происходила в оперативной памяти. Различия в этом случае заметны только в операциях чтения/записи - при открытии и сохранении файла. Совсем другая картина наблюдалась при обработке файла большого объема. Поскольку файл не помещался целиком в оперативной памяти, Photoshop активно задействовал дисковую подсистему компьютера. Результаты этих тестов, как наиболее показательные, оформлены в виде диаграмм. Полные результаты, включающие в себя тесты с файлом меньшего объема, а также с более мощным процессором, можно увидеть в сводной таблице № 2 .

Интересующиеся могут повторить все приведенные в этой статье тесты на других системах, поскольку все используемые настройки приведены в таблице. Тестовые файлы были созданы следующим образом: из каталога... \Adobe\Photoshop5.5\Goodies\ Samples\ был взят файл CMYK balloons.tif. После перевода в формат RGB он был увеличен до размеров 2240x1680 и 6400x4800 пикселов, результатом чего стали два файла формата TIFF RGB объемом 10,7 и 89,7 Мбайт соответственно. Над полученными файлами и проводились все операции. После каждой операции результат отменялся командой Undo. Последняя операция (Save) производилась в формате CMYK. Каждый тест прогонялся три раза, результаты усреднялись. После каждого теста система перезагружалась.

Система № 1: Fujitsu MPD3130AT; i440BX, ATA-33

Жесткий диск Fujitsu серии MPD - вполне заслуженный ветеран. Полтора года тому назад винчестеры такого класса, как Fujitsu MPD, Quantum CR и прочие их аналоги являлись самыми быстрыми в секторе жестких дисков стандарта IDE. Этот винчестер имеет три пластины емкостью по 4,32 Гбайт, 6 головок чтения/записи и встроенный буфер объемом 512 Кбайт. Среднее время поиска - 9,5/10,5 мс (чтение/запись), частота вращения шпинделя - 5400 об./мин, уровень шума - 36 дБ. Поддерживается стандарт АТА-66, однако это не более, чем маркетинговый ход, поскольку скорость передачи данных находится в пределах 14,5-26,1 Мбайт/с, что полностью вписывается в возможности стандарта АТА-33 (33,3 Мбайт/с).

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

В тестах MPD3130AT существенно проигрывает всем остальным участникам, что совсем неудивительно, учитывая разницу характеристик с ближайшим конкурентом WD200 (частота вращения - 5400 и 7200 об./мин соответственно, плотность записи - 4,3 Гбайт на пластину против 20 Гбайт).

Тестирование на двух различных операционных системах дало несколько противоречивые результаты: в Windows 98 заметно быстрее выполняются операции открытия и сохранения файла, а в Windows 2000 - все остальные. В остальном - никаких сюрпризов.

Система № 2: Western Digital WD200; i440BX, ATA-33.

WD200 - представитель нового поколения жестких дисков. Основные параметры - 7200 об./мин, увеличенный до 2048 Кбайт внутренний кэш, плотность записи - 20 Гбайт на пластину. Диск имеет одну пластину и две головки. Среднее время поиска заявлено производителем как 8,9/10,9 мс, что не очень отличается от характеристик Fujitsu MPD3130AT. Тем не менее, WD200 заметно быстрее. Во-первых, сказывается больший объем встроенного буфера. Во-вторых, скорость обмена на участке "буфер-поверхность" достигает впечатляющих 30,5-50 Мбайт/с - все-таки 20 Гбайт на пластину - нешуточная плотность записи.

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

С тепловыделением дела обстоят похуже, но вполне приемлемо. После часа интенсивной работы винчестер нагрелся градусов до 45, т.е. на ощупь был довольно теплым, но не горячим.

В целом данная конфигурация оставила очень благоприятное впечатление и является несомненным чемпионом по соотношению "цена-производительность". Судите сами - при цене порядка 130 долл. этот винчестер образует вполне законченное решение с встроенным контроллером АТА-33 чипсета 440ВХ. И никаких проблем с Windows 98, как это наблюдается в случае использования АТА-100.

Система № 3: Western Digital WD200; ATA-100 Promise FastTrak100 (SPAN).

Тесты выявили очень интересный момент - при использовании интерфейса АТА-100 в Windows 98 производительность дисковой подсистемы оказалась в большинстве случаях ниже, чем при использовании АТА-33. А в отдельных случаях наблюдалось просто катастрофическое (в 5-10 раз) падение производительности! Поскольку в Windows 2000 результаты были абсолютно предсказуемыми (то есть АТА-100 оказался, как и положено, быстрее АТА-33), это дает основания подозревать в некорректной работе связку Windows 98 + ATA-100. Возможно причина кроется в конкретной модели контроллера - Promise FastTrak100. К тому же, большинство тестов выполнялось быстрее в Windows 2000.

Из всего этого можно сделать логичный вывод - для серьезной работы с графикой Windows 98 не подходит. Если вы хотите использовать последние достижения в области IDE, а именно интерфейс АТА-100 или RAID-массив в режиме STRIPE - лучше работать с ОС семейства NT (Windows NT 4.0 или Windows 2000), которые в таких режимах ведут себя более корректно.

При использовании ОС Windows 2000 выигрыш от перехода с АТА-33 на АТА-100 есть, но он невелик.

Система № 4: два диска Western Digital WD200 + HPT370 UDMA/ATA 100 Raid Controller(STRIPE).

И, наконец, в деле был испытан RAID-массив из двух одинаковых жестких дисков в режиме чередования блоков данных (STRIPE). Использовался размер блока 64 Кбайт, как наиболее оптимальный (по данным других независимых испытаний). Теоретически быстродействие такой дисковой подсистемы может быть в 2 раза больше, чем у диска-одиночки. Но результаты тестов не оставляют поводов для оптимизма. В подавляющем большинстве задач выигрыш в производительности составляет 5-15% относительно одиночного диска с интерфейсом АТА-100.

Одним словом, результаты неутешительные. Рекомендовать построение массива RAID 0 можно лишь тому, кто хочет вытянуть максимальную производительность из технологии IDE, невзирая на все вышеописанные недостатки. Но это может понадобиться разве что тем, кто занимается вводом несжатого видео на PC.

Система № 5: Fujitsu MAJ 3182 MP + SCSI-контроллер Adaptec 29160N.

Последний участник "соревнований" - SCSI-винчестер весьма высокого класса. Надо сказать, что MAJ 3182 был выбран в качестве "верхней планки" данного теста. Что ж, свое превосходство этому жесткому диску удалось показать наглядно - практически во всех тестах он идет "ноздря в ноздрю" со своим главным соперником - RAID-массивом в режиме STRIPE.

Представление о потенциальных возможностях Fujitsu MAJ 3182 MP могут дать и его характеристики. Частота вращения шпинделя - 10 025 об./мин, количество дисков - 3, головок - 5, среднее время поиска - 4,7/5,2 мс, объем встроенного буфера - 4096 Кбайт. Используется интерфейс SCSI Ultra160, обеспечивающий синхронную скорость передачи данных на участке "буфер-контроллер" в 160 Мбайт/с.

Все эти впечатляющие параметры сказались на энергопотреблении и шумности винчестера. Греется Fujitsu MAJ 3182 MP просто ужасно - температура корпуса после продолжительной работы поднимается, наверное, до 60°С, если не больше - корпус явственно обжигает пальцы. Уровень шума при работе тоже не маленький - 40 дБ. И самый главный недостаток - цена. На момент написания этих строк комплект из жесткого диска и контроллера SCSI-160 стоил в Москве около 500 долл.

Итоги

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

  1. Диски предыдущих поколений с небольшой плотностью записи и малым объемом встроенного буфера значительно проигрывают современным моделям по всем основным параметрам - скорости, емкости и бесшумности. Смело меняйте старенький винчестер класса Fujitsu MPD на новый высокооборотистый жесткий диск с повышенной плотностью записи (15-20 Гбайт на пластину) и большим объемом кэша (2 Мбайт). Выигрыш в производительности может составлять 100 и более процентов. Причем все сказанное остается в силе даже при использовании интерфейса АТА-33.
  2. Переход с АТА-33 на АТА-100 не дает большого прироста производительности. Покупать отдельный контроллер АТА-100, пусть и недорогой (порядка 30 долл.), на мой взгляд не стоит. Подходящий вариант - наличие на системной плате "бесплатного" встроенного контроллера этого стандарта.
  3. RAID-массив в режиме STRIPE показал очень хорошую производительность - на уровне "десятитысячника" SCSI, а зачастую и выше. При этом нужно учитывать очень привлекательную стоимость такой конфигурации, ведь два винчестера, составляющих массив, вместе с недорогим RAID-контроллером от Highpoint стоят меньше, чем один SCSI винчестер без контроллера! (130+130+30 = 290 долл.). И плюс ко всему, мы получаем огромную, по сравнению со SCSI-вариантом, емкость - 40 Гбайт. Единственный, но очень большой минус - уменьшение надежности хранения данных в 2 раза. Впрочем, если дисковый массив такого типа будет использоваться в качестве средства для оперативной работы, а не как долговременного хранилища ценной информации, его приобретение более чем оправдано.
  4. SCSI-винчестеры верхнего уровня, как и следовало ожидать, обладают высочайшей производительностью.

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

В заключение хотелось бы обратить внимание читателей на две строки в последней таблице - результаты измерений при замене процессора Pentium-III-650E (частота системной шины 100 МГц) на Pentium-III-866EB (FSB 133 МГц). Как видно, замена процессора на ощутимо более мощный не дает большого разброса результатов. Это показывает, что выбранная методика тестирования была правильной (низкая "процессорозависимость", основная нагрузка ложится на дисковую подсистему).

С Андреем Никулиным можно связаться по электронной почте: [email protected] .

Редакция благодарит за помощь компании Elko Moscow, SMS, "Пирит" и "Русский Стиль", предоставившие оборудование для тестирования.

Таблица 1. Состав тестовой платформы:
Системная плата ASUS P3B-F
Процессор Intel Pentium III-650E (FSB 100 MHz)
Оперативная память 128 Мбайт, PC-133 M.tec (2-2-2-8-Fast)
Видеоадаптер Creative 3DBlaster TNT2 Ultra
RAID-контроллер Highpoint Technologies HPT370 UDMA/ATA 100 Raid Controller
ATA-100 контроллер Promise FastTrak100
SCSI-контроллер Adaptec 29160N (Single Channel 32-bit PCI-to-Ultra160 SCSI Host Adapter (OEM))
Жесткие диски IDE-Fujitsu MPD3130AT
IDE - Western Digital WD200 - 2 шт.
SCSI - Fujitsu MAJ 3182 MP
Операционная система Windows 98 4.10.1998 + DirectX 7.0a
Windows 2000 Professional 5.00.2195 Service Pack 1
Тестовая программа (настройки опций) Adobe Photoshop 5.5: Cache Settings (Параметры кэш-памяти): Cache Levels - 4
Опция Use cache for histograms включена Physical Memory Usage (Использование физической памяти): Available RAM - 113 961 Kбайт; Used by Photoshop - 50%; Photoshop RAM - 56 980 Kбайт.
Scratch Disks (Диски подкачки): First: D:\; остальные отключены.
Тестовые файлы 0,2 Photoshop RAM; 2240x1680 пикселов; 24-разрядный цвет; RGB TIFF, 10,7 Мбайт;
1,5 Photoshop RAM; 6400x4800x24; RGB TIFF; 87,9 Мбайт.

Журналов в свободном доступе.

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

Флоппи-дисководы – "ветераны" среди дисковых устройств. Они считывают данные с дискет (носителя информации) и производят на них запись. Тип дисковода определяется видом используемой дискеты (FloppyDisk). На сегодняшний день широко применяются дискеты размером 3.5" с поддержкой двухсторонней записи высокой плотности (DSHD). Емкость такой дискеты традиционно составляет 1.44 Мб, хотя с использованием специального Software она может быть повышена до 2,8 Мб или, наоборот, понижена. Дискеты размером 5.25" практически вышли из употребления.

На сегодняшний день дискеты не являются основным средством хранения данных и программ и используются, обычно, для переноса небольших файлов с одного компьютера на другой. Именно это обстоятельство и определило живучесть более компактных и удобных в транспортировке 3.5" дискет. Стандартом для компьютера считается наличие одного 3.5" дисковода, который чаще всего изготавливается во внутреннем исполнении (бывают и варианты в отдельном корпусе).

Производители дисководов: Teac, NEC, Mitsumi, Panasonic, Epson… Производители дискет: Verbatim, BASF, Sony, TDK, FujiFilm… Особо отметим дискеты Verbatim, которые считаются наиболее надежными и имеют различные варианты исполнения, в т.ч. с тефлоновым покрытием.

Жесткий диск (Hard Disk) впервые был реализован для ПК в 1983 году и с тех пор стал основным устройством хранения информации. Принцип хранения данных на жестких дисках тот же, что и на дискетах: намагничивание участков тонкого ферромагнитного слоя, нанесенного на поверхность носителя. Только в жестких дисках используются более прогрессивные мелкодисперсные и многослойные покрытия, нанесенные на идеально плоские и гладкие алюминиевые или стеклянные диски. Обычно жесткий диск имеет 4 "блина", т.е. носителя с двухсторонним покрытием.

Главным параметром жесткого диска считают его емкость. Первый жесткий диск, названный создателями "винчестер", имел емкость 10 Мб. С тех пор этот параметр существенно вырос и достигает 160 Гб. Современные настольные ПК оснащаются жесткими дисками 20, 40 и 60 Гб, мобильные ПК зачастую имеют устройства меньшей емкости.

Главный резерв производительности и вместимости диска – увеличение плотности записи информации на магнитный слой носителя (пластины). По мнению исследователей, предел плотности для нынешней технологии магнитной записи – 40-50 Гбит/кв.дюйм. Сегодня серийно выпускаются диски с плотностью записи 14-15 Гбит/кв.дюйм, хотя имеются варианты и 22,5 Гбит/кв.дюйм. Вот как развивался этот показатель:



Жесткий диск взаимодействует с остальными элементами компьютера через контроллер и имеет два интерфейса: EIDE и SCSI. Диск с интерфейсом EIDE (часто его называют IDE) более распространен и менее дорогостоящ, имеет встроенный контроллер на материнской плате, но создает нагрузку на процессор, что замедляет выполнение команд. Интерфейс SCSI более дорогое решение, позволяющее существенно увеличить скорость работы с жестким диском, уменьшить нагрузку на процессор. При этом требуется дополнительная установка платы с контроллером.

Еще один параметр жесткого диска частота его вращения. Собственно вращается блок дисков, находящихся внутри герметичного корпуса. В большинстве дисков применяется частота вращения 5400 и 7200 об/мин, хотя имеются модели с 10000 и 15000 об/мин. Увеличение скорости вращения ведет к повышению производительности жесткого диска, но увеличивает шум, производимый им при работе.

Все современные жесткие диски имеют кэш-буфер данных, размер которого для IDE-дисков колеблется в пределах от 512 Кб до 2 Мб, а для SCSI-дисков достигает 16 Мб.

Максимальная внутренняя скорость последовательного чтения данных (transfer) составляет на сегодня 30…48 Мб/с. Существуют разработки со скоростью чтения 1 Гбит/с.

Среднее время поиска при чтении/записи (seek) колеблется от 15 мс до 3,9 мс. Среднее время поиска соседней дорожки при чтении/записи составляет 2…0,8 мс.

Современные жесткие диски используют протокол UltraATA/33, UltraATA/66 или
UltraATA/100, обеспечивающие внешнюю скорость чтения диска, соответственно, .33, 66 или 100 Мб/с. Разработан новый интерфейс UltraATA/133, который пока не нашел должной поддержки производителей. Ожидается выход дисков с интерфейсом Serial ATA со скоростью 1,5 Гбит/с, который впоследствии может быть ускорен еще вчетверо.

В заключении отметим такой специфический параметр жесткого диска, как ударопрочность, которая в рабочем состоянии составляет 10…60 Gs, а в нерабочем – 100…400 Gs.

Основные производители жестких дисков: Seagate, Fujitsu, IBM, WesternDigital, Quantum, Maxtor, Samsung…

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

Для построения отказоустойчивой системы необходимо уделить внимание нескольким основным ее компонентам. Решающее значение имеет надежность дисковой подсистемы. Давайте рассмотрим основные характеристики отказоустойчивых дисковых подсистем и остановимся подробнее на их реализации с помощью технологии RAID.

Что стоит за отказоустойчивостью дисковой подсистемы

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

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

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

Второй метод - параллельное оперативное тестирование (Concurrent Online Testing) - относится ко времени нормальной работы системы. Этот метод ищет главным образом те ошибки, которые могли появится после инсталляции системы. Один из самых известных способов оперативного тестирования - контроль четности (parity checking). Он гарантирует, что каждый байт данных, передаваемый по компьютерной системе, дойдет до следующего ее компонента в целости и сохранности. Метод контроля четности только обнаруживает присутствие ошибки и не может определить, какой бит потерян. Поэтому он используется вместе с кодом коррекции ошибок (Error Correction Code), который точно определяет, какие данные потеряны, позволяя системе быстро их восстановить.

Наконец, третий метод обнаружения ошибок - тестирование избыточности (Redundancy Testing). Он проверяет правильность функционирования средств отказоустойчивости системы.

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

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

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

Дисковые подсистемы RAID

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

В 1987 году трое специалистов из университета Беркли опубликовали статью с описанием методов обеспечения отказоустойчивости с помощью массивов небольших (3.5- и 5.25-дюймовых) дисководов, которые могут достичь показателей производительности, характерных для одного большого дорогого диска (Single Large Expensive Disk - SLED) в мэйнфреймах. Эта технология получила название RAID - Redundant Array of Inexpensive Disks (избыточный массив недорогих дисков). Ниже мы рассмотрим основные характеристики шести уровней RAID.

RAID-уровни имеют различные характеристики производительности и разную стоимость. Самым быстрым является RAID 0 (метод дуплексирования), за ним идут RAID 3 или RAID 5 (в зависимости от размеров записей). Стоимость каждого метода зависит от общего объема требуемой памяти на дисках. Например, для небольших и средних файлов метод зазеркаливания может обойтись дешевле, чем RAID 3 или 5.

При выборе отказоустойчивой дисковой подсистемы необходимо также иметь в виду программное обеспечение для автоматического восстановления данных в случае сбоя. Если речь идет о файловом сервере локальной сети, важно, чтобы данные могли быть восстановлены с минимальными усилиями со стороны администратора LAN и с наименьшими потерями для пользователей сервера. Например, для RAID 0 восстановление - это просто копирование данных с дополнительного диска на восстановленный или замененный диск. Для систем RAID 3, 4 и 5 производители поставляют программное обеспечение, восстановливающие данные по XOR-сегментам. Эти программы работают в фоновом режиме, позволяя пользователям не прерывать своей работы во время восстановления. RAID-системы с встроенными интеллектуальными процессорами способны провести реконструкцию гораздо быстрее, чем их аналоги, использующие программное обеспечение, которое выполняется процессором основной системы.

Традиционные RAID-системы имеют неоспоримые преимущества, но при этом создают немало проблем. Разные уровни RAID обеспечивают различную производительность и имеют разную стоимость, и администраторам приходится искать наиболее подходящий для данной конкретной системы вариант. Cегодняшние дисковые подсистемы RAID достаточны сложны в управлении и конфигурации. Увеличение объема дискового пространства и реконфигурация подсистемы также представляет собой трудоемкий и длительный процесс.

Чтобы справиться с этими проблемами, разрабатываются новые технологии дисковых массивов с возможностями автоматической настройки на различные уровни, уже не укладывающиеся в традиционные рамки специфицированных уровней RAID. Мы рассмотрим продукты этого типа компаний Hewlett-Packard и EMC.

AutoRAID компании Hewlett-Packard

После четырех лет напряженной работы подразделение компании Hewlett-Packard по системам хранения данных разработало новую технологию, которая реализует избыточность, присущие традиционным RAID, и при этом ликвидирует многие их недостатки. Дисковая подсистема AutoRAID автоматически выбирает уровень RAID, соответствующий требованиям пользователей, а также реализует ряд других важных возможностей.

Ядро технологии составляет набор алгоритмов контроллера дисковой подсистемы для управления адресами блоков данных. Традиционные дисковые массивы, такие как RAID 4 или 5, используют статические, заранее определенные алгоритмы трансляции адресов блоков данных хост-компьютера в адреса их размещения на дисках. Разработчики AutoRAID отказались от этого подхода и предпочли использовать динамические алгоритмы интеллектуального отображения любого адреса блока на хосте на любой диск массива. Данное отображение может меняться в процессе работы системы.

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

Другая важная возможность подобного подхода состоит в простом смешивании в одной подсистеме дисков различного объема и производительности. Аналогичные средства имеют и некоторые традиционные дисковые массивы, но в них конфигурация подсистемы представляет собой сложный и долгий процесс. Конфигурация в AutoRAID выполняется быстро и просто. Одна из задач администратора при конфигурации любого дискового массива - создание виртуальных дисков из доступного физического пространства. Пользователи работают именно с виртуальными дисками, которые контроллер подсистемы представляет им как физические. Конфигурируя традиционный дисковый массив, администратор должен знать характеристики каждого физического диска, чтобы затем сгруппировать их для создания виртуальных дисков. AutoRAID освобождает администратора от этих сложностей. Теперь ему достаточно знать общий объем памяти в дисковом массиве. Администратор определяет объем памяти, необходимый для каждого виртуального диска, после чего алгоритмы отображения автоматически сгруппируют физические диски, так чтобы гарантировать максимально эффективное использование доступного пространства и обеспечить самую высокую производительность.

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

Значительно проще выглядит реконфигурацию для добавления дополнительного дискового пространства. Администратору достаточно установить новые диски и создать еще один виртуальный диск. Эта работа выполняется в интерактивном режиме и занимает несколько секунд.

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

Уникальной возможностью технологии AutoRAID является автоматическое и непосредственное использование новых дисков для повышения производительности дисковой подсистемы. Когда инсталлируется новый диск, данные равномерно перераспределяются по всем дискам подсистемы. Этот процесс называется балансировкой и выполняется в фоновом режиме между операциями хост-компьютера. Равномерное распределение данных по всем дискам создает больше возможностей для одновременного выполнения нескольких операций с данными. Для систем обработки транзакций увеличение числа параллельных операций означает повышение общей производительности.

На методе балансировки основано еще одно новшество описанной технологии - так называемый "активный горячий резерв" (active hot spare). Функции активного горячего резерва те же, что и у горячего резервного диска в традиционном массиве. В случае сбоя какого-либо диска контроллер подсистемы немедленно начинает процесс перестройки, который реконструирует потерянные данные на резервном диске и восстанавливает избыточность подсистемы. В обычных массивах резервный диск не используется до тех пор, пока в системе что-нибудь не случится, поскольку он содержит резервное пространство для восстановленных данных. Иногда на диске горячего резерва создается временное хранение, но оно должно быть ликвидировано, как только какой-нибудь диск выйдет из строя.

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

RAID-S компании EMC

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

RAID-S нельзя отнести к какому-либо одному уровню RAID. Используя новые достижения в аппаратном и программном обеспечении и средствах отображения данных, EMC комбинирует позитивные аспекты систем RAID 4 и 5, а также уровня RAID 6, с новыми технологиями и создает новую схему защиты данных. Дисковые массивы RAID-S предназначены для использования в системах класса мейнфреймов.

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

Например, крупный банк может эксплуатировать системы оперативной обработки транзакций для обслуживания своих клиентов, а кроме того системы пакетной обработки для решения административных задач. Каждое из приложений имеет свои требования к хранению и доступу к данным. Дисковые системы EMC позволят предоставить каждому из них необходимый уровень доступности и защиты данных.

Ступени совершенства RAID

RAID 0. RAID 0 по существу не является отказоустойчивой системой, но способен существенно повысить производительность. В обычной системе данные последовательно записываются на диск, пока не будет исчерпан его объем. RAID 0 распределяет данные по дискам массива следующим образом. Если, например, используются четыре диска, то данные записываются на первую дорожку первого диска, затем на первую дорожку второго диска, первую дорожку третьего и первую дорожку четвертого. Затем данные записываются на вторую дорожку первого диска и т.д. Такое распределение данных позволяет одновременно читать и писать данные на четырех дисках и тем самым увеличивает производительность системы. С другой стороны, если один из дисков выйдет из строя, восстанавливать данные придется также на всех четырех дисках.

RAID 1. RAID 1 реализует метод зазеркаливания/дуплексирования данных, создавая для каждого диска массива вторую копию данных на отдельном диске. Дуплексирование помимо данных на диске дублирует также адаптерную плату и кабель, обеспечивая еще большую избыточность. Метод хранения двух копий данных - надежный способ реализации отказоустойчивой дисковой подсистемы, и он нашел широкое применение в современных архитектурах.

RAID 2. RAID 2 распределяет данные на дисках массива побитно: первый бит записывается на первом диске, второй бит - на втором диске и т.д. Избыточность обеспечивается засчет нескольких дополнительных дисков, куда записывается код коррекции ошибок. Эта реализация является более дорогой, поскольку требует больших накладных расходов на избыточность: массив с числом основных дисков от 16 до 32 должен иметь три дополнительных диска для хранения кода коррекции. RAID 2 обеспечивает высокую производительность и надежность, но его применение ограничено главным образом рынком компьютеров для научных исследований из-за высоких требований к минимальному объему дискового пространства. В сетевых файловых серверах этот метод в настоящее время не используется.

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

RAID 4. RAID 4 аналогичен RAID 3 за тем исключением, что данные распределяются на дисках по блокам. Для хранения XOR-сегментов также используется один дополнительный диск. Эта реализация удобна для файлов с очень короткими записями и большей частотой операций чтений по сравнению с операциями записи, поскольку в этом случае при подходящем размере блоков на диске возможно одновременное выполнение нескольких операций чтения. Однако по-прежнему допустима только одна операция записи в момент времени, так как все операции записи используют один и тот же дополнительный диск для вычисления контрольной суммы.

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

Динамическая миграция

Стратегия динамической миграции данных позволяет, в частности, хранить наиболее активные данные на уровне RAID 1, который имеет самую высокую производительность, а менее активные данные - на более дешевом уровне RAID 5. В большинстве систем активно используемые данные составляют небольшую часть всей хранимой информации. Таким образом основная масса данных будет храниться на RAID 5. Данная технология предоставляет администраторам системы два ключевых преимущества. Во-первых, она освобождает их от мучительных раздумий, какой уровень RAID выбрать. Во-вторых, дисковая подсистема непрерывно оптимизирует производительность и цену дискового хранения, как было бы в случае, когда администратор тратит все свое рабочее время на настройку системы.

Особенности реализации RAID-S:

    RAID-S вычисляет код коррекции ошибок, обеспечивающий избыточность, на уровне драйвера дисков, а не на уровне контроллера подсистемы. Это разгружает контроллер, освобождая его от обработки запросов ввода/вывода, и тем самым повышает производительность дисковой подсистемы.

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

    без дополнительного обучения персонала.

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

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