пятница, 9 июля 2010 г.

Сказка перед выходными

История придуманная и любые совпадения с реальными персонажами являются случайными (хотя и вполне вероятными).

Жил да был системный администратор, работал себе в небольшой компании, серверов у него в услужении было всего ничего – ну пусть будет 4 штуки, скажем. На серверах все стандартно, везде Windows Server  установлен да и приложения на нем всякие работают – и контроллер домена, и файловый сервер, и почта, и SQL тоже был.

imageЖил бы наш админ, да и горя бы не знал, только как случись какая неполадка в его хозяйстве, так сразу его под белы рученьки на ковер к начальству ведут и ругают на чем свет стоит. А он, бедный, только руками разводит да слезно просит бюджет увеличить, чтобы большую СХД купить – без нее никак у него не получится все задачи в виртуальную инфраструктуру перевести, обеспечив тем самым большую отказоустойчивость. Начальство же ему в ответ, хмуря брови - “Нет! Тебе лишь бы деньги казенные в расход пустить! Мы вон тебе серверов купили отличных уже недавно! А нагрузка, сам говоришь, процентов 10 от силы. Да как у тебя язык-то поворачивается о таком просить?! Кризис же на дворе! Поди прочь, с глаз долой и сделай срочно, чтобы все работало!”.

И после таких разговоров шел обычно админ, понурив голову, к себе в кабинет и думку думал, но решение никак не приходило. Он уже и прикинул, какая производительность для текущих задач нужна – действительно, если Hyper-V использовать, то и пары физических серверов хватит. Но все равно – нужен внешний сторадж, чтобы хранить данные виртуальных машин. Можно конечно на “лишнем” сервере сделать iSCSI target (благо вариантов таких полно сейчас, даже и бесплатных). Но что будет, если это сервер “рухнет”?! Тогда уж сразу можно заявление на стол, а голову в петлю. Резервные копии на второй сервер немного подсластят жизнь, да только остановка сервисов при сбое все равно будет слишком долгая. Как же быть?

И вдруг вспомнил админ, что совсем недавно читал в каком-то блоге :) про Sanbolic Melio 2010. Есть же там и специальная редакция для Hyper-V, цена которой начальство ну никак не расстроит! И поддержка iSCSI есть, и кластерная файловая система все проблемы с CSV томами снимет. Так может быть можно и два iSCSI хранилища в “зеркало” объединить, чтобы защититься от сбоев? А ведь и правда можно! Тут уж и работа закипела, освободил админ два сервера, настроил на внутренних дисках RAIDы, установил iSCSI target, настроил все. Поставил на серверы с Hyper-V Sanbolic Melio 2010 (покупать сразу не решился, поэтому получил сначала демо-версию, которая по функционалу от оплачиваемой и не отличается ничем, кроме ограничения на срок использования).  Создал зеркало, отформатировал диски – и все!

image После этого сбой любого из серверов Hyper-V приводил только к перезапуску виртуальных машин на “живом” сервере, а сбой сервера iSCSI вообще никак на доступности сервисов не отражается – вторая половина зеркала берет всю нагрузку на себя.

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

Вот такая вот сказка получилась. Правдивая? По моему мнению - более чем!

16 коммент.:

Анонимный комментирует...

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

Анонимный комментирует...

А какая примерно цена этой Melio FS для Hyper-V?

Анонимный комментирует...

и где вы такие серверы находите с загрузкой в 10% :)
особенно по иопсам дисковой :)

Andrew Ivanov комментирует...

"Шелуха"? Она своей цели достигла - Вы же прочитали и даже комментарий оставили.

Цена самой младшей редакции - меньше 300USD на сервер.

Где 10% нагрузки? Да каждый второй (если не чаще). Реальные исследования различных инфраструктур показывают даже еще меньший средний процент. Конечно есть и ситуации когда различные компоненты перегружены. Просто последние значительно более заметны, нежели первые.

Анонимный комментирует...

А зеркала какие? Active-passive, или модный нынче active-active?

Andrew Ivanov комментирует...

В данном случае никаких принципиальных отличий active/active от active/passive нет.

Анонимный комментирует...

diz:Я правильно понял, зеркалирование осуществляется средствами melio?

Анонимный комментирует...

diz:А, понял, это делается при помощи lascala.

Andrew Ivanov комментирует...

2diz: В состав Melio Suite входит и MelioFS, и LaScala, и другие полезности. Поэтому оба ответа правильные :) С точки зрения конкретных приложений зеркалирование осуществляется через LaScala, с точки зрения ПО в целом - средствами Melio Suite.

Анонимный комментирует...

Где 10% нагрузки? Да каждый второй (если не чаще).

вот смотрю я на свои 6 серверов - у первого очередь к дискам до 50 доходит
у второго до 30
у третьего до 10
остальные мелочь однозадачная

или выборка не соответствует генеральной совокупности :)

ps на серверах raid 10 из 8-6 15-10k sas

Анонимный комментирует...

Это говорит лишь о неверном планировании дисковой.

Andrew Ivanov комментирует...

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

Анонимный комментирует...

Кроме того, иногда стоит озадачиться рассмотрением дисковой нагрузки по разным серверам во времени. Пики могут не совпадать и тогда можно сэкономить на сторадже. Явление не такое частое, но может иметь место.
Например на моей памяти был один клиент, у которого днем была мощная транзакционная нагрузка, а по ночам олап кубы пересчитывались (на разных серверах). Тут бы и одной дисковой на двоих хватило - днем аналитика диски особо не напрягала.

Анонимный комментирует...

diz: Судя по мануалу на сайте, тиминг не поддерживается. Что происходит в случае обрыва канала, по которому идет репликация?

Анонимный комментирует...

Читал с удовольствием. Отлично написано. :-)

К.С.

Andrew Ivanov комментирует...

2К.С.: Спасибо :)

2diz: в каком плане "репликация"? Речь про зеркалирование - iSCSI таргеты могут быть подключены по нескольким линкам (MPIO). Для взаимодействия узлов с Melio могут использоваться разные интерфейсы. Так что тиминг в этом конкретном случае не нужен.
Штука с репликацией будет, но в данном случае про нее речи пока еще не было :)

Отправить комментарий