[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-процесса (устанавливается с другими приложениями на одном и том же физическом сервере). Зачем же тогда его виртуализировать, заранее предполагая потерю его производительности, связанную с выполнением в виртуальным домене, в котором всё эмулируется - память, процессор, жёсткий диск, сетевая плата?

Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Date: 2014-01-31 04:07 pm (UTC)
From: [identity profile] r6m5.livejournal.com
Зачем? Ну хотябы для большей плотности и утилизации вычислительных мощностей. Суммарная система становится гибче.

Date: 2014-01-31 04:10 pm (UTC)
From: [identity profile] fezeev.livejournal.com
Виртуализация ещё необходима при потребности в изоляции серверных процессов друг от друга.
Виртуальные веб-сервера у провайдеров - наглядный, но не единственный пример, когда это нужно.

Date: 2014-01-31 04:18 pm (UTC)
From: [identity profile] ddsh-ripn.livejournal.com
Виртуализация даёт возможность упаковать в одну железку несколько разных архитектур и сред.
Если виртуализация грамотная, то потери заметны не будут. В некоторых случаях будет даже плюс.
Но в целом да -- простая экономия железа (и нервов при восстановлении)

Date: 2014-01-31 04:27 pm (UTC)
From: [identity profile] mosaika-55.livejournal.com
Когда клиент приходит в облако ему дают виртуальные машины, подстроенные под его потребности. По другому это не организовать.

Date: 2014-01-31 04:36 pm (UTC)
From: [identity profile] waqur.livejournal.com
Виртуализация на серверах имеет смысл, т.к. позволяет изолировать данные клиентов друг от друга. Модель доверия в этой системе - "Клиенты друг другу не доверяют и постоянно стремятся навредить!" Разным клиентам выделяются разные виртуальные машины. Раньше (до появления гипервизоров) хостинг-компании продавали либо дедики (выделенные серверы), либо shared hosting (отдельные аккаунты без прав root'а). Теперь доступна третья услуга - VPS ("недодедики") - пользователи довольны, могут устанавливать там себе любой софт: Ruby on Rails, Django, любых версий, всё что душа пожелает (в отличие от shared hosting). И оплата на порядок дешевле, чем за выделенный сервер.

Некоторые ОС предоставляют механизмы легковесной изоляции (jail в FreeBSD, LXC в Linux), однако их можно использовать для только если клиентов устраивает невозможность установки своих версий ядра. Таким образом, средства легковесной изоляции jail и LXC создают технологическую основу для дешёвого VPS, а гипервизоры VMwareESX/Xen/KVM/bhyve - для дорогого.

Если вы "толстый" пользователь - сразу берите себе дедик, а лучше - несколько. VPS - это игрушки для бедных.

Date: 2014-01-31 04:40 pm (UTC)
From: [identity profile] fezeev.livejournal.com
Нет, я имею в виду именно виртуализацию. Ситуация, когда ты провайдер и у тебя есть сто клиентов, каждому из которых хочется иметь свой сайтик. Маленький и малонагруженый, но свой собственный. С базой данных, своими специфическими настройками php, python или RoR, а ты не хочешь ради этого запускать сто физических серверов. И ты запускаешь один мощный физический сервер, на котором работает сто виртуальных машин. Каждому клиенту даёшь доступ к своей виртуальной машине, которая таким образом получается изолирована от виртуальных серверов всех остальных клиентов. Все счастливы.

Date: 2014-01-31 04:41 pm (UTC)
From: [identity profile] 0004769cb704.livejournal.com
От виртуализации кормится приличное количество контор. :) Уже потому она нужна. :))
А вообще удобно, если говорить о специфических серверах. Иногда действительно достаточно одного процессора, а платы расширения не нужны. Покупать на каждый сервер свою машину? Потом покупать резевную? Вот с виртуализацией на том получится сэкономить. Востановление же на момент выхода из строя является отдельной темой.
Конечно, было бы прекрасно, если бы удалось создать сервер с большим числом процессоров. Тогда стали бы обыденной реальностью тонкие клиенты. На тех же ARM-процессорах. В офисах тишь да гладь. :) Обслуживать удобно. :) Процессоры добавлять. :))
Edited Date: 2014-01-31 04:46 pm (UTC)

Date: 2014-01-31 04:42 pm (UTC)
From: [identity profile] fezeev.livejournal.com
Не все и не любые. Но спектр пригодных архитектур достаточно велик для того, чтобы виртуализация была востребованной.

Date: 2014-01-31 04:44 pm (UTC)
From: [identity profile] mosaika-55.livejournal.com
Это большие фермы, имеющие единого владельца, и предоставляемые пользователям в лизинг. Есть несколько режимов предоставления, один из них требует виртуализации.

Date: 2014-01-31 04:44 pm (UTC)
From: [identity profile] 0004769cb704.livejournal.com
Идеальная виртуализация полностью на аппаратном уровне. Сейчас такое умеют мэйнфреймы. Постепенно могут к тому прийти обычные серверы. Без вложения сразу большого объёма средств. Эволюционно.
Edited Date: 2014-01-31 04:44 pm (UTC)

Date: 2014-01-31 04:51 pm (UTC)
From: [identity profile] fezeev.livejournal.com
"Значит получается выигрыш в производительности вэб-сервера"

Не знаю, откуда Вы сделали этот вывод, но явно не из моих реплик. И да, этот вывод не соответствует действительности.

Date: 2014-01-31 04:59 pm (UTC)
From: [identity profile] fedorefr.livejournal.com
Нет, наоборот. Виртуальная машина несколько съедает производительность. Но многим клиентам, нуждающимся в выделенном сервере, нужно совсем немного ресурсов - а хостеру держать много маленьких "железных" серверов крайне невыгодно. Поэтому хостер ставит один большой мощный сервер и запускает на нем систему виртуализации, а затем продает клиентам его по кусочкам (VDS, VPS). Все довольны: у клиентов есть собственные почти независимые серверы, а у хостера - прибыль.

Date: 2014-01-31 05:07 pm (UTC)
From: [identity profile] fezeev.livejournal.com
Будет ли это актуально для широкой публики?

Тут неуместно использовать будущее время. Это уже актуально для достаточно широкой публики.

Date: 2014-01-31 05:14 pm (UTC)
From: [identity profile] vadim rumyantsev (from livejournal.com)
Виртуализация используется с 1967 года, в коммерческих системах – с 1972. Просто недавно появилась её поддержка в интеловском железе, в результате чего технология попёрла в массы.

Date: 2014-01-31 05:16 pm (UTC)
From: [identity profile] azoh.livejournal.com
К.О. говорит, что виртуализация нужна для изоляции программного комплекса, выполняющего полезную функцию, от аппаратного комплекса, обеспечивающего работу выполняемого комплекса.

Зачем это нужно? Чаще всего для удобного создания отдельных независимых, свободно переносимых, экземпляров серверов. Это позволяет довольно легко решить задачу обеспечения отказоустойчивости, задачу масштабирования, задачу добавления новых видов серверов.

Чаще всего коммерческому сервису выгоднее потерять 10-15% производительности в случае виртуальных серверов, чем решать эти задачи созданием новых физических серверов по необходимости.

Как ни странно, кластеризация не противоположна виртуализации, а ортогональна ей. Но сами по себе кластеры нужны в довольно специфичных случаях, поэтому создать гомогенную среду, удобную для кластеризации, не сложно.

Скажем, облака обычно представляют из себя себя сервера виртуализации поверх кластера. Кластеризация позволяет управлять облаков как единой структурой, а виртуализация дает создавать специфические сервера в гомогенной структуре.

Date: 2014-01-31 05:19 pm (UTC)
From: [identity profile] azoh.livejournal.com
К.О. говорит нам, что в таком случае провайдер радостно выпишет ему счет за всю нагрузку, потребленную этим клиентом. И мигрирует сервера остальных клиентов на другие сервера, причем совершенно прозрачно.
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

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. 8th, 2026 01:08 am
Powered by Dreamwidth Studios