Sunday, July 26, 2009

Server virtualization

На данный момент доступны следующие(основные) технологии реализующие виртуализацию на уровне ядра операционной системы(это, конечно, не полный список):

  • Xen (Novell© support , partal use in Hyper-v)[не поддерживает Windows guest OS ]
  • Hyper-V (Microsoft© virtualization system)
  • Jail (FreeBSD)[только BSD]
  • OpenVZ [только GNU/Linux]
  • KVM (IBM© support,RedHat© support)
  • Oracle VM (Oracle©)

Из выше перечисленных только KVM(тут самая широкая поддержка), Hyper-V і Oracle VM поддерживают разные операционные системы(Linux, Windows, Frebsd) в качестве виртуальных мишин.

Oracle VM, наверно, хороший, полагаясь на бренд, но минимильная подписка на него составляет ~600$. В архитектурных описаниях я не нашел ничего впечатляющего в этом продукте, по большой части потому что большая часть их закрыта, Продукт продвигается в большой мере для кластирных стем и на сколько удалось понять не поддерживает Windows как и большинство технологий аппаратных виртуализаций.

Hyper-V технология, которая впервые была представлена в Windows Server 2008 представляет собой интересный но не достаточно оправдавший себя продукт виртуализации, но это касается только R1. В Windows server 2008 R2 предлагается новая версия этого продукта, при этом над ним довольно хорошо поработали, как собственно над всем R2(другая реализация ядра). Теперь он собой представляет намного более интересны продукт. Часть его позаимствована от linux, а также Microsoft предложил свой вклад в ядро linux (примерно 20 000 строк кода). Этот код (патчи) должны позволить существенно увеличить производительность Hyper-V. Предположительно, Hyper-V является довольно хорошим продуктом для виртуализации, но одно “но”, существенное- патчи еще не применены и находятся на стадии рассмотрения, Windows Server 2008 R2 еще не вышел и находится в стадии RTM (7600 build) - то есть продукт готов но в мир еще не ушел как релиз, но использовать можна уже (некоторые компании уже используют как сервера VDS).

KVM(Kernel Virtual Machine). Очень удачная технология виртуализации разрабатываемая Qumranet активно поддерживаемая RedHat© і IBM©. Представляет собой реализацию виртуализации на уровне ядра. KVM имеет самую широкую поддержку гостевых операционных систем. Технология была выбрана вендерами после долгого скитания с Xen. В KVM присутствует реальная поддержка апаратной виртуализации (работа нескольких OS на одном и том же реальном процессоре или другом оборудовании сервера) в отличие от Hyper-V который, на текущий момент дает только виртуально представление о аппаратной части. В сентябре 2008 года Red Hat© купила Qumranet. По этому продукты Red Hat© (Red Hat Enterprise Server®) становятся довольно интересны в плане коммерческой поддержки и уровня интеграции. Стоит отметить что KVM также доступна для других дистрибутивов в полной мере.

Виртуализация на уровне ядра требует соответствующее серверное оборудование, речь идет о процессорах поддерживающих технологии Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Mashine) {AMD-V}.


3 comments:

Eisenhorn said...

В KVM присутстует только полная виртуализация, и ниразу нет паравиртуализации. Xen умеет оба варианта (full, para). Аналогично и с Hyper-V. И оба они (KVM, Hyper-V) требуеют аппаратной поддержки процессором виртуализации.

kislo.metal said...

Да, имелось в виду апаратна виртуализация. исправил

kislo.metal said...

2 Eisenhorn "Аналогично и с Hyper-V" - что имеешь в виду? Hyper-V не поддерживает аппаратную виртуализацию, у него просто родительский раздел (в стеке виртуализации) имеет доступ к аппаратным устройствам, но не гостевые ОС.