[identity profile] nicky-boom.livejournal.com posting in [community profile] engineering_ru
Современный мир информационных технологий немыслим без Виртуализации "всего на свете" - серверов, операционных систем(ОС), сетевых плат(NIC-карт)-(Xsigo), дисковых массивов(NAS,RAID)-(HDS - Hitachi Data Systems).
Однако, мало кто задумывается над тем, что именно привнесла виртуализация в современный IT, и в чём на самом деле её недостатки, а где именно - достоинства.

1

Начать можно с того, что оказывается было нужно, чтобы появился термин паравиртуализация, который ничего специфического не означает, а лишь описывает некоторую подгруппу виртуализации, в которой исходный код гостевых ОС(тех, которые виртуализируются) был изменен таким образом, чтобы по предоставленному API(законченному набору функций) она могла обращаться к главной ОС(так называемой Хостовой) машине в случае наиболее неотложных операций(выделение памяти, страничный обмен, прерывания от внешних устройств, специфические функции отдельных приложений, требующие максимум hardware-ресурсов за короткий промежуток времени).
Паравиртуализация понадобилась неспроста, так как общеизвестно, что любая программа выполняется в виртуальной машине заведомо медленнее, чем на реальной физической hardware машине(сервере). Происходит это потому, что в виртуальной среде имеется дополнительный "слой", через который гостевая машина обращается к хостовой для выпонения любых операций и невозможно каким-либо образом исключить этот "избыточный" слой задержки. Так вот, придумали, что в случае таких "критических" операций на гостевой ОС - они (операции) передаются по прерыванию в главную хостовую машину и выполняются там, что позволяет значительно ускорить гостевую ОС.
3

Кроме того, широко обсуждается "мобильность" целой гостевой ОС, то есть возможность миграции(или переноса) по локальной или глобальной сети целой виртуальной машины(или аналога физического сервера), представленной в случае виртуализации в виде всего одного файла .VMDK, правда размером более чем несколько гигабайт. А что именно даёт такая мобильность?

Кроме достоинств, связанных с DR(Disaster Recovery-восстановление после пожара,стихийного бедствия) и BackUp(восстановление на случай кратковременного сбоя), сопряжена такая мобильность и с риском потери именно той актуальной копии данных, которая может понадобиться в любой момент. Другими словами, можно запутаться где именно что - поскольку копий виртуального сервера стало более одной, неизвестно в чём отличие одной от другой, и где наиболее "свежая".  Тот, кто хоть немного имел дело с виртуальными машинами и их "резервным копированием" - поймет, как это легко - запутаться в их множестве и/или актуальности на определенный момент в прошлом или будущем.

5

Вдобавок, существует целый класс серверных приложений, которые нуждаются в Кластеризации. Например, Oracle Grid - кластер из нескольких физических серверов для "распараллеливания" нагрузки на базу данных с одного - на несколько физических серверов.
Не приходится говорить, что не любую ОС возможно паравиртуализировать из-за закрытости кода например, и не все приложения нуждаются в виртуализации, есть такие, которые скорее наоборот хотят "больше есть hardware", чем быть виртуализированными.


4

Вообще, сложилось у меня впечатление, что виртуализация может быть оправдана(или обусловлена) лишь наличием legacy-hardware(унаследованное железо) и inherited-software(доставшийся в наследство софт). Причем, серверное программное обеспечение, как правило, менее нуждается в виртуализации, в сравнении с настольным ПО, так как оно легко комбинируется в виде NT-сервиса или Unix-процесса (устанавливается с другими приложениями на одном и том же физическом сервере). Зачем же тогда его виртуализировать, заранее предполагая потерю его производительности, связанную с выполнением в виртуальным домене, в котором всё эмулируется - память, процессор, жёсткий диск, сетевая плата?

Date: 2014-02-03 05:23 am (UTC)
From: [identity profile] the-realistic.livejournal.com
Паравиртуализация - прошлое.

Современность за синтетическими стеками ввода-вывода (как в Hyper-V), когда нет никакой эмуляции портов-регистров железки, а есть 1 выход в гипервизор на каждую операцию на ней. Кроме того, есть еще SR-IOV, когда умная эзернета состоит из субмодулей с выделением "гостям" целиком субмодуля.

Это убирает основную причину потерь производительности в виртуализации. Производительность гостевого page fault уже давно не проблема, меры по ее решению уже давно вшиты в процессоры.

>виртуализация может быть оправдана(или обусловлена) лишь наличием legacy-hardware(унаследованное железо) и inherited-software(доставшийся в
>наследство софт).

Виртуализация может быть (и есть) оправдана и обусловлена желанием разделить физические хосты (железные коробки) и логические хосты (единица развернутой ОС и приложений в ней), и независимо администрить те и другие активы предприятия :) Еще напомню про SANы и storage virtualization.

А потери производительности процентов в 5-10 _просто никого не волнуют_.

>так как оно легко комбинируется в виде NT-сервиса или Unix-процесса (устанавливается с другими приложениями на одном и том же физическом сервере)

Детский сад, штаны на лямках. Подвальный вебсервер для какого-нить ТСЖ так делать можно, серьезную ИТ-инфраструктуру - сложно и противно.

То, что серверное приложение требует неких настроек окружающей ОС, в голову не приходило?

А то, что разные серверные приложения имеют всякие интеропы между собой, не приходило?

В наше время _каждый новый вебсервер под Линуксом_ (а в некоторых случаях и под виндами, просто Server Core не все админить умеют, а полновесная винда с Проводником на виртуальном вебсервере - как-то тяжеловато) - это с нуля поставленная VM ради одного-единственного httpd.

А мобильность целой VM есть уже года 4 у всех вендоров. Никаких проблем с тем, где последняя копия, у нормальных людей, у которых руки откуда надо растут, не возникает. Прекрасность всего этого, например, в легкой замене железной коробки сервера на более новую (при условии, что осталась еще как минимум 1 таковая коробка) прозрачным для клиентов образом.

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 10th, 2026 02:33 am
Powered by Dreamwidth Studios