ИТ-технологии для профессионалов

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

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

История придуманная и любые совпадения с реальными персонажами являются случайными (хотя и вполне вероятными).
Жил да был системный администратор, работал себе в небольшой компании, серверов у него в услужении было всего ничего – ну пусть будет 4 штуки, скажем. На серверах все стандартно, везде Windows Server  установлен да и приложения на нем всякие работают – и контроллер домена, и файловый сервер, и почта, и SQL тоже был.
imageЖил бы наш админ, да и горя бы не знал, только как случись какая неполадка в его хозяйстве, так сразу его под белы рученьки на ковер к начальству ведут и ругают на чем свет стоит. А он, бедный, только руками разводит да слезно просит бюджет увеличить, чтобы большую СХД купить – без нее никак у него не получится все задачи в виртуальную инфраструктуру перевести, обеспечив тем самым большую отказоустойчивость. Начальство же ему в ответ, хмуря брови - “Нет! Тебе лишь бы деньги казенные в расход пустить! Мы вон тебе серверов купили отличных уже недавно! А нагрузка, сам говоришь, процентов 10 от силы. Да как у тебя язык-то поворачивается о таком просить?! Кризис же на дворе! Поди прочь, с глаз долой и сделай срочно, чтобы все работало!”.
И после таких разговоров шел обычно админ, понурив голову, к себе в кабинет и думку думал, но решение никак не приходило. Он уже и прикинул, какая производительность для текущих задач нужна – действительно, если Hyper-V использовать, то и пары физических серверов хватит. Но все равно – нужен внешний сторадж, чтобы хранить данные виртуальных машин. Можно конечно на “лишнем” сервере сделать iSCSI target (благо вариантов таких полно сейчас, даже и бесплатных). Но что будет, если это сервер “рухнет”?! Тогда уж сразу можно заявление на стол, а голову в петлю. Резервные копии на второй сервер немного подсластят жизнь, да только остановка сервисов при сбое все равно будет слишком долгая. Как же быть?
И вдруг вспомнил админ, что совсем недавно читал в каком-то блоге :) про Sanbolic Melio 2010. Есть же там и специальная редакция для Hyper-V, цена которой начальство ну никак не расстроит! И поддержка iSCSI есть, и кластерная файловая система все проблемы с CSV томами снимет. Так может быть можно и два iSCSI хранилища в “зеркало” объединить, чтобы защититься от сбоев? А ведь и правда можно (в DataCenter версии Melio Suite)! Тут уж и работа закипела, освободил админ два сервера, настроил на внутренних дисках RAIDы, установил iSCSI target, настроил все. Поставил на серверы с Hyper-V Sanbolic Melio 2010 (покупать сразу не решился, поэтому получил сначала демо-версию, которая по функционалу от оплачиваемой и не отличается ничем, кроме ограничения на срок использования).  Создал зеркало, отформатировал диски – и все!
image После этого сбой любого из серверов Hyper-V приводил только к перезапуску виртуальных машин на “живом” сервере, а если использовать DataCenter редакцию Melio, то и сбой сервера iSCSI вообще никак на доступности сервисов не отражается – вторая половина зеркала берет всю нагрузку на себя.
И вот тут-то админ и понял, что значит завоевать уважение и благосклонность начальства – бюджет решения был минимизирован, имеющееся оборудование было полностью задействовано, отказоустойчивость повысилась многократно. Теперь можно и в отпуск отпроситься, не опасаясь что через два дня срочно вызовут, да и обругают за то что ничего не работает.
Вот такая вот сказка получилась. Правдивая? По моему мнению - более чем!

20 комментариев:

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

    ОтветитьУдалить
  2. А какая примерно цена этой Melio FS для Hyper-V?

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

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

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

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

    ОтветитьУдалить
  5. А зеркала какие? Active-passive, или модный нынче active-active?

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

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

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

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

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

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

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

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

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

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

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

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

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

    К.С.

    ОтветитьУдалить
  16. 2К.С.: Спасибо :)

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

    ОтветитьУдалить
  17. Хорошо написано, прямо зажегся сделать также. Причем при цене "меньше 300USD на сервер" это решение хорошо подходит для небольших компаний, не имеющих возможность купить "большую СХД" и использующих для этого файловый сервер. Но, концентрируя на кластере Hyper-V несколько серверов в виде VM, приходится предъявлять более высокие требования "СХД", на которую мы положим эти VM. И тут все замечательно: "Так может быть можно и два iSCSI хранилища в “зеркало” объединить, чтобы защититься от сбоев? А ведь и правда можно!"
    Зажегся, значит, начал смотреть более подробно. Уже представлял как все это сделаю - будет как в "Сказке". Мануал,там, скачал, демку запросил... С демкой, правда, пока ничего не вышло - попробовать не на чем пока, но более вдумчивое чтение документации неприятно потрясло: ЗЕРКАЛО МОЖНО СОБРАТЬ ТОЛЬКО НА ДАТАЦЕНТРЕ далеко не за 300USD. Причем основная неприятность этого потрясения от рухнувших надежд, от ощущения того, что меня пытались просто "развести" как это делают в теле-рекламе - там не досказали, тут умолчали...
    Андрей, пожалуйста, развейте мои сомнения! Я буду счастлив ошибиться - мне очень нужна недорогая, но тем не менее надежная "конструкция" для создания кластера Hyper-V.

    ОтветитьУдалить
  18. Да, спасибо за указание на неточность. Перепроверил еще раз. Так как мы не используем младшую версию, то я исходил из возможностей LaScala (в котором raid1 есть). А для lascala ранее всегда была доступна только одна редакция со всеми возможностями. Специально перепроверил еще раз - в бандле virtualization данный функционал действительно отключен принудительно. Тем не менее, существует и ряд других возможностей по созданию отказоустойчивой системы хранения на DAS - это например широкоизвестный StarWind. С другой стороны, редакция datacenter предоставляет множество других дополнительных преимуществ, которые более чем оправдывают его использование в боевой среде. Если же стоит задача минимизировать затраты любыми средствами, то проще всего правильно организовать резервное копирование - это позволит защититься от гораздо большего числа проблем.

    ОтветитьУдалить
  19. Ох, как жаль. Спасибо за комментарий.
    Андрей, можно попросить Вас рассмотреть возможность сделать обзор бюджетных решений "СХД" для кластера Hyper-v, и/или вариантов "правильно организовать резервное копирование". Ведь, не секрет, что с выходом бесплатного Hyper-v, многие небольшие компании (их админы) рассматривают возможность внедрения виртуальной инфраструктуры у себя.
    Что напрягает лично меня - так это "единая точка отказа", которая возникает при использовании простой серверо-СХД. А, учитывая то, что я кладу все яйца (вирт.сервера) в одну корзину - хочется подстраховаться... Резервное копирование - тоже решение, и даже обязательное, но сколько времени займет размотать BackUp на запасной сервер...
    Со StarWind-ом тоже не все гладко. Стоит погасить оба "носителя" HiAval образа, и его придется пере-создавать вручную: http://www.starwindsoftware.com/forums/starwind-f5/about-cannot-resynchronize-after-shutdown-both-partners-t2164.html
    Может-быть решение лежит на виду, но мы (я) его просто не видим из-за ограниченности кругозора.

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

    ОтветитьУдалить