Виртуализация серверов
Последние пять лет вокруг активно говорят про виртуализацию. Зачем она нужна современной компании?
Виртуализация - это переход от физического оборудования к виртуальному. Есть два основных направления: это виртуализация отдельных приложений и виртуализация серверов. О виртуализации серверов мы здесь и поговорим.
В чём же выгода?
Выгода в экономии пространства, электричества, мощности системы охлаждения, сетевого и серверного оборудования. Когда-то у нас было более 400 физических серверов — один сервер под одно приложение. Занимали они 8 стоек. А сейчас у нас более 3000 виртуальных серверов. И занимают они всего-лишь 4 неполные стойки.
В конечном итоге пользователь работает с программами. В большинстве случаев программам достаточно для работы относительно слабого оборудования: 1-2 ядра, 1-8Гб RAM. В большинстве своём такие серверы практически ничего не делают и просто ждут появления запросов от пользователя. Железные серверы в настоящее время стали настолько мощными, что их ресурсов хватает на 20-30 таких небольших виртуальных серверов. Было бы только памяти и дисковых операций в достатке.
Чем же отличается физический сервер от виртуального сервера (виртуальной машины)?
С точки зрения администрирования операционной системы и приложения внутри — ничем, кроме отсутствия зависимости от физического оборудования. А это значит, что не нужно заботиться о совместимости с физическим оборудованием сервера, планировать простои от необходимости обновить микропрограммы и драйвера. А также иметь большие простои при замене или ремонте физического оборудования. Для обслуживания физического оборудования платформы виртуализации достаточно переместить виртуальные серверы на другие свободные физические серверы. Это выполняется на лету прозрачно для работы приложения. Следует отметить, что при этом приложение внутри сервера и саму операционную систему надо тоже обслуживать. И если они не позволяют выполнять обслуживание без останова, то приложение всё же придётся останавливать.
Мы прошли долгий путь по виртуализации серверов и приложений. Мы начинали более десяти лет назад, когда пентиумы были третьими, а спарки были четвертыми, с того, что просто размещали несколько приложений (в основном системы SAP) на крупных серверах класса SF6900 и SF25K. Это нам позволило дать системам больше ресурсов, чем они смогли бы получить на отдельных менее мощных серверах.
После этого мы пришли к тому, что системы следует изолировать друг от друга — это правильно, в первую очередь, с точки зрения безопасности, а так же с точки зрения выделения вычислительных ресурсов. И стали использовать Solaris Zones (и до сих пор используем на оставшихся SF25K). На этом пути мы столкнулись с рядом технических сложностей. Например, поняли, что свопинг просто «убивает» физический сервер и влияет на все системы. Поэтому отказались от какого-либо лимитирования физической памяти на SPARC.
Наши системы росли, и им становилось тесно даже в рамках огромных SF25K. Мы смотрели в сторону разных супер-серверов, но в конечном итоге перешли на виртуализацию х86 на базе VMware четвертой версии. К тому моменту у нас уже был опыт хостинга порядка 300 машин на VMware 3. Мы перевели часть серверов приложений и терминальных серверов на виртуальную платформу. А затем стали размещать на ней новые системы и постепенно переводить на неё системы с SF25K.
Сейчас на нашей платформе в нескольких ЦОД размещается более 3000 виртуальных серверов. Некоторые из них очень мощные — например, одна из систем SAP занимает ресурсов совокупно больше, чем есть на старом добром SF25K — система способна разместиться на паре блэйдов, а SF25K занимает пространство полутора стоек. Есть инстансы Oracle с объёмом памяти почти в 200Гб. И всё это вместе умещается в неполных 4-х стойках. А всё пространство в ЦОД занимают диски, диски, диски. Такова современная тенденция — информации становится всё больше, но самое главное, всё больше информации надо обрабатывать. А это чтение/запись дисков — IOPS'ы, IOPS'ы, IOPS'ы.
Эволюция любого оборудования: оно является суперпередовым, через год оно «всё ещё ничего», а через 2-3 оно уже на уровне среднего. Так и с системами хранения. А количество информационных систем всё растёт и растёт. И ресурсов они требуют всё больше и больше. И не выкидывать же устаревшую систему хранения, которая исправно хранит сотню Тб данных, но выдаёт всего лишь несколько тысяч IOPs на них. И это пространство в виртуальной среде на что-то сгодится. Приходят на смену новые системы хранения. Многие из них позволяют через себя подключать старые системы хранения и от своего имени предоставлять их пространство — виртуализация систем хранения. Зачем это нужно? Это защита сделанных ранее инвестиций.
Мы поработали с системами многих вендоров: Hitachi, SUN, NetApp, HP, RCNTEC. И у нас большой опыт по работе с каждой системой хранения и по их интеграции.
На этом пути мы развивали платформу одного из наших крупнейших заказчиков - ЛУКОЙЛ-ИНФОРМ. Мы и сейчас сопровождаем эту платформу. Но вместе с тем предоставляем хостинг и другим заказчикам на базе платформы виртуализации KVM.
Главное преимущество виртуализации — это сокращение срока выделения серверов заказчику. В большинстве крупных компаний существует годовой цикл планирования инвестиций на покупку оборудования. Это, во-первых, означает, что приобритение оборудования для проекта в этом году должно было быть запланировано в прошлом году. Во-вторых, покупка физического оборудования в большинстве случаев требует размещения заказа на производстве — срок поставки увеличивается до 8 недель. Выделение же виртуального сервера происходит практически моментально. Надо только иметь восполняемый запас серверных мощностей.
Средства высокой доступности (High Availability) позволяют перезапустить виртуальный сервер на другом физическом сервере за считанные минуты при выходе из строя физического оборудования. А если ещё и внутри сервера настроить автостарт приложения, то оно само запустится при старте сервера.
Упрощается резервное копирование и восстановление сервера. Отсутствие привязки к физическому оборудованию позволяет быстро переносить виртуальный сервер из одного центра обработки данных в другой.
Да, виртуализация позволяет экономить за счёт отсутствия необходимости закупки физических серверов, коммуникационного оборудования и инженерных систем при необходимости развёртывания новых серверов. Но построение собственной виртуальной среды Enterprise уровня потребует значительных усилий, времени, затрат, привлечение консалтинга, поскольку хорошая инфраструктура — это основа для дальнейшего развития Вашего бизнеса.
Альтернатива — заказ виртуальных серверов у компании, занимающейся хостингом (т. е. у нас :) ). Мы специализируемся на виртуализации серверов. Можем также предложить и администрирование операционных систем, баз данных и приложений. Взять на себя резервное копирование. Предложить воспользоваться нашей централизованной системой мониторинга.
Это действительно уникальное творение — систему мы писали под свои нужды, и она нравится многим нашим заказчикам. Система позволяет построить иерархию зависимостей компонентов информационных систем. Нам в какой-то момент стало мало просто мониторить доступность серверов, и мы стали мониторить и сами информационные системы: базы данных, приложения. Когда возникает сбой, администратор начинает перебирать по очереди компоненты от самых очевидных к менее вероятным, проверяя их по разным параметрам. Мы подумали, как облегчить траблшутинг? Пусть эти параметры всех компонентов проверяются автоматически! И не только после сбоя, а постоянно — так и увидим предпосылки возможного приближения сбоя, и будем знать, что именно сломалось. Вторая важная часть — это сразу наглядно показать, что же именно вышло из строя. Обычно при детальной проработке информационная система состоит из нескольких десятков компонентов (серверы, системы, базы данных, приложения) — даже, если их все сразу показать на мониторе в 50 дюймов — одни красные, вторые зелёные, третьи жёлтые, - то очень тяжело найти первопричину всех бед. Поэтому мы сделали очевидное — убрали все компоненты, с которыми всё в порядке в настоящий момент (зелёные). Когда возникает сбой, иерархия раскрывается до сбойнувшего компонента, указывая причину (какой из тестов не прошёл), указывая контакты ответственного за компонент администратора.
Эта информация по всем поставленным на мониторинг системам наших заказчиков выводится на мониторах ситуационного центра департамента быстрого реагирования — нашей круглосуточной службы устранения инцидентов. Они способны либо сами устранить последствия сбоев, либо в сложных случаях подключить администраторов.
Мы рады помочь Вам с построением у Вас виртуальной платформы и с её обслуживанием. Также мы готовы предложить Вам хостинг серверов на базе нашей виртуальной платформы.