Доброе утро. Встал вопрос выбора платформы для виртуализации и не хочется ошибиться в этом, прошу помочь советом.
Сейчас есть сервер (Intel Xeon E5620,32Gb RAM) под управлением VMWare ESXI 6.5, на котором работают несколько виртуалок с разными ОС и задачами (squid,wsus,asterisk,zabbix,etc) и несколько серверов без виртуализации(asterisk ,cucm , pfsense). Все это работает, не вызывает проблем, кроме вопроса отказоустойчивости. Было решено все это перенести на новый сервер и собрать кластер, закупили пару серверов (Intel Xeon E5-2603 v4 ,128 Gb RAM ) и один (Intel Xeon E5-2603 v4,16 Gb RAM ) для бэкапа.
Продукт от VMWare очень нравится, но цена на лицензию кусается. Из требований, хотелось бы, что бы при выходе из строя одного сервера время простоя не превышало пары минут. Так же хочется минимизировать время для решения различных проблем при работе с платформой виртуализации, желательно, что бы все работало из коробки . Бэкапы делались по расписанию, была возможность мониторинга, легкий перенос виртуалок, проброс устройств, GUI.
Cейчас для теста установил Proxmox, однако, пока есть сомнения в правильность выбора( возникло несколько проблем – хост не перезагружался по команде, быстро развернуть систему из .ova архива не удалось и прочие мелочи) Меня смущает факт не столь большой популярности данного решения.
Еще как вариант расматриваю следующий сценарий - поставить esxi с его бесплатной лицензией, без возможности собрать кластер, а отказоустойчивость реализовывать посредством настройки самих систем?
Заранее спасибо.
У себя я решал это 2 способами: 1) 3 сервера Proxmox в кластере + внешний SAN для хранения витртуалок. Сервера с san были соединены отдельно через intel xt540-t2 и свитч 10 гигабитный, для юзеров сервера смотрели сетевушками гигабитными в сетку. Миграция между серверами 1тб занимала пара минут.
второй вариант более сложен для меня был в плане настроек, за основу виртуализации я выбрал Hyper-v на windows server core. Остальное было так же.
По поводу проблем проксмоксом после того как вы поставили винду в виртуалке необходимо поставить qemu-agent и сервис balloon. После этого проксомок начнет показывать реальное использование ОЗУ и ЦПУ + заработают команды ACPI. Проксмокс из коробки поддерживают миграцию с VMware Hyper-v и еще пары систем.
Кластер из двух серверов не получится. Нужно минимум три -- один из серверов будет общим хранилищем для двух остальных. Это независимо от платформы виртуализации.
Что касается лицензий -- у VMware есть пакеты типа vSphere Essential, они стоят не так дорого, как если брать просто vSphere. Essential Plus покрывает три сервера и один vCenter, стоит около 250-300 тысяч рублей.
Но один сервер под общим хранилищем -- этого мало, так как он становится единой точка отказа (сдохнет -- и полягут ВСЕ виртуалки). Поэтому самым правильным вариантом решения будет конвергентная инфраструктура -- когда сервера виртуализации также презентуют свои локальные диски в какой-то из вариантов software defined storage. Среди вариантов: Ceph (бесплатный, но капризен, и для поддержки нужны нефиговые такие скиллы), VMware vSAN (стоит нефигово) или ScaleIO (тоже стоит порядком, но до 12 Тб сырого места можно юзать совсем бесплатно. В варианте из трёх узлов в кластере ScaleIO 12 Тб сырого места -- это 4 Тб полезного места. При росте числа узлов оверхед будет снижаться. Например, 12 Тб сырого места на 5 серверах уже обеспечит 5 Тб полезного места).
Так что всё зависит от бюджета. Тут всё как везде -- баланс между стоимостью и лёгкостью развёртывания/эксплуатации. Вложите больше денег -- получите решение, которое проще развернуть, проще эксплуатировать и есть саппорт. Вложите меньше -- надо будет юзать опенсорс, больше времени заложить на пилот, и зачастую самому разбираться с прибабахами, строча сообщения на форумах и гугля с космической скоростью :-)
Ну и, собственно, игроков на рынке виртуализации не так уж чтобы до фига. Microsoft Hyper-V, VMware ESXi, KVM. Proxmox -- это не вполне система виртуализации, это оркестратор для управления виртуальной инфраструктурой. Непосредственно виртуализацией занимается всё равно KVM (или LXC, но это вам не нужно).
Таки один раз я поднял кластер чисто на двух серверах ESXI и попробовал FT (именно FT, не HA) на одной виртуалке. Забегая вперед: отработало как и положено - прозрачно. Но это был дикий костыль. Сами сервера были нутакие Supermicro, сеть 100Мб\с, диски простые SATA. Короче, полный букет.
Как это работало:
два ESXI одной версии
Vcenter (точно не помню... по-моему даже на одном из ESXI виртуалкой. Насколько помню Cluster Agent'ы не зависят от Vcenter).
Настроенный кластер.
FT на конкретной виртуалке.
Хранилища были реализованы с помощью StarWind vSan - две виртуалки с синхронизацией виртуального диска внутри них. На этих же серверах ESXi по одной))
На двух серверах можно тоже развернуть отказоустойчевый кластер. Рассказываю.
VMWare - у них есть VSA (vSphere Storage Appliance) - что-то типа RAID10 по сети, на каждом сервере лежит копия другого сервера, соответсвено можно использовать только половину диского пространства. Но зато работает на двух серверах, ещё может быть минус, что надо хорошую сеть, чтобы была нужная скорость. У нас два сервара были с друг другом соеденены через 10Gbit/s. Я не уверен, есть ли это опция в бесплатной версии VMWare ESXi.
MS HyperV - у него есть бесплатная версия, но тут нужен уже сторедж, где будут лежать виртуальные диски и соответсвенно на двух серверах работать не будет. Еще желательно иметь AD. Если вы ни когда ещё не работали с Hyper-V, то это очень удобная и хорошая вещь. По моему мнению лучше, чем VMWare.
Proxmox, KVM - разные продукты, но у обоих проблема в сторадже, так как стандартно у них его нет. Но здесь хорошо может помочь Ceph, там выше писали, что как-то его тяжело ставить и с ним работать, но это не так. У нас внутри фирму есть кластер, работает с 2015 года и ещё один у Hetzner'a. Для установки есть ceph-deploy. Но для него надо три сервера.
Если выбирать из Proxmox или КVM, то всё таки лучше брать Proxmox, там надо меньше делать руками и довольно просто добавить поддержку ceph.
Антон Уланов, ну я и имел ввиду, что на двух серверах без стораджа работать не будет.
У нас был кластер из двух серверов и ibm storwize v3700, оба сервера были к нему через Fibre Channel.
Работало очень хорошо, делаешь из них в кластере Shared Storage и на нём потом складываются диски для виртуальных машин.
virtual storage applience почил в бозе лет 6 назад. С 2011-го года о нём практически никаких упоминаний. Да, наверное ещё можно найти шаблон для его развёртывания, но юзать его в текущих исторических реалиях я бы не стал.
Hyper-v хорошая вещь? Это особенно когда тебе надо перезагрузить ВМ которая зависла, а хост на hyper-v не может прибить процесс с виртуальной машиной (2012 R2, на тот момент со всеми актуальными обновлениями, гостевые также 2012 r2) в итоге чтобы все взлетело и прибился процесс зависшей ВМ нужно перезагрузить весь хост hyper-v. Это было не один раз.
Из минусов hyper-v не умеет изкаропки пробрасывать физические устройства в ВМ (usb ключи, флешки и по.) Ответ Майкрософт по этому поводу - виртуализация делалась не для того чтобы привязать экземпляр к физическому оборудованию. Хотя те же VMware, proxmox. Умеют это делать. В proxmoxe не так удобно как в VMware. Много чего мне нравится как работает в VMware, proxmox.
Гостевые уходили в lock, но также прекрасно и unlock их срабатывал. У мне в основном во время сбоя во время бэкапа. К тому же это было пару раз. А вот гиперви частенько ставил меня в неловкое положение. Было это года 2,5 назад, сейчас в другой организации мы не используем hyper-v. Не могу сказать что проблема у них осталась т.к. выборки нет.
Maxim, у всех у них есть свои недостатки, у нас например на двух серверах с vmware esxi 6 переодически зависает дисковая система (примерно раз в 4-6 месяцев), один стоит внутри фирмы другой у hetzner'a.
Hyper-v по мне так пока самый беспроблемный был, но я понимаю, что это может быть было только у меня.
Maxim, если бы все следили за ресурсами... но большинство даже предписания не пугают. на днях у клиентов на sql сервера на дисках с бд место кончилось так работа на 2 дня встала
У hyper-v есть возможность репликацию производить. Если ляжет хост - можно в течении пары секунд/минут восстановить работу без необходимости делать кластер. Настраивается крайне просто. Можно исхитриться и впихнуть на виртуалки какой-нибудь кластер dc/os, если хранилку на них правильно организовать и использовать уже докер ^^)
у Hyper-V есть бооольшой минус - нет проброса USB устройств в машину, для этого нужно покупать какое-то стороннее решение, которое стоит отдельных денег.
Антон Уланов, Не могли бы Вы тогда сказать, как это сделать не покупая дополнительное ПО?
Нам это не удалось сделать...
Да и Microsoft говорит, что не умеет такое hyper-v и не планируется его этому учить... https://social.technet.microsoft.com/Forums/ru-RU/...
Мало того моя организация будучи партнёром microsoft организовывало семинар по линейке тогда ещё 2012 сервера. Так вот технари тоже самое сказали. Не будет проброса usb ибо не соответствует идее виртуализации - переносимость виртуальной среды с одного хоста на другой. Типа вам же надо будет пойти переткнуть usb устройство чтобы ПО, которому оно требуется, взлетело. Нам осталось покрутить у виска пальцем, т.к. помимо Майкрософт мы ещё и 1с занимались, а там тогда было куча ключей, которые нужны внутри виртуалки. В итоге 1с обзавелась программными ключами, стал легче, но добавил кучу других проблем.
Виктор, А собственно говоря зачем? Кроме экзотических вариантов. Я понимаю там 1c и прочий трэш, требующий программного ключа. Но это всё равно не минус, т.к. не вписывается в концепцию использования, учитывая постоянную миграцию виртуалок с сервера на сервер. В этом случае надо отдельную железку там usb over ethernet умеющую. Если так критично и у вас много серверов 1с, требующих ключей (и вы не хотите покупать отдельную железку для usb) - то выбрать другую систему виртуализации, которая это умеет.
rionnagel, например, ABBYY FormReader 6.5 Enterprise использует именно физический ключ.
Ну например у нас в подразделении виртуализация использовалась для решения двух проблем:
1. восстановление сервера, если какие-то действия пользователя/администратора её случайно уронят - система старая, идиотски настроенная, такие риски были - решается просто загрузкой из предыдущей точки восстановления
2. если сгорит/сломается железо. Собственно, после того, как умерло предыдущее железо на виртуализацию и перешли. Решаем эту проблему автоматической репликацией на соседний физический сервер. Физические сервера стоят в соседней комнате, используется только в рабочее время - переткнуть ключик - дело пары минут.
т.к. в Windows Server виртуализация идёт штатными средствами - было проще организовать виртуализацию и реплицирование.
но из-за отсутствия проброса USB - пришлось извращаться...
Виктор, Это софт ушедшей эпохи) Или уходящей... как и 1С c lpt ключом) Более современное требует уже программных ключей, если и требует. Просто тут расчёт на это - есть у тебя несколько корзин с вениками+ и серверов штук 30+, есть у тебя отказоустойчивый кластер и виртуалки с сервисами, которые прыгают по той или иной причине с сервера на сервер без даунтайма. usb тут не реализуется и вообще ненужнО... а если вдруг нужнО, то в стойку покупается девайс типа usb over ethernet и уже нужные флешки вяжутся к конкретным виртуалкам без привязки к железу. К сожалению в мелких не it конторках в снг проще заставить админа проколупаться месяц с костылями и скотчем (или вообще из-за флешки полностью менять архитектуру и систему виртуализации), чем купить нужный девайс.
Почему я давно остановился на Proxmox'e. Во-первых старый добрый гибкий Linux: невероятная скорость работы была у OpenVZ машин, просто нечто. Сейчас они канули, но есть контейнеры. Второе, есть платная подписка, которая гарантирует возможность саппорта. Ни разу не брали ее, пока справлялись сами, но с ростом задач и ответственности..кто знает. В-третьих, не знаю... zfs, которая там теперь из коробки — мне понравилось, кластер не поднимал, не стояла задача "поднять за 5 мин", но скоро, видимо, руки дойдут.
По поводу дико медленный, так надо понимать как оно работает и каких ресурсов требует. Никто не ожидает, что садясь за руль и не сняв с ручника автомобиль поедет и будет набирать нормальную скорость с прогнозируемой динамикой. Во всех рекомендациях что приходилось читать про zfs неоднократно встречал упоминание того, что система требовательна к наличию ОЗУ. Конечно если отключить ряд функционала то и требование к ресурсам снизится.