О “дешевизне” SATA-дисков
Ранее, в посте про надежность RAID-5 я уже писал про такой аспект дисков SATA, как надежность и величину UER (Unrecoverable Error Rate, иногда также называется UBE - Unrecoverable Bit Error).
Величина эта почти на порядок (в 10 раз) хуже, чем для дисков SAS/FC, причем причина тут конструктивная, а не просто в интерфейсе.
Однако, для небольших систем “начинающих”, в первую очередь роль играет цена.
Жесткий диск (и система хранения) характеризуется, в общем случае, двумя параметрами: емкостью (измеряется в Мегабайтах/Гигабайтах (MB/GB)), и быстродействием (измеряется в IOPS - Input-Output Operations per Second - Операций ввода-вывода в секунду ). И если емкости дисков непрерывно растут вот уже несколько лет, то показатели по IOPS замерли уже довольно давно.
Принято считать, что диск SATA дает 80-100 IOPS, диски SAS/FC - 140-160 для 10KRPM, 180-200 - 15KRPM.
Стоимость за мегабайт для дисков SATA весьма низка, на сегодня она составляет 0,17$/MB для диска SATA 1TB, однако около 0.83$/MB для диска SAS 300GB. (я оперирую ценами, взятыми из price.ru: SATA WD RE3 1TB 7200 - 170$, SAS Hitachi 300GB 15K - 250$)
Иная картина будет, если мы посчитаем стоимость IOPS-ов. Диск SATA при этом будет стоить 2,1$ за IOPS, а 15K SAS - 1.38$/IOPS
Допустим, перед нами стоит задача создать сторадж на 3 TB, при этом быстродействие его должно быть не хуже 3000 IOPS.
Рассмотрим два варианта:
Если мы рассматриваем только емкость, то будет все просто:
SATA 1TB нужно три штуки, при цене за диск в 170$ общая сумма хранилища заданного размера, без учета RAID будет 510$
Дисков SAS на 15KRPM емкостью 300GB будет нужно 10 штук, при цене за диск 250$ такая емкость будет стоить 2500$
Казалось бы вывод очевиден, SATA дешевле, причем раз в пять.
Но мы пока не учли второе требование, про 3000 IOPS.
Для быстродействия системы емкостью 3TB в 3000 IOPS, из расчета в 80 IOPS с каждого диска SATA, нам нужно распараллелить ввод-вывод не менее чем на 38 дисков. 38 дисков SATA, это будет стоить уже 6460$.
Однако для дисков SAS те же 3000 IOPS достижимы на всего 17 дисках, что стоит 4250$
Итого, для удовлетворения обоих заданных требований, и по емкости, и по быстродействию, система, изначально построенная на более дешевых дисках оказывается почти в полтора раза дороже, и с увеличением требований по быстродействию это разрыв будет только расти.
Этот момент часто не учитывают люди, планирующие использование SATA на задачах primary storage.
Если перед вами стоит задача не просто создать емкость хранения, без учета показателей по быстродействию, что, вообще говоря имеет только одно применение - хранилище архивных и резервных копий, а систему хранения, обеспечивающую приемлемую скорость работы приложения его использующего, то вам следует забыть про гигабайты, и ориентироваться, в первую очередь, на производительность дисков, на IOPS. Необходимый объем вы получите “автоматичски”.
Сегодня, во многих случаях, при планировании системы хранения, производительность есть ее “первичное”, ключевое свойство .
Или, иначе говоря: “GB are free, IOPS cost you money” - “Гигабайты бесплатно, вы платите только за доставку ИОПСы”
Согласен почти со всем. Могу только добавить, что количество IOPS, которое выдает железка, еще сильно зависит от размера блока. Приведенные цифры справедливы по нижней границе на 8К блоках. На блоках большего размера разница между SATA и SAS/FC нивелируется. На эту тему у, как ни странно, Symantec, есть презентация о методике расчета IOPS для вполне конкретных параметров. Пару лет назад, когда было сильно надо, я ее находил и исходя из нее делал сайзинг для своих задачек.
И кстати, например, для работы с фильмами хотябы в 2K уже интересней использовать SATA, чем SAS/FC, потому что размер кадра 12Mb и соответственно использовать мелкие блоки нерационально. А средний размерчик “кина” около 5Tb. Так что с “только одно применение - хранилище архивных и резервных копий” - эт вы, коллега, погорячились.
Все зависит от задачи, как всегда.
Это вы просто меня невнимательно читаете. “Хранилище архивных и резервных копий” приводилось как пример стораджа, создаваемого исключительно исходя из объема хранения.
Если перед вами стоит задача не просто создать емкость хранения, без учета показателей по быстродействию, что, вообще говоря имеет только одно применение - хранилище архивных и резервных копий, а систему хранения, обеспечивающую приемлемую скорость работы приложения его использующего… далее по тексту
Вы же приводите пример совсем другого порядка. Производительность в вашем случае весьма важна.
Цитата:”вообще говоря имеет только одно применение - хранилище архивных и резервных копий”. Не хочу придираться к словам. Предлагаю перейти сразу к производительности :)
В случае с киношниками - это не random IO, это throughput IO. Т.е. нужно получить 24 кадра/сек, при объеме кадра 12Mb (если говорим о 2K). Итого 24*12=288Mb/s. Берем размер блока 256k. 12Mb (размер кадра) / 256 k = 48 винтов SATA. Поскольку работа всега идет покадровая, нам нет смысла брать маленькие блоки.
Вы допускаете, что с 48 винтов SATA можно читать со скоростью 288 Mb/s? Как вы думаете насколько % будет отличаться производительность в IOPS между SATA и SAS/FC винтами при 256k блоках?