Введение
Твердотельные накопители на основе флэш-памяти заполнили все ленты новостей. Если верить некоторым интернет-изданиям, флэш-устройства скоро завоюют весь рынок накопителей. Они воспринимаются как более быстрые и эффективные накопители, чем жёсткие диски – и, возможно, чуть более дорогие. Но на самом деле всё далеко не так; у флэш-памяти по-прежнему небольшая рыночная доля по многим причинам. Старые добрые жёсткие диски чувствуют себя замечательно, и мы нашли ещё одну причину, по которой предрекать конец им рано: технологию короткого рабочего хода (short stroking).
Нажмите на картинку для увеличения.
HDD против SSD
Хотелось бы сразу сказать, что мы не говорим о том, что жёсткие диски лучше SSD или наоборот. Каждая технология имеет свои преимущества и недостатки, и каждая себя оправдывает, если реализована разумно. Преимущества SSD кроются в практически мгновенном времени доступа и высокой производительности ввода/вывода. Кроме того, флэш-память обходится недорого в объёмах до 32 Гбайт. Наконец, флэш-память может быть очень эффективна по энергопотреблению. К сожалению, многие SSD на рынке ещё не достигли такого уровня.
Чтобы разбираться в подобных продуктах, нужно понимать разницу между флэш-памятью с одноуровневыми ячейками (single-level cell, SLC) и многоуровневыми (multi-level cell, MLC). Флэш-память MLC даёт быстрые операции чтения, но технология не очень хорошо подходит для высокоскоростной записи, особенно если она случайная. Флэш-память SLC быстрее, но и стоит дороже. Некоторые накопители SSD на MLC-памяти вполне доступные, но действительно быстрые SSD на SLC-памяти стоят очень дорого.
Проблемы могут возникнуть с эффективностью и надёжностью. Производительность и эффективность энергопотребления очень сильно зависят от качества контроллера, который используется в SSD, как и эффективность. На рынке есть некоторые впечатляющие продукты, но они тоже обойдутся в копеечку.
HDD удерживают позиции
Обычные жёсткие диски стали более доступными, поскольку терабайтные модели вплотную приблизились к отметке $100. Высокая ёмкость, низкая цена и массовое присутствие на рынке – основные причины сохранить старые добрые жёсткие диски. Несмотря на то, что они используют магнитные, механические и электронные компоненты, HDD, как правило, сравнительно надёжные и долговечные. Фактически, жёсткие диски корпоративного уровня выдерживают стрессовое тестирование и проходят тщательную проверку перед тем, как их будут использовать в отказоустойчивых серверах. Напротив, долговечность SSD на флэш-памяти до сих пор является открытой темой, и именно по этой причине их обходят стороной многие корпоративные клиенты.
Обходим физические недостатки
Основным недостатком традиционных жёстких дисков является задержка, которая происходит каждый раз, когда головкам чтения/записи нужно перейти на какую-либо позицию. Если это не проблема для операций последовательного чтения или записи (в которых обычные жёсткие диски часто быстрее большинства SSD), то для случайных операций чтения или записи задержки выходят на первый план.
Пропускная способность более 150 Мбайт/с быстрых жёстких дисков корпоративного класса со скоростью вращения шпинделя 15 000 об/мин может снизиться до всего нескольких мегабайт в секунду, если накопителю нужно считывать информацию в случайном порядке (то есть она может быть разбросана по всему магнитному диску). Другими словами: жёсткий диск или приложение теряют значительное время на ожидание нового позиционирования головки. Но можно ли минимизировать эту механическую активность? Можно! Мы рассмотрели подход, который называется коротким рабочим ходом (short stroking), протестировав его на жёстких дисках Hitachi, чтобы снизить механическую активность, используя только часть доступной ёмкости HDD.
Короткий рабочий ход: принцип действия
Фактически, SSD на основе SLC-памяти превосходят любые традиционные жёсткие диски в приложениях интенсивной нагрузки ввода/вывода в сценариях баз данных, web-серверов или рабочих станций. Жёсткие диски обычно дают до нескольких сотен операций ввода/вывода в секунду, в то время как профессиональные SSD могут давать несколько тысяч подобных операций. Если вы представите себе приложения, чувствительные к количеству транзакций, то их производительность при переходе на SSD существенно увеличится. Причём до уровня, когда целые массивы накопителей станут ненужными. Высокую производительность можно обеспечить небольшим числом SSD на флэш-памяти вместо десятков жёстких дисков в сложных массивах RAID. При этом в качестве бонуса получится ещё и экономия энергии.
Однако не все сценарии требуют максимальной производительности от подсистемы хранения, большинство потребителей готовы смириться с существующей производительностью, чтобы гарантировать максимальную надёжность. А в этом заключается преимущество традиционных жёстких дисков.
Определяем рабочий ход
Технология короткого рабочего хода нацеливается на минимизацию задержек на позиционирование головки, которые “съедают” производительность, путём снижения числа дорожек, используемых жёстким диском. Простой пример: терабайтный жёсткий диск (1000 Гбайт) может содержать три пластины ёмкостью 333 Гбайт каждая. Если же мы ограничим использование пространства пластин всего 10%, начиная с внешних секторов (которые дают более высокую скорость), то жёсткий диск будет производить гораздо меньше перемещений головок.
Результат использования технологии короткого рабочего хода всегда сопровождается существенно уменьшенной ёмкостью. В данном примере терабайтный жёсткий диск будет ограничен ёмкостью 33 Гбайт на пластину, то есть суммарная ёмкость составит 100 Гбайт. Но результатом окажется существенно меньшее время доступа и заметно увеличившаяся производительность ввода/вывода, поскольку жёсткий диск может работать с минимальным количеством физической активности.
Первые мысли
Мне кажется, все согласятся с тем, что потеря ёмкости – это не проблема. В конце концов, нам нужна максимальная производительность, а ёмкости и так остаётся довольно много. Примите во внимание ёмкость SSD корпоративного уровня, которые обычно ограничены 32 Гбайт, поэтому снижение ёмкости жёсткого диска примерно до такого же порога кажется вполне разумной. Кроме того, конфигурации с коротким рабочим ходом обычно состоят из множества жёстких дисков в массивах RAID, ориентированных на производительность, поэтому с итоговой ёмкостью проблем быть не должно. Наконец, технология короткого рабочего хода может позитивно сказаться на продолжительности срока службы жёсткого диска, поскольку снижение физической активности уменьшает износ. Впрочем, предсказать рост производительности сложно, поэтому давайте посмотрим, что мы получим на практике, используя наши тестовые системы.
Тестовые жёсткие диски: Hitachi Ultrastar 15K450 и Deskstar 7K1000.B
Мы обсудили с Hitachi данный проект, и компания с интересом на него откликнулась. Мы взяли четыре последних серверных винчестера SAS Ultrastar 15K450 по 450 Гбайт каждый, а также четыре настольных жёстких диска Deskstar 7K1000.B по 250 Гбайт каждый. Кроме того, мы получили небольшую утилиту под названием Niagara, позволяющую выбирать число логических блоков, которые будут использоваться для хранения данных. Сначала мы рассмотрим тестовые жёсткие диски, затем утилиту Niagara, а уже потом перейдём к тестам.
Hitachi Ultrastar 15K450, 450 GB, SAS/300
Нажмите на картинку для увеличения.
Жёсткие диски Ultrastar 15K450 присутствуют на рынке уже некоторое время. Наш
Вполне понятно, что перед нами замечательные жёсткие диски, которые уступают последним SSD на флэш-памяти только по времени доступа. В нашем изначальном обзоре мы получили среднее время доступа Ultrastar 15K450 5,9 мс. На этот раз мы замерили 6,0 мс, то есть почти такой же результат. Мы не хотим забегать вперёд, но сокращение рабочего хода позволило нам почти что уменьшить время доступа наполовину. Конечно, этого всё равно недостаточно, чтобы дать уровень меньше 0,1 мс (как у SSD на флэш-памяти), но всё равно разница довольно солидная. Пропускная способность от короткого рабочего хода тоже выигрывает, поскольку минимальная скорость вплотную приближается к максимальной.
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Hitachi Deskstar 7K1000.B, 250 GB, SATA/300
Нажмите на картинку для увеличения.
Мы также провели тесты настольных жёстких дисков
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Niagara: утилита для короткого рабочего хода
Основной экран Niagara 2.2.9.0. Нажмите на картинку для увеличения.
Утилита Niagara 2.2.9.0 совсем маленькая и не требует установки, но она доступна только крупным клиентам Hitachi. По нашей информации, она (пока) не доступна обычному потребителю. Впрочем, Niagara работает только с жёсткими дисками SAS. Вы сможете выполнить точно такую же работу и с утилитой Hitachi Feature Tool, которую можно скачать на hitachigst.com. После запуска утилиты имеет смысл заблокировать (lock) жёсткие диски, которые вы не собираетесь модифицировать. Нам эта функция показалась полезной, поскольку она предотвращает случайные модификации в системе с несколькими жёсткими дисками. А выбранные вами настройки будут применены ко всем винчестерам, которые не заблокированы.
Заблокируйте системный жёсткий диск перед тем, как устанавливать настройки короткого рабочего хода.
Переформатирование
Niagara предлагает ряд полезных функций, включая самотестирование жёсткого диска и некоторые опции конфигурации. Процесс форматирования, который необходим для короткого рабочего хода, не такой тривиальный, но вполне логичный. Вам нужно нажать клавишу “Format”, чтобы перейти к следующему шагу, при этом нужно форматировать жёсткий диск только с ограниченным числом блоков. На следующем скриншоте мы выбрали полное число доступных блоков, что приведёт к полной ёмкости 450 Гбайт у жёстких дисков Ultrastar 15K450.
В данном примере мы будем форматировать 879 097 968 блоков размером по 512 байт, что даст 450 098 158 616 байт. Производители жёстких дисков считают, что в одном килобайте 1000 байт, поэтому 450 млрд. байт превращаются в 450 Гбайт. Если же взять “правильный” размер 1024 байт в одном килобайте, то мы получим 419,19 Гбайт.
Мы отформатировали 450-Гбайт жёсткие диски Ultrastar 15K450 с помощью трёх разных режимов, что позволило получить нам 100% (450 Гбайт), 10% (44 Гбайт) и 4% (20 Гбайт) от общей ёмкости. На следующем скриншоте показан выбор для форматирования по 44 Гбайт. Эти настройки рекомендованы Hitachi, поскольку данное значение покрывает первые три зоны жёстких дисков 15K450.
В данном примере мы отформатировали жёсткие диски на 90 151 200 блоков по 512 байт, что дало ёмкость 44 Гбайт. Нажмите на картинку для увеличения.
У нас во время этого процесса возникла только одна проблема: утилита не пожелала переформатировать жёсткие диски SAS, когда мы подключали их через RAID-контроллер Adaptec 5805. Переход на адаптер (без RAID) Adaptec 48300 SAS решил эту проблему.
Результаты форматирования с коротким рабочим ходом
Мы всё сделали, ниже представлены результаты. Для следующего скриншота мы отформатировали два жёстких диска на 20 Гбайт, а ещё два – на 44 Гбайт.
Нажмите на картинку для увеличения.
Мы могли бы выбрать и другие ёмкости, но решили тестировать короткий рабочий ход с ёмкостями 20 и 44 Гбайт.
Короткий рабочий ход жёстких дисков SATA через утилиту Hitachi Feature Tool
Как мы уже упоминали, утилита Niagara не будет работать с жёсткими дисками SATA, такими как Deskstar 7K1000.B. Чтобы настроить эти винчестеры на меньшую ёмкость, мы зашли на сайт hitachigst.com и скачали утилиту Hitachi Feature Tool. Она работает не через блоки LBA, а через значения ёмкости, что даже облегчает весь процесс. Но результат такой же. Мы сконфигурировали 250-Гбайт жёсткие диски 7K1000.B на значения ёмкости 250, 33 и 12 Гбайт для тестов.
Тестовое программное обеспечение
Системное аппаратное обеспечение | |
Процессоры | 2x Intel Xeon (ядро Nocona), 3,6 ГГц, FSB800, 1 Мбайт кэша L2 |
Платформа | Asus NCL-DS (Socket 604), чипсет Intel E7520, BIOS 1005 |
Память | Corsair CM72DD512AR-400 (DDR2-400 ECC, reg.), 2x 512 Мбайт, задержки CL3-3-3-10 |
Системный жёсткий диск | Western Digital Caviar WD1200JB, 120 Гбайт, 7200 об/мин, кэш 8 Мбайт, UltraATA/100 |
Контроллеры накопителей | Adaptec RAID 5805, 8x SAS, FW + Driver 16343 |
Сеть | Broadcom BCM5721 встроенная 1 Гбит/с |
Видеокарта | Встроенная ATI RageXL, 8 Мбайт |
Тесты | |
Тесты производительности | c’t h2benchw 3.6 |
PCMark05 | V1.01 |
Производительность ввода/вывода | IOMeter 2003.05.10 Fileserver Benchmark Webserver Benchmark Database Benchmark Workstation Benchmark |
Системное ПО и драйверы | |
ОС | Microsoft Windows Server 2003 Enterprise Edition, Service Pack 1 |
Драйвер платформы | Intel Chipset Installation Utility 7.0.0.1025 |
Графический драйвер | Графический драйвер Windows по умолчанию |
SSD для сравнения
В целях сравнения мы использовали SSD корпоративного уровня Mtron Pro 7500 на SLC-памяти, а также 64-Гбайт Samsung SSD для массового рынка.
Mtron Pro 7500 – 3,5″ накопитель на основе флэш-памяти SLC. Это один из самых серьёзных SSD корпоративного класса на рынке. Нажмите на картинку для увеличения.
Samsung 64 GB SSD – продукт потребительского уровня, который используется в разных продуктах, таких как ноутбук Lenovo X300. Мы решили взять его для сравнения в качестве представителя приличных SSD для массового рынка. Нажмите на картинку для увеличения.
Время доступа
Хотя процесс уменьшения рабочего хода не позволяет жёстким дискам и близко приблизиться к SSD, мы обнаружили, что время доступа в случае винчестеров Ultrastar 15K450 SAS снизилось на 40% и на впечатляющие 50% у Deskstar 7K1000.B SATA. Преимущества получаются такими же, если жёсткие диски сконфигурированы в RAID-массив. Поскольку никакие жёсткие диски в будущем не смогут снизить время доступа, технология сокращения рабочего хода (short stroking) является великолепным решением для увеличения производительность на заметный уровень. Даже настольные 7K1000.B демонстрируют время доступа меньше, чем у жёстких дисков на 10 000 об/мин.
Пропускная способность
Конечно, скорости передачи чтения и записи немного выигрывают от сокращения рабочего хода, но сильнее всего впечатляет повышение минимальных скоростей. Обычно скорость передачи данных Ultrastar 15K450 падает с максимума 160 Мбайт/с до менее, чем 100 Мбайт/с, если вы будете использовать всю ёмкость. Но если вы ограничите ёмкость с помощью сокращения рабочего хода, то минимальная пропускная способность приблизится к максимуму, что гарантирует высокую скорость независимо от места расположения данных.
Hitachi Ultrastar 15K450, 450 GB SAS
Давайте сначала оценим производительность быстрых жёстких дисков корпоративного класса на 15 000 об/мин. Мы протестировали ёмкости 450, 44 и 20 Гбайт, чтобы посмотреть на преимущества от короткого рабочего хода.
Ограничивая механический рабочий диапазон головок жёсткого диска путём сокращения ёмкости, мы получаем впечатляющий результат: производительность ввода/вывода при глубокой очереди в сценариях баз данных, файлового сервера и рабочей станции практически удваивается. Да и при выполнении отдельных команд прирост всё равно составляет 65%. Это намного больше, чем может дать любое новое поколение жёстких дисков. В случае теста web-сервера, производительность может увеличиваться более чем на 100%.
Hitachi Deskstar 7K1000.B, 250 GB SATA
Прирост производительности настольного жёсткого диска Deskstar 7K1000.B на 7200 об/мин не такой значительный, в отличие от корпоративного Ultrastar 15K450, поскольку более быстрый накопитель может больше выиграть от ограничения рабочего хода. Давайте посмотрим на результаты модели для массового рынка.
Для настольного жёсткого диска на 7200 об/мин можно наблюдать улучшение производительности ввода/вывода от 40 до 60%, если снизить его ёмкость в конфигурации с коротким рабочим ходом.
Тесты ввода/вывода в конфигурации RAID
Это, вероятно, наиболее важная страница в тестах. Давайте посмотрим на результаты жёстких дисков в одиночном режиме, а также в случае работы двух или четырёх HDD в массиве RAID 0. Мы также добавили результаты производительности двух SSD от Mtron и Samsung. В данном разделе мы приведём только самую быструю конфигурацию жёстких дисков Hitachi с коротким рабочим ходом.
Довольно приятно видеть, что массив из двух жёстких дисков может обойти один SSD в сценарии базы данных.
SSD на основе флэш-памяти показывают себя лучше в тесте файлового сервера, здесь уже требуется четыре жёстких диска с коротким рабочим ходом, чтобы обойти один твёрдотельный накопитель по производительности. Впрочем, цена четырёх жёстких дисков для массового рынка в паре с дешёвым RAID-контроллером всё равно существенно ниже, чем вам придётся отдать за один такой SSD.
Здесь сомнений не остаётся: SSD легко обходят любые конфигурации на жёстких дисках в сценарии нагрузки ввода/вывода web-сервера, которая состоит из большого числа операций случайного чтения небольших блоков. Хотя сокращение рабочего хода даёт положительный эффект, два SSD на флэш-памяти работают намного быстрее.
В сценарии рабочей станции четыре жёстких диска могут обойти один флэш-накопитель SSD. Опять же, следует принимать во внимание цены: четыре дешёвых винчестера Serial ATA стоят очень доступна, и при этом они обходят дорогой SSD, вместе с тем всё ещё обеспечивая большую ёмкость.
Средние результаты
Заключение
Результаты буквально открывают глаза. Пусть даже вполне очевидно, что у обычного жёсткого диска нет ни шанса выстоять перед грядущими SSD на флэш-памяти, впечатляюще наблюдать, как небольшая программная модификация оказывается достаточно мощной, чтобы увеличить производительность ввода/вывода винчестеров, по крайней мере, на небольшой процент. А в некоторых тестах прирост оказался в несколько раз больше. Но помните, что мы говорим о производительности ввода/вывода, которая больше всего интересна для серверов. Среднюю пропускную способность можно увеличить с помощью короткого рабочего хода, но максимальная останется прежней.
Насколько дорого обходится производительность?
Вполне очевидно, что один приличный SSD даст более высокую производительность на ватт, чем массивы на любых жёстких дисках в конфигурации с коротким рабочим ходом. Однако в расчёт следует принять суммарную стоимость жёстких дисков. На момент публикации статьи 250-Гбайт винчестеры Hitachi Deskstar 7K1000.B продавались по $45 (1700 рублей в России). Если взять четыре таких винчестера, ограничить ёмкость до разумного минимума, создать массив RAID 0 или RAID 5, то вы не только увеличите, по крайней мере, в три раза пропускную способность одного винчестера, но и повысите в несколько раз производительность ввода/вывода. Мы сомневаемся, что какой-либо твёрдотельный накопитель по цене четырёх таких жёстких дисков ($180 или 6,8 тыс. рублей), если вы его вообще найдёте, сможет конкурировать с подобным массивом. Если посмотреть на
Нужен RAID
Конечно, для высокой производительности вам потребуется поддержка RAID, но даже материнские платы для массового рынка её предоставляют. RAID 0 – прекрасный вариант, если вам нужен быстрый массив для хранения временных данных. Для установки системы лучше выбрать RAID 5 или RAID 10, чтобы гарантировать, что ваша система выживет в случае выхода из строя одного HDD.
Короткий рабочий ход – мощная технология
Мы не думаем, что конфигурации с коротким рабочим ходом очень уж интересны для новых систем. Они имеют смысл, только если у вас есть существующая серверная инфраструктура, когда вы примете в расчёт необходимые объёмы. Если серверы, чувствительные к производительности, смогут использовать треть или даже меньшую часть ёмкости дискового массива, мы рекомендуем отсечь неиспользуемое пространство и превратить его в повышенную производительность ввода/вывода. Это позволит вам отсрочить апгрейд “железа” на несколько месяцев, что может не понравиться производителям жёстких дисков, но что, несомненно, является хорошей идеей в нынешние времена кризиса.