Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Віртуальний Linux

  1. Огляд історії віртуалізації
  2. Віртуалізація обладнання
  3. Віртуалізація процесора
  4. Віртуальна машина Java (JVM)
  5. командна віртуалізація
  6. Віртуалізація та ігри
  7. типи віртуалізації
  8. емуляція обладнання
  9. Малюнок 1. Емуляція обладнання використовує VM, щоб моделювати необхідні апаратні засоби
  10. повна віртуалізація
  11. Малюнок 2. Повна віртуалізація використовує гіпервізор, щоб розділяти основні апаратні засоби
  12. Паравіртуалізація
  13. Малюнок 3. Паравіртуалізація розділяє процес з гостьовою операційною системою
  14. Віртуалізація рівня операційної системи
  15. Малюнок 4. Віртуалізація рівня операційної системи ізолює сервери
  16. Чому важлива віртуалізація?
  17. Проекти віртуалізації для Linux
  18. Таблиця 1. Проекти віртуалізації для Linux
  19. Bochs (емуляція)
  20. QEMU (емуляція)
  21. VMware (повна віртуалізація)
  22. z / VM (повна віртуалізація)
  23. Малюнок 5. Віртуалізація на рівні операційної системи з використанням z / VM
  24. Xen (паравіртуалізація)
  25. User-mode Linux (паравіртуалізація)
  26. Малюнок 6. Хостинг Linux в User-mode Linux
  27. Linux-VServer (віртуалізація рівня операційної системи)
  28. OpenVZ (віртуалізація рівня операційної системи)
  29. Лістинг 1. Створення VPS в командному рядку
  30. Підтримка обладнання для повної віртуалізації і паравіртуалізаціі
  31. Linux KVM (Kernel Virtual Machine)
  32. Малюнок 7. Віртуалізація з використанням Kernel Virtual Machine (KVM)
  33. резюме
  34. Ресурси для скачування

Наша взаимовыгодная связь https://banwar.org/

Огляд методів віртуалізації, архітектур і реалізацій

Віртуалізувати означає взяти щось однієї форми і змусити його здаватися іншої форми. Віртуалізувати комп'ютер означає змусити комп'ютер здаватися відразу декількома комп'ютерами або зовсім іншим комп'ютером.

Виртуализацией також називається ситуація, коли кілька комп'ютерів представляються як один окремий комп'ютер. Зазвичай це називають серверним кластером або grid computing.

Давайте почнемо з витоків віртуалізації.

Огляд історії віртуалізації

Віртуалізація тема не нова. Фактично їй вже більше чотирьох десятиліть. Найбільш раннє використання віртуалізації включали IBM® 7044, Compatible Time Sharing System (CTSS), розроблена Масачусетським Технологічним Інститутом (Massachusetts Institute of Technology - MIT) на IBM 704 і проект Atlas Університету Манчестера (один з перших суперкомп'ютерів у світі), які почали прокладати шлях відповідно до вимог супроводу і запитами користувачів.

Віртуалізація обладнання

IBM визнала важливість віртуалізації ще в 1960-х разом з розвитком Мейнфрейм System / 360 ™ Model 67. Model 67 віртуалізувати все інтерфейси обладнання через Virtual Machine Monitor або VMM. На зорі обчислювальної ери операційну систему називали supervisor. Коли стало можливим запускати одну операційну систему на інший операційній системі, з'явився термін hypervisor (гипервизор) (був введений в 1970-х).

VMM запускається безпосередньо на основному обладнанні, що дозволяє безліч віртуальних машин (VM). Кожна VM може тоді володіти своєю власною операційною системою. У перший час це була CMS (Conversational Monitor System). VM продовжує розвиватися, і зараз можна виявити, що вона працює на Мейнфрейм System z9 ™. Це забезпечує зворотну сумісність, аж до рівня System / 360.

Віртуалізація процесора

Інша раннє використання віртуалізації, в даному випадку симуляція процесора, це P-code (або pseudo-code) машина. P-code - це машинний мову, який виконується на віртуальній машині, а не на реальному обладнанні. P-code був прославлений на початку 1970-х Pascal system в Каліфорнійському Університеті, Сан Дієго (University of California, San Diego - UCSD), яка компілювати програми на Pascal в P-code і потім виконувала їх на P-code віртуальній машині. Це дозволило програмами на P-code бути високо портіруемость і працювати скрізь, де є доступ до віртуальної машини P-code.

Віртуальна машина Java (JVM)

Мова Java ™ підтримує P-code модель для своєї віртуальної машини. Завдяки цьому програми Java можуть виконуватися на численних архитектурах просто портированием на віртуальну машину Java.

Така ж концепція була використана в 1960-і для Basic Combined Programming Language (BCPL), прародителя мови C. У цьому випадку компілятор перевів би код BCPL у допоміжний машинний код, названий O-code. Як другий крок O-code був переведений в рідна мова для заданої машини. Така модель використовується сучасними компіляторами для забезпечення гнучкості портируют компіляторів для нових приймають архітектур (розділяючи front-end і back-end за допомогою допоміжної мови).

командна віртуалізація

Найбільш новий аспект віртуалізації названий командна віртуалізація або бінарна віртуалізація. У цій моделі віртуальні команди переводяться (транслюються) на фізичні команди основного обладнання. Зазвичай це відбувається динамічно. Оскільки код виконуваний, перекладається сегмент коду. Якщо відбувається розгалуження, то новий сегмент коду забирається і перекладається. Це схоже на операції кешування, коли блоки команд переміщаються з пам'яті в швидку локальну кеш-пам'ять для виконання.

Свіжий приклад такої моделі був використаний в Crusoe central processing unit (CPU), розроблений Transmeta. Ця архітектура використовує бінарну трансляцію під торговою маркою Code Morphing. Схожим прикладом може служити сканування коду виконуючого середовища runtime за допомогою повної віртуалізації рішень з метою знайти і перенаправити привілейовані команди (щоб працювати в командному оточенні конкретного процесора).

Віртуалізація та ігри

Огляд віртуалізації буде неповним, якщо не згадати про Multiple-Arcade Machine Emulator (MAME). Як видно з імені, це повний машинний емулятор безлічі аркадних ігор з минулого. На додаток до віртуалізації процесорів, використаних в цих іграх, віртуалізується машина в цілому, включаючи звукове та графічне обладнання та управління. MAME - це дуже потужний інструмент, але він також цікавий для розуміння меж, в яких вони виконані.

типи віртуалізації

Коли проводиться віртуалізація, існує не єдиний спосіб її здійснення. Фактично є кілька шляхів, за допомогою яких досягаються однакові результати через різні рівні абстракції. У цьому розділі вам будуть представлені три найзагальніших методу віртуалізації в Linux і проаналізовано їх відносні переваги і недоліки. Іноді використовуються різні терміни для опису одного і того ж методу віртуалізації. Тут ми будемо використовувати найзагальніші поняття, посилаючись на інші для загальної узгодженості.

емуляція обладнання

Можливо найскладніша віртуалізація забезпечується емуляцією апаратних засобів. У цьому методі VM апаратних засобів створюється на хост-системі, щоб емулювати цікавить обладнання, як показано на рисунку 1.

Малюнок 1. Емуляція обладнання використовує VM, щоб моделювати необхідні апаратні засоби
Огляд методів віртуалізації, архітектур і реалізацій   Віртуалізувати означає взяти щось однієї форми і змусити його здаватися іншої форми
Емуляція та розробка

Одне з найбільш цікавих використань емуляції обладнання полягає в спільному розвитку програмно-апаратних засобів і апаратних засобів. Замість того, щоб чекати, коли реальні апаратні засоби будуть у наявності, розробники програмно-апаратних засобів можуть використовувати цільове віртуальне обладнання VM, щоб прояснити багато аспектів фактичного коду шляхом моделювання.

Як ви могли припускати, головна проблема при емуляції апаратних засобів полягає в тому, що процес може стати болісно повільним. Оскільки кожна команда повинна моделюватися на основних апаратних засобах, уповільнення в 100 раз є звичайним. Для високоточних емуляцій, які включають точність циклу, що моделюються канали центрального процесора і політику кешування, фактична швидкість може бути в 1000 разів менше.

Емуляція апаратних засобів дійсно має свої переваги. Наприклад, використовуючи емуляцію апаратних засобів, ви можете управляти незміненій операційною системою, призначеної для PowerPC® на системі з ARM процесором. Ви можете навіть керувати численними віртуальними машинами, кожна з яких буде моделювати інший процесор.

повна віртуалізація

Повна віртуалізація, по-іншому відома як рідна віртуалізація, є іншим цікавим способом віртуалізації. Ця модель використовує віртуальну машину, яка здійснює зв'язок між гостьовою операційною системою і рідними апаратними засобами (див. Малюнок 2). "Виконувала роль посередника" тут є ключовим словом, оскільки VMM здійснює посередництво між гостьовою операційною системою і власне обладнанням. Усередині гипервизора повинна бути встановлена ​​і налаштована певна захист, тому що основні апаратні засоби не належать операційній системі, а розділяються гіпервізором.

Малюнок 2. Повна віртуалізація використовує гіпервізор, щоб розділяти основні апаратні засоби
Гіпервізор на старому обладнанні

Деякий старе обладнання, таке як x86, створює проблеми для методу повної віртуалізації. Наприклад, деякі просунуті команди, які повинні бути оброблені VMM, що не уловлюються. Тому гипервизор повинен безперервно динамічно сканувати і перехоплювати привілейований код, щоб вирішити цю проблему.

Повна віртуалізація працює швидше, ніж емуляція обладнання, але продуктивність менше, ніж у просто обладнання через посередництва гипервизора. Найбільша перевага повної віртуалізації полягає в тому, що в операційну систему не вноситься змін. Єдине обмеження полягає в тому, що операційна система повинна підтримувати основні апаратні засоби (наприклад, PowerPC).

Паравіртуалізація

Паравіртуалізація - це інший популярний спосіб, який має деяку схожість з повною віртуалізацією. Цей метод використовує гіпервізор для поділу доступу до основних апаратних засобів, але об'єднує код, що стосується віртуалізації, в безпосередньо операційну систему (див. Малюнок 3). Цей підхід усуває потребу в будь-який перекомпіляції або перехоплювання, тому що самі операційні системи кооперуються в процесі віртуалізації.

Малюнок 3. Паравіртуалізація розділяє процес з гостьовою операційною системою

Як уже зазначалося, паравіртуалізація вимагає, щоб гостьова операційна система була змінена для гипервизора, і це є недоліком методу. Але зате паравіртуалізація пропонує продуктивність майже як у реально не виртуализированной системи. Як і при повній віртуалізації, одночасно можуть підтримуватися численні різні операційні системи.

Віртуалізація рівня операційної системи

Останній метод, який ми розглянемо, віртуалізація на рівні операційної системи, використовує техніку, відмінну від попередніх. Ця техніка виртуализирует сервери безпосередньо над операційною системою. Цей метод підтримує єдину операційну систему і просто ізолює незалежні сервери один від одного (див. Малюнок 4).

Малюнок 4. Віртуалізація рівня операційної системи ізолює сервери

Віртуалізація рівня операційної системи вимагає внесення змін в ядро ​​операційної системи, але при цьому перевагою є рідна продуктивність.

Чому важлива віртуалізація?

Перш ніж поглянути на деякі варіанти віртуалізації, доступні сьогодні в Linux, давайте розглянемо переваги віртуалізації.

Існує безліч причин використання віртуалізації для бізнес-рішень. Більшість з них зводиться до того, що називається серверна консолідація. Простіше кажучи, якщо ви можете віртуалізувати безліч недостатньо використаних систем на окремому сервері, то вам вдасться заощадити на потужності, місці, охолодженні і адмініструванні через наявність меншої кількості серверів. Оскільки буває важко визначити навантаження на сервер, процедура віртуалізації підтримує так звану живу міграцію (live migration). Жива міграція дозволяє операційній системі, яка переміщається на новий сервер, і її додатків збалансувати навантаження на доступному устаткуванні.

Віртуалізація також важлива для розробників. Ядро Linux займає єдине адресне простір, що означає, що відмова ядра або будь-якого драйвера призводить до аварії всієї операційної системи. Віртуалізація означає, що ви можете керувати кількома операційними системами, і якщо одна з них зазнає краху через помилки, то гипервизор і інші операційні системи продовжують працювати. Це може зробити налагодження ядра подібної налагодженні призначених для користувача додатків.

Проекти віртуалізації для Linux

У таблиці 1 наведені деякі можливості віртуалізації для Linux, і увагу, перш за все, приділяється рішенням з відкритим вихідним кодом.

Таблиця 1. Проекти віртуалізації для Linux

Проект Тип Ліцензія Bochs Емуляція LGPL QEMU Емуляція LGPL / GPL VMware Повна віртуалізація Власницьке z / VM Повна віртуалізація Власницьке Xen Паравіртуалізація GPL UML Паравіртуалізація GPL Linux-VServer Віртуалізація рівня операційної системи GPL OpenVZ Віртуалізація рівня операційної системи GPL

Див. Розділ ресурси для більш докладної інформації про інші рішення.

Bochs (емуляція)

Віртуалізація на рівні бібліотек

До сих пір не обговорюється тут інший метод віртуалізації, в якому імітуються частини операційної системи через бібліотеки - віртуалізація на рівні бібліотек. Прикладом такої віртуалізації може служити Wine (частковий програмний інтерфейс додатків Win32 для Linux) і LxRun (частковий програмний інтерфейс додатків Linux для Solaris).

Bochs - це x86-комп'ютерний імітатор, який є стерпним і працює на різноманітних платформах, включаючи x86, PowerPC, Alpha, SPARC і MIPS. Bochs цікавий, тому що моделюється не тільки процесор, а весь комп'ютер, включаючи периферійні пристрої типу клавіатури, миші, графічне та відео обладнання, картки мережевого інтерфейсу (NIC) і так далі.

Bochs може бути налаштований як старовинний Intel® 386 або його наступники, такі як 486, Pentium, Pentium Pro або 64-бітовий. Bochs навіть емулює додаткові графічні функції, такі як MMX або 3DNow.

Використовуючи емулятор Bochs, ви можете керувати будь-яким дистрибутивом Linux на Linux, Microsoft® Windows® 95/98 / nt / 2000 (і різноманіттям додатків) на Linux і навіть операційною системою Berkeley Software Distribution (BSD), FreeBSD, OpenBSD і так далі на Linux .

QEMU (емуляція)

QEMU - інший емулятор, він схожий на Bochs, але є і деякі відмінності, які варто відзначити. QEMU підтримує два режими роботи. Перший - режим Повної Емуляції Системи. Цей режим схожий на роботу Bochs, де емулюється персональний комп'ютер (PC) цілком, разом з процесором і периферією. Цим способом імітується безліч різних архітектур процесорів, таких як x86, x86_64, ARM, SPARC, PowerPC і MIPS з розумною швидкістю, використовуючи динамічний переклад. Цим способом ви можете емулювати операційні системи Windows (включаючи XP) і Linux на Linux, Solaris і FreeBSD. Підтримується також і безліч інших комбінацій операційних систем (див. Розділ ресурси для більш докладної інформації).

QEMU також підтримує інший режим, іменований "режим користувальницької емуляції". При такому способі, який можна здійснити тільки на Linux, можна запускати бінарники для різних архітектур. Це дозволяє, наприклад, виконати бінарник для архітектури MIPS на Linux, запущеному на x86. Інші архітектури, підтримувані при такому режимі, включають ARM, SPARC і PowerPC, хоча більшість ще тільки розробляється.

VMware (повна віртуалізація)

VMware - комерційне рішення для повної віртуалізації. Гипервизор знаходиться між гостьовою операційною системою і безпосередньо обладнанням як шар абстрагування. Цей шар абстрагування дозволяє будь-якій операційній системі працювати на апаратних засобах, не маючи інформації про який-небудь інший гостьовою операційною системою.

VMware також виртуализирует в гіпервізора доступні пристрої введення / виводу і відповідні драйвери для високоефективних пристроїв.

Вся віртуалізувати довкілля зберігаються як файл, і це означає, що повна система (включаючи гостьову операційну систему, VM і віртуальне обладнання) може бути легко і швидко перенесена на інший сервер для розподілу завантаження.

z / VM (повна віртуалізація)

Незважаючи на те, що IBM System z ™ - це новий бренд, фактично він має довгу історію, починаючи з 1960-их. System / 360 підтримувала віртуалізацію з використанням віртуальних машин ще в 1965. Цікаво, що System z зберігає зворотну сумісність зі старою лінійкою System / 360.

z / VM® - гипервизор операційний системи для System z. У ньому - Програма Контролю (Control Program - CP), яка забезпечує віртуалізацію фізичних ресурсів для гостьової операційної системи, включаючи Linux (див. Малюнок 5). Це дозволяє безлічі процесорів і інших ресурсів віртуалізувати для безлічі гостьових операційних систем.

Малюнок 5. Віртуалізація на рівні операційної системи з використанням z / VM

Z / VM може також емулювати гостьову локальну мережу (LAN) віртуально для гостьових операційних систем, які хочуть спілкуватися один з одним. Це повністю емулювати в гіпервізора, тому абсолютно безпечно.

Xen (паравіртуалізація)

Xen - вільне рішення з відкритим вихідним кодом для паравіртуалізаціі на рівні операційної системи від XenSource. Згадайте, що при паравіртуалізаціі гипервизор і операційна система об'єднуються при віртуалізації, змінюючи операційну систему, але зате приводячи майже до рідної продуктивності обладнання.

Оскільки Xen вимагає об'єднання (зміни гостьової операційної системи), тільки ті операційні системи, які належним чином виправлені, можуть бути віртуалізувати за допомогою Xen. Так як Linux є сам по собі рішенням з відкритим початковим кодом, то в даному випадку це - розумний компроміс, тому що в результаті ви маєте кращу продуктивність, ніж при повній віртуалізації. Але для перспективи широкої підтримки (наприклад, інших операційних систем з закритим вихідним кодом) ця обставина є явним незручністю.

Windows можна запускати як гостьову систему на Xen, але тільки якщо він запущений на Intel Vanderpool або AMD Pacifica. Крім того, Xen підтримує інші операційні системи, включаючи Minix, Plan 9, NetBSD, FreeBSD та OpenSolaris.

User-mode Linux (паравіртуалізація)

User-mode Linux (UML) дозволяє операційній системе Linux запускаті Інший Linux в пространстве користувача. Кожен гостьовий Linux існує як процес в ОС Linux хоста (див. Малюнок 6). Це дозволяє численним ядер Linux (з їх власними просторами користувача) працювати в контексті одного ядра Linux.

Малюнок 6. Хостинг Linux в User-mode Linux

У ядрі Linux 2.6 UML знаходиться в основному дереві ядра, але повинен бути доступний і перекомпіліровать для використання. Ці зміни забезпечують, крім усього іншого, пристрій віртуалізації. Це дозволяє гостьовим операційним системам розділяти доступні фізичні пристрої, такі як блокові пристрої (гнучкий диск, CD-ROM і файлову систему), консолі, пристрої NIC, звукові апаратні засоби та інші.

Зауважимо, що, так як гостьові ядра запускаються в просторі додатків, вони повинні бути спеціально скомпільовані для такого використання (проте, це можуть бути різні версії ядра). Це призводить до так званого ядра хоста (яке розташовується на апаратних засобах) і гостьового ядру (яке живе в просторі користувача ядра хоста). Ці ядра навіть можуть бути вкладеними, дозволяючи гостьового ядру працювати на іншому гостьовому ядрі, яке, в свою чергу, працює на ядрі хоста.

Linux-VServer (віртуалізація рівня операційної системи)

Linux-VServer - рішення для віртуалізації рівня операційної системи. Linux-VServer виртуализирует ядро Linux так, щоб численні оточення простору користувача, інакше відомі як Virtual Private Servers (VPS), працювали незалежно один від одного. Linux-VServer досягає ізоляції користувальницьких просторів за допомогою ряду модифікацій ядра Linux.

Щоб ізолювати індивідуальні простору користувача друг від друга, почніть з поняття контексту. Контекст - контейнер для процесів даного VPS, такий, що інструменти типу ps знають тільки про процеси VPS. При початковому завантаженні ядро ​​визначає контекст за замовчуванням. Також існує контекст для адміністрування (щоб бачити всі виконувані процеси). Як можна здогадатися, щоб здійснити цей спосіб віртуалізації, змінені ядро ​​і внутрішні структури даних.

Linux-VServer також використовує chroot, щоб ізолювати кореневої каталог для кожного VPS. Згадайте, що chroot дозволяє визначити нову кореневу директорію, але потрібні додаткові функціональні можливості (названі Chroot-Barrier), щоб VPS не міг виходити з ізольованого кореневого каталогу в батьківський каталог. Маючи ізольований кореневої каталог, кожен VPS має свій власний список користувачів і пароль root'а.

Linux-VServer підтримується як 2.4, так і 2.6 ядрами Linux, а також працює на ряді платформ, включаючи x86, x86-64, SPARC, MIPS, ARM і PowerPC.

OpenVZ (віртуалізація рівня операційної системи)

OpenVZ - інший метод віртуалізації рівня операційної системи, схожої на Linux-VServer, але має деякі цікаві відмінності. OpenVZ - модифіковане ядро, яке підтримує ізольовані простору користувача, VPS, з рядом користувальницьких інструментів для управління. Наприклад, можна легко створити новий VPS, використовуючи команду:

Лістинг 1. Створення VPS в командному рядку

$ Vzctl create 42 --ostemplate fedora-core-4 Creating VPS private area VPS private area was created $ vzctl start 42 Starting VPS ... VPS is mounted

Також можна побачити список створених VPS, використовуючи команду vzlist, аналогічну стандартної команді Linux ps.

Для управління процесами OpenVZ включає дворівневий планувальник центрального процесора. Спочатку планувальник визначає, який з VPS повинен отримати доступ до центрального процесора. Після цього планувальник другого рівня вибирає процес, слідуючи стандартним пріоритетам Linux.

OpenVZ також включає те, що називають beancounters. Beancounter складається з великої кількості параметрів, які визначають розподіл ресурсів для даного VPS. Це забезпечує рівень контролю над VPS, визначаючи, скільки є пам'яті, скільки є коштів між процесами взаємодії (IPC) і так далі.

Унікальна особливість OpenVZ - здатність до введення контрольних точок (Checkpoint) і переміщенню VPS з одного фізичного сервера на інший. Checkpointing означає, що стан чинного VPS заморожено і збережено в файлі. Цей файл можна перенести на новий сервер і відновити, щоб повернути VPS в робочий стан.

OpenVZ підтримує безліч архітектур, включаючи x86, x86-64 і PowerPC.

Підтримка обладнання для повної віртуалізації і паравіртуалізаціі

Нагадаємо, що архітектура IA-32 (x86) створює деякі проблеми при віртуалізації. Деякі привілейовані команди не перехоплюються і можуть повернути різні результати в залежності від способу. Наприклад, команда x86 STR стежить за безпечним станом, але яке значення засноване на специфічному запитуваній рівні привілеї. Віртуалізація різних операційних систем на різних рівнях стає проблематичною. Наприклад, x86 підтримує чотири рівні захисту, де рівень 0 (найвища привілей) зазвичай управляє операційною системою, рівні 1 і 2 - підтримкою служб операційної системи і рівень 3 (найнижчий рівень) підтримує програми. Вендори визнали цей недолік (а також і інші) і справили нові продукти, які підтримують і прискорюють віртуалізацію.

Інтел створює нову технологію віртуалізації, яка підтримає Гіпервізор і для архітектури x86 (VT-x), і для архітектури Itanium® (VT-i). VT-x підтримує два нових типи операцій, один для VMM (root) і інший для гостьової операційної системи (НЕ-root). Операціями root'а дають повні привілеї, в той час як операції НЕ-root'овие привілеїв позбавляються (навіть для рівня 0). Архітектура також підтримує гнучкість у визначенні команд, які змушують VM (гостьову операційну систему) виходити до VMM і збереженню стану процесора. Були додані і інші можливості; см. ресурси .

AMD також створює засновану на обладнанні технологію віртуалізації під назвою Pacifica. Між іншим, Pacifica підтримує блок контролю для гостьової операційної системи, який зберігається при виконанні спеціальних команд. Команда VMRUN дозволяє віртуальній машині (і пов'язаної з нею гостьовою операційною системою) працювати, поки VMM не відновить контроль (який є також конфігурованим). Конфігурованість дозволяє VMM налаштовувати привілеї для кожної з гостьових ОС. Pacifica також виправляє адресну трансляцію між хостом і гостьовим memory management unit (MMU).

Ці нові технології можуть використовуватися безліччю методів віртуалізації, вже обговорюваних тут, включаючи Xen, VMware, User-mode Linux та інших.

Linux KVM (Kernel Virtual Machine)

Однією з останніх новин в світі Linux стало включення KVM в ядро ​​Linux (2.6.20). KVM - рішення для повної віртуалізації, яке є унікальним в тому, що перетворює ядро ​​Linux в гипервизор, використовуючи модуль ядра. Цей модуль дозволяє інший гостьовою операційною системою працювати в просторі користувача ОС Linux хоста (див. Малюнок 7). Модуль KVM в ядрі показує віртуалізовані апаратні засоби як символьне пристрій / dev / kvm. Гостьова операційна система взаємодіє з модулем KVM, використовуючи модифікований QEMU-процес для емуляції обладнання персонального комп'ютера.

Малюнок 7. Віртуалізація з використанням Kernel Virtual Machine (KVM)

Модуль KVM вводить в ядро ​​новий спосіб виконання. У той час як звичайне ядро підтримують режим ядра і режим користувача, KVM представляє новий гостьовий режим. Гостьовий режим використовується, щоб виконати всі команди, не пов'язані з операціями вводу / виводу (I / O), в той час як нормальний призначений для користувача режим здійснює введення / виведення для гостьової ОС.

Введення KVM є цікавим розвитком Linux, оскільки представляє першу технологію віртуалізації, включеної в основну гілку ядра Linux. Вперше це було здійснено у версії 2.6.20, але як модуль може використовуватися і в версії 2.6.19. Якщо його використовувати на обладнанні, що підтримує віртуалізацію, то можна запускати гостьові операційні системи Linux (32-х та 64-х біт) і Windows (32-біт). Для отримання додаткової інформації по KVM см. Розділ ресурси .

резюме

Віртуалізація - це нова велика річ, якщо можна сказати "нова" про те, чому вже більше чотирьох десятиліть. Історично віртуалізація використовувалася в безлічі різних ситуацій, але в даний час в основних застосовується для віртуалізації серверів і операційних систем. Також як Linux, віртуалізація забезпечує безліч шляхів для підвищення продуктивності, портіруемость і гнучкості. Це означає, що ви можете вибрати рішення, яке буде краще відповідати вашим можливостям і вашим завданням.

Ресурси для скачування

Схожі тими

  • Оригінал даної статті Virtual Linux .
  • Якщо ви ще не знайомі з системами IBM, вам буде корисний ресурс New to IBM Systems . Тут розповідається про System i, p, x, z і інших.
  • Bochs и QEMU - емулятори персональних комп'ютерів, що дозволяють операційній системі, а саме Windows або Linux, працювати в просторі користувача операційної системи Linux.
  • VMware - популярне комерційне рішення для повної віртуалізації, дозволяє віртуалізувати немодифіковані операційну систему.
  • z / VM - новітня операційна система VM для 64-бітової z / архітектури. z / VM забезпечує повну віртуалізацію разом з обладнанням і підтримку широкого спектру операційних систем, в тому числі і Linux.
  • Xen - це рішення для паравіртуалізаціі з відкритим вихідним кодом, яке вимагає внесення змін до гостьову операційну систему, але за рахунок співпраці з гіпервізором дозволяє досягти продуктивності, близькою до рідної.
  • User-mode Linux - інше рішення для паравіртуалізаціі, яке також має відкритим вихідним кодом. Кожна гостьова операційна система виконується як процес в операційній системі хоста.
  • coLinux або Cooperative Linux - рішення для віртуалізації, яке дозволяє двом операційним системам спільно розділяти доступ до основного обладнання.
  • Linux-Vserver - віртуалізація рівня операційної системи для систем GNU / Linux, що забезпечує надійну ізоляцію незалежних гостьових серверів.
  • OpenVZ - рішення для віртуалізації рівня операційної системи, яке підтримує контрольні точки і перенесення діючої системи на інший сервер.
  • Linux KVM - перша технологія віртуалізації, яка вбудована в основне ядро ​​Linux. За допомогою окремого завантаження модуля ядро ​​Linux на віртуалізіруемом обладнанні має можливість працювати як гипервизор і підтримувати незмінену гостьову ОС Linux або Windows.
  • На російськомовній сторінці developerWorks Linux знайдеться багато корисних ресурсів для розробників Linux.
  • Ви можете безпосередньо завантажити пробні версії програм з сайту IBM trial software , Розробляючи свої власні проекти для Linux.

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Чому важлива віртуалізація?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: