• Звонок по России бесплатный 8 800 200-59-60
  • Москва +7 (495) 232-92-30
  • Санкт-Петербург +7 (812) 327-59-60
  • Екатеринбург +7 (343) 378-41-50

Пресс-центр

Дисковые системы начального уровня, что они дают средней компании?

Не секрет, что благодаря усилиям торговцев и бухгалтеров базы данных компаний среднего размера год от года увеличиваются. А программисты создают все более изощренные отчеты, которые очень красиво и динамично показывают Начальству результаты деятельности компании. Только вот одна беда — отчеты эти выполняются все медленнее, а жить без них уже решительно невозможно. И если вдруг сервер останавливается (или жестоко тормозит), Босс вспоминает свою юность на флоте с соответствующим лексиконом. Что делать?

Уважаемые компании Intel и AMD (а также SUN и IBM) за последнюю пару лет нарастили производительность своих процессоров буквально в разы. Но увеличение мощности процессоров далеко не всегда дает адекватные результаты. Проблема — в дисковой подсистеме сервера. В качестве простой иллюстрации рекомендую в моменты сильных "тормозов" запустить perfmon.exe и посмотреть счетчики дисковой активности — physical disk reads/sec, writes/sec, queue length. Последний параметр наиболее интересен — фактически он говорит о том, насколько дисковая система Вашего сервера успевает выдавать данные процессорам. Многие будут премного удивлены, увидев дисковую очередь в десятки, а то и сотни единиц.

Дискостроительная отрасль в последние годы сосредоточилась на увеличении емкости дисков и скорости линейного трансфера. Это замечательно — можно положить на диск много-много фильмов и быстро-быстро их смотреть или копировать. Только вот серверу базы данных от этого ни жарко, ни холодно. Для него важен другой параметр — IOps (Input-Output operations per second). А вот этот параметр у современных серверных дисков превосходит диски пятилетней давности от силы процентов на двадцать и составляет 300-400 IOps (про диски SATA тихо молчим).

Решение простое — поставить мощный RAID контроллер и набить в сервер побольше дисков. А вот побольше — это сколько? Как правило — 8—10 шт. Реже — 15—16 шт. И все. Можно конечно поставить контроллер, имеющий внешние порты, и подключить корзинку-JBOD. Но, поверьте моему большому и в основном печальному опыту, как правило заканчивается это весьма печально. Ибо отвалившийся шнурок может на сутки остановить весь сервер (хорошо еще, если есть актуальный бэкап). Сломавшийся RAID контроллер приводит к аналогичному результату (да-да — они еще и ломаются! А порой и внезапно "забывают" про часть дисков… фирмы типа Ontrack этому безусловно рады — а Вы?).

Есть другой вариант, пропагандируемый, как панацея — поставить в сервер много памяти и закэшировать всю базу, ибо сейчас не так уж дорого поставить и 32ГБ. Это хорошо. Но до определенных пределов. Базы растут как на дрожжах, нагрузка меняется не только медленно, но и внезапно (запущенный квартальный отчет, например) и в самый интересный момент пиковой нагрузки памяти просто не хватит и опять все упрется в диски. А ведь именно в этот момент и нужна производительность! А самое главное — не стоит забывать, что база данных не только читается, но и, о ужас, пишется. А что такое нагрузка на запись в наиболее распространенной базе данных 1C — можно говорить долго и с упоением. Зачастую чтение-запись соотносятся как 50/50. И что с ней делать будете?

И вот тут мы вспоминаем, что существуют на свете внешние дисковые системы, которые представляют собой специализированный сервер хранения данных, имеющий встроенные RAID контроллеры и подключаемый к серверу по внешнему интерфейсу (SCSI, FibreChannel, SAS, iSCSI…).

Что первое Вам приходит в голову при слове СХД? Правильно — длинная вереница нулей в сумме счета. А вот это давно уже в корне неверно!

На рынке есть много систем такого рода, цены на которые начинаются от 10-15 тыс. долл., а типовое решение тянет в среднем на 15-30тыс. Кто скажет, что это дорого, рекомендую спросить финдира сколько стоил софт и услуги франчайзи 1С.

Примеры таких систем — IBM DS3400(3200) и DS4200, Xyratex F(E)5402E, широкая линейка Infortrend, HP MSA500/1000/1500 (хотя последние изрядно устарели), даже у Hitachi есть относительно недорогая WMS100. Есть и другие конечно, но это уж сами ищите.

Что же мы получаем за свои кровные?

Итак:

  1. во-первых, возможность безболезненного подключения нескольких десятков шпинделей. Обычно такие системы поддерживают 50-60 дисков (впрочем мы не рекомендуем более 30-40шт — такая нагрузка уже требует систем более высокого класса с мощными контроллерами и умными политиками кэширования). Межблочные соединения в них дублированы — не страшна уборщица, выдернувшая кабель.
  2. Во-вторых, достаточно мощные контроллеры, имеющие, как правило, по гигабайту кэша каждый. Причем контроллеров все системы поддерживают по два (есть и одноконтроллерные варианты, но это плохая экономия — на надежности). Уже сам по себе кэш на тяжелых задачах способен съесть изрядную долю нагрузки на запись — с чем мы и боремся собственно.
  3. В-третьих, дублирование контроллеров (да и всего остального собственно) позволяет спокойно жить в случае поломки в ожидании сервиса, а не бегать по потолку с позеленевшей физиономией. Да и по нашей практике системы подобного рода как правило существенно стабильнее PCI контроллеров — подавляющее большинство сбоев было вызвано Анатолием Борисовичем и шаловливыми ручками админов — тут к сожалению техника бессильна. Соединения между массивом и сервером тоже, кстати, можно дублировать.
  4. В-четвертых, внешним системам глубоко фиолетовы проблемы, случившиеся на сервере. В случае чего можно просто другой поставить в качестве времянки — со скрипом, но проработает.
  5. В-пятых, можно подключить несколько серверов (обычно по четыре порта внешних есть — а через FC коммутатор можно и больше, хотя это уже из области более тяжелых машин). Хотите кластер — ставьте две машины и настраивайте софт.
  6. В-шестых, такие системы зачастую поддерживают смешивание SATA и SAS (FC, SCSI) дисков. Т.е. Вы можете решить не только вопрос надежности и производительности базы данных, но и файлопомоек — хотя за все конечно надо платить, блоки расширения и сами диски стоят денег.
  7. В-седьмых, задублировать две дисковые системы, расположенные в разных зданиях для супернадежности — хотя тут уже прокладка кабелей может стоить больше, чем железки.

В общем, этот список можно продолжать еще долго.

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

Все-таки железки недешевые и всегда стоит сначала подумать. Поводов может быть много, буду отвечать по пунктам.

Производительность

Если Вам не хватает мощности встроенной дисковой подсистемы сервера, то деваться Вам некуда и обсуждать можно только класс аппарата и количество дисков.

Надежность и время простоя

Не то чтобы эти машины абсолютно неприступная крепость, но, по нашему немалому опыту, вышибить их весьма затруднительно. Даже если что-то и ломается, то она хоть и со скрипом, но продолжает работать — дублирование таки. Если случится поломка в обычном сервере, то быстрее, чем за несколько часов (а то и дней), починиться практически нереально. С таким же аппаратом можно спокойно дождаться сервиса. И даже если сломается не массив, а сервер — можете поставить времянку на время ремонта. Т.е. от бэкапа Вас она не избавит, но седых волос станет нааамного меньше. Кстати, в случае чего Вы, можете просто дать сервисерам доступ по VPN к управляющему порту массива — разберемся, не отходя от кассы.

Консолидация данных

С таким аппаратом Вы можете сложить все важные данные на одну, надежную, систему. Что это дает? Признайтесь честно — когда Вы последний раз прогоняли консистенси чек на дисковых массивах всех своих серверов? То-то же. Лениво. Машин много — запаришься. Имея же один аппарат, Вы имеете одну консоль управления и вполне простые и достаточные средства рассылки критических уведомлений — почта, SNMP. Т.е. напрягаться по части мониторинга придется куда меньше. Ну и масштабировать такой аппарат проще, чем докупать разнокалиберные диски в разнокалиберные сервера.

Новые возможности IT инфраструктуры

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

Для каких же задач как правило применяются подобные аппараты?

  • база данных средней тяжести — гигабайт на 10-50 и на 50-100 человек.
  • тяжелые системы MS Exchange на несколько сотен человек.
  • отказоустойчивые кластеры и вообще системы, критичные к времени простоя.
  • кластеры с балансировкой нагрузки (Oracle RAC).
  • большая файлопомойка — такие аппараты спокойно осиливают емкость в десятки терабайт.
  • иногда бывают запросы на систему, где необходим доступ нескольких серверов к единому дисковому пространству — это не вопрос, просто не забыть про софт и то, что этот софт быстро работает только на крупных файлах (фактически видеосистемы).

По большому счету все — а что еще есть на этом свете?

Сложно это все… А вот и нет!

Помимо цены, зачастую клиенты просто побаиваются новой железяки, т.к. считают, что все это слишком сложно. Поверьте, разработчики не идиоты и системы такого уровня достаточно просты в настройке. Если у Вас есть опыт работы с приличными PCI RAID контроллерами и их системами управления (Mylex GAM, Adaptec ASM…), то ничего особенно нового Вы не увидите (особенно если прочитаете документацию).

Замечательно, убедил — но как все это выглядит?

Да очень просто выглядит. К серверу внешним кабелечком (или двумя — для надежности) подключается собственно дисковый массив (про провода — ниже). Серверов к массиву можно подключить несколько — как уже говорилось. В диск менеджере сервера появится обычный SCSI диск (внешние системы, независимо от интерфейса, используют адресацию SCSI), с которым можно обращаться как обычно. Нужно только поставить драйверы HBA (FC, SAS или SCSI адаптера в сервере). Дисков этих можно сделать много, порезав массив на несколько "лунов" (LUN — Logical UNit). Луны с точки зрения контроллера фактически аналогичны партициям обычной операционки, но со стороны сервера видны как физические диски (впрочем, все то же самое делает любой PCI контроллер). Отличие состоит в том, что, подключив несколько серверов к одному массиву, можно или дать доступ всем машинам к одному диску (это требует отдельного софта на сервере — IBM GPFS, RedHat GFS, Sanbolic MelioFS — просто так этого делать НЕЛЬЗЯ!) или же раздать луны по серверам. Можно их просто смонтировать в диск менеджерах нужных серверов, а можно принудительно запретить отдельным серверам видеть отдельные луны — это называется LUN Mapping, SAN Mapping, etc. (здесь правда есть нюансы, о которых рассказывать здесь не буду — долго. Можете сами порыть на предмет Storage Partitioning — или нас спросить на форуме). Грубо говоря, конкретный диск будет виден только с конкретных хост-адаптеров (у FC адаптеров есть свой аналог эзернетовского МАС адреса — WWN). Другие серверы не будут догадываться о его существовании.

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

Интерфейс между сервером и массивом

Ранее в системах такого калибра традиционно использовался интерфейс SCSI. Но его время уже ушло и теперь практически все системы подключаются к серверу или по SAS или по FibreChannel (в сервере, как уже говорилось, должен стоять простой хост-адаптер, без всяких рэйдов, причем жестко — БЕЗ РЭЙДА). Файбер конечно дороже (цена адаптера начинается с тысячи долларов, в то время как SAS стоит сравнимо с обычными скази адаптерами), НО! Он позволяет легко утащить сервер на большое расстояние (SAS ограничен несколькими метрами — иногда до другого шкафа не дотянуть при большой серверной) и при необходимости потом поставить коммутаторы (кстати зарубите — коммутаторов должно быть или ни одного или два — ибо точка отказа) и подключить много серверов. На сас же не повесить серверов больше, чем есть портов на массиве. Такого рода аппараты покупаются не на один год, поэтому мы обычно рекомендуем не мелочиться и ставить файбер — потом может пригодиться. Кабели же вполне обыкновенные — оптические LC или медные SAS (обычно они предлагаются как опция к массиву, поэтому не озадачивайтесь — просто длину укажите желаемую).

Левые диски

При покупке массива часто слышим одну фразу — "ящик куплю, а диски сам поставлю". Это конечно дешевле, но не надо так делать. Есть два момента. Первый — в этом случае никто не станет гарантировать, что все это будет работать (а вариантов тут миллион — например, иногда будет разваливаться массив — классика жанра). И помогать тоже, скорее всего, не будет — ибо сам себе буратина. Второй — диски живут на рынке обычно не более года (а саташные и того меньше). И где Вы будете искать через пару лет диски на замену? Дальше см. п.1. Это все не шуточки, мы нахлебались вдоволь…

Систему какого производителя выбрать?

С технической точки зрения все они одним миром мазаны по большому счету. Энтри-левел, он и в Африке энтри-левел. Отличия в сервисе. Мы предлагаем аппараты от Xyratex и Infortrend (тогда гарантийный сервис наш) или от IBM (тогда в случае чего проблемами будет заниматься сервисная служба голубого гиганта). Но в принципе эти системы весьма надежны, да к тому же все важное в них задублировано. Поэтому можно особенно не озадачиваться этим вопросом — Инфортренды и Зайратексы по надежности ничуть не хуже брэндовых аппаратов. Большинство запросов — из серии "как настроить", а этим все равно IBM заниматься не станет. Ну и если Вы находитесь в небольшом городе, где нет фирменного сервис-центра, то Вам все равно надо просто покупать ЗИП и не надеяться на чудеса — на вертолете к Вам никто не полетит. Впрочем, покупать китайскую железку неизвестного происхождения в подвальной конторе тоже не стоит — все же это не три рубля.

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

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

Отличие от больших систем и функции

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

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

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

Впрочем, такие машинки могут быть вполне интересны в комплексе с системой виртуализации (IBM SAN Volume Controller, Falconstor IPstor…), которая всю интеллектуальную часть берет на себя. В этом случае, вполне возможно, дорогие системы не потребуются — толпа зайцев уделает льва. Также в оракловых системах вполне можно разделить нагрузку по нескольким недорогим аппаратам — главное дисков побольше, да подешевле. Да и многие функции дорогих аппаратов можно относительно недорого реализовать при помощи софта на сервере — типа Symantec (ex Veritas) Storage Foundation.

Вот собственно и все, что можно сказать в рамках небольшой статьи. Если Вы надеялись получить совет "купи ХYZ и все будет круто!", то сильно ошибались. Мы ежедневно занимаемся предпродажной работой и сами не можем вывести формулу что и как покупать — слишком много нюансов. Но самое главное, что я пытался до Вас донести — подобные системы помогут Вам решить массу вопросов, причем не так уж дорого и сложно. А дальше — велкам к спецам…

Обсуждение статьи на форуме

Искренне Ваш,
Игорь Вихренко,
Технический директор
ЗАО "Тринити Солюшнс",
Москва.
24 мая 2007

Система Orphus