Виртуализация. Принцип работы VMware ESXI
Сегодня расскажу, что такое виртуализация, для чего она нужно и что она вам даст при ее внедрении. Рассмотрим понятия гипервизор. Разберем как это организованно у компании VMware на примере ее продукта ESXI 5.5. Основная задача любого бизнеса представленного в интернете это доступность ее сервисов. Сервесы как следует работают на железных серверах, представим ситуацию, что на одном мощном физическом сервере живет 5 разных сервисов. Все они имеют доступ к одной файловой систем, к ресурсам, они работают все хорошо. Проходит время и они начинают мешать друг другу, по разным причинам обновления по или самой ос. В итоге вы получаете что у вас из за одной службы перестаю работать нормально или вообще остальные 4. Виртуализация как раз помогает бизнесу консолидировать ресурсы и сделать каждый сервис не зависимым в рамках одного физического сервера.
Физическая инфраструктура
Рассмотрим как работает приложение на физическом уровне. В современном мире если рассматривать железо на серверах, в 90 процентов случаем, оно не до загружено, в среднем процентов на 50-60, а это означает низкую утилизацию ресурсов. Примеров не рационального использования может служит служба DHCP, которая по определению легкая и может обслуживать хоть 1000 клиентов, будь она на Windows или Linux. В итоге запустив его на мощном сервере вы плохо его используете, недогружая, тратите лишнюю электро энергию, чем больше у вас таких серверов, тем мощнее нужна система охлаждения, мощнее система резервного электро питания, больше физического пространства в Unit. Короче как вы поняли всего больше, но когда пришла технология виртуализации, все поменялось, но об этом позже. Ниже представлена схема как работает приложение на физическом сервере.
Есть physical host, на котором стоит ОС и уже в ней крутится приложение. К physical host можно подключать ISCSI, NFS, FC системы хранения.
Виртуальная инфраструктура
Такое шапито не могло долго продолжаться, и бизнесу задолбалось терять деньги на новом оборудовании. И вот тут в их жизнь вошла виртуализация. Такое магическое, не понятное слово, что из будущего. Технология виртуализации, помогла консолидировать ресурсы серверов, позволив запускать в рамках одного физического сервера, множество изолированных операционных систем, искренне считающих себя не зависимыми. на отдельном сервере, имея виртуальное оборудование. Клиенту как потребителю, вообще не интересует вообще до лампочки на чем реализован его сервис, будь то почта будь то база данных, ему главное продукт, но для бизнеса выгоднее когда в рамках одного сервера они могли бы запихнуть на него больше сервисов и продать их клиенту. Бала решена еще одна задача это поддержка старых приложений, которые написаны под какой нибудь Windows 95, а обновиться то хочется, в итоге создаете с ним отдельную виртуальную машину и живете спокойно. Проще стал переход от одного железа к другому, перенос осуществляется на лету без выключения, в большинстве случаев. Так что при поломке физического сервера, у вас будет возможность запустить виртуальную машину на другом, без проблем.
Пример из жизни: Есть сервер HP ему 4 года, ку него закончилась гарантия. В один из прекрасных дней на нем стали крошится диски, замена одного из таких стоила 800 баксов. За эти деньги были куплены 3 SSD Samsung evo 850, чувствуете разницу. В итоге на сервере были установлены все ssd и он был превращен в хост виртуализации, где на него переехали все те же виртуалки с теме же сервисами. А если бы был просто физический сервер, то все накрылось бы медным тазом. Виртуализация спасла нас от большого геморроя.
История виртуализации
История данной задумки и технологии началась еще в далеких 90 годах, первым ее реализовала компания VMware. Она предложила вариант, что ресурсы одного большого монстра, можно поделить на всех и жить по братски, так появилась концепция гипервизора. Гипервизор - это прослойка между ос и железом, которая помогает реализовать виртуализацию. В VMware это VMkernel процесс.
Виртуальная инфраструктура выглядит следующим образом, есть ESXi host, на нем лежит прослойка hepervisor VMware vSphere по верх которого уже лежат виртуальные машины. И все подключения FC, NFS, ISCSI идут только к ESXi host, который отдает все это дело гипервизору, где он уже дальше перераспределяет все ресурсу страждущим.
Физическая и виртуальная архитектура
Ниже представлена картинка как выглядит Physical архитектура и виртуализация vmware. В физической архитектуре, ос функцианирует по верх железного оборудования. Рассматривая виртуализацию vmware, тут уже все немного иначе. Отличие в прослойке гипервизора ESXI (VMware vSphare). VMware vSphare Позволяет запускать экземпляры виртуальных машин, эмулируя для них оборудование. В такой реализации будет другая схема общения с ресурсами. Об этом мы поговорим в будущем.
В мире виртуализации есть одна вещь, которая никогда не виртуализовывается, это друзья процессор CPU. Виртуализация vmware или MS этого делать не умеют. Стартуя виртуальная машина, в зависимости от настроек получает одно или более ядер, виртуалка осознает какой тип CPU, версия и частотность на нем, все команды она на прямую отправляет на него. По этому очень важно, правильное распределение по ядрам CPU, чтобы виртуальные машины не мешали друг другу.
Что касается виртуализации сети, тут дело выглядит следующим образом. Если рассматривать физический сервер, то имея у себя сетевой адаптер, он использует его монопольно, со всей полосой пропускания. Рассматривая virtual архитектуру, то есть виртуальный коммутатор, в который подключенный виртуализованные сетевые адаптеры, а виртуальный коммутатор, общается уже с физическим сетевым адаптером или адаптерами. Вся пропускная способность делится на все виртуальные машины, но можно настроить приоритеты.
Осталось рассмотреть еще дисковую подсистему. Слева классическая ситуация с железным хостом, не важно как ос, использоваться все будет в монопольном режиме. Рассматривая виртуальные жесткие диски, тут иначе. Каждая ос думает, что у нее настоящий жесткий диск, но по факту это файл лежащий на общем хранилище, как и файлы других виртуальных машин. И не важно по какому протоколу соединено с хостом хранилище.
Надеюсь вы теперь представляете что такое виртуализация и как ее использовать, а главное для чего. Далее советую вам почитать, Виртуальная машина, что это такое.
Материал сайта pyatilistnik.org
Здравствуйте спасибо большое, статья отличная
помогите разъяснить один момент с vNUMA, как будет правильнее поступить с хостом ESXi в котором один 4-х ядерный процессор без гипертрейдинга, для обеспечения максимальной производительности виртуальной машины лучше выбрать 4 сокета с 1-м ядром на сокет, или 1 сокет с 4-мя ядрами на сокет?
я бы выбрал 1 сокет с 4-мя ядрами на сокет
виртуализация esxi, очень хорошее решение для компаний.
Здравствуйте.
Очень полезная и интересная статья!
Спасибо Вам за эту информацию.
на счет сервера HP в начале статьи можно поподробней? Что за модель и поколение? Samsung evo 850 десктопный же диск не для сервера с низким TBW?