atpv

Навчальні матеріали з автоматизації технологічних процесів та виробництв, розроблені спільнотою

<- До підрозділу

Основи віртуалізації з використанням Virtual Box

Віртуалізація та віртуальні машини

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

Віртуальна машина (VM, ВМ) - це емуляція комп’ютерної системи на іншому комп’ютері. Це дає змогу запускати, як здається, багато окремих комп’ютерів на апаратних засобах, які є фактично одним комп’ютером.

рис.1. Стек з віртуальною машиною та гіпервізором.

Віртуалізацію віртуальних машин забезпечує гіпервізор (Hypervisor). Гіпервізор або монітор віртуальної машини - це програмне забезпечення, прошивка або апаратне забезпечення, яке створює і запускає віртуальні машини.

У цьому випадку кажуть що гостьова операційна система (guest OS) - це ОС, яка працює всередині віртуальної машини. Гостьові ОС та їхні застосунки спільно використовують апаратні ресурси одного хост-сервера або з пулу хост-серверів (у випадка хмарного використання) через гіпервізор. Кожна віртуальна машина вимагає власної ОС, а її апаратне забезпечення є повністю віртуалізованим.

Гіпервізор розташований між апаратним забезпеченням або ОС реальної машини і віртуальною машиною, і є необхідним для віртуалізації цієї машини. Гіпервізор може працювати безпосередньо поверх заліза (гіпервізор типу 1) або поверх іншої ОС (гіпервізор типу 2):

рис.2. Приклад роботи гіпервізорів поверх заліза або на рівні ОС.

Приклади гіпервізорів:

Віртуальні машини використовуються як для віртуалізації на офісних ПК так і на серверах а також в хмарних інфраструктурах. Більшість постачальників хмарних рішень надають можливість створення і розгортання віртуальних машин для різних ОС.

Віртуальні машини мають наступні особливості:

Серед основних переваги віртуальних машин можна виділити наступні:

До недоліків можна віднести те, що потрібно дуже багато ресурсів і часу, щоб віртуалізувати залізо віртуальної машини.

Області використання віртуальних машин в промисловій автоматизації

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

Інший варіант використання ВМ в промисловій автоматизації - це тестування роботи системи з кількома середовищами виконання об’єднаних віртуальною мережею.

Для популярних гіпервізорів є образи ВМ для великої кількості ОС. Це дає змогу використовувати їх в якості середовища розроблення і тестування.

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

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

Огляд Virtual Box

VirtualBox — це програма віртуалізації (гіпервізор типу 2) для операційних систем, розроблена німецькою фірмою innotek, зараз вона належить Oracle Corporation. Підтримується основними операційними системами Linux, FreeBSD, Mac OS X, OS/2 Warp, Microsoft Windows, які підтримують роботу гостьових операційних систем FreeBSD, Linux, OpenBSD, OS/2 Warp, Windows і Solaris.

Існує дві версії, які відрізняються за ліцензією та функціональністю:

Детальна документація по Virtual BOX доступна за посиланням

Загальні області використання VirtualBox

VirtualBox як і більшість гіпервізорів дають можливість:

Огляд функцій

Нижче коротко наведені основні функції Oracle VM VirtualBox.

Переносимість. Oracle VM VirtualBox працює на великій кількості 64-розрядних операційних систем. Oracle VM VirtualBox — це так званий хостовий гіпервізор, який іноді називають гіпервізором типу 2, який працює поверх інших ОС. Oracle VM VirtualBox значною мірою функціонально ідентичний на всіх хост-платформах, і використовуються однакові формати файлів і образів. Крім того, віртуальні машини можна легко імпортувати та експортувати за допомогою відкритого формату віртуалізації (OVF), галузевого стандарту, створеного для цієї мети. Для користувачів Oracle Cloud Infrastructure функціональні можливості поширюються на експорт та імпорт віртуальних машин у хмару та з хмари.

Гостьові доповнення (Guest Additions): спільні папки, безшовні вікна, 3D-віртуалізація. Гостьові доповнення Oracle VM VirtualBox — це програмні пакети, які можна інсталювати всередині підтримуваних гостьових систем, щоб покращити їх продуктивність і забезпечити додаткову інтеграцію та зв’язок із хостовою ОС. Після встановлення гостьових доповнень віртуальна машина підтримуватиме автоматичне налаштування роздільної здатності відео, безшовні вікна, прискорену 3D-графіку тощо. Зокрема, гостьові доповнення забезпечують спільні папки, які дозволяють отримати доступ до файлів у системі хоста з гостьової машини.

Повна підтримка апаратного забезпечення. Серед інших функцій Oracle VM VirtualBox підтримує наступне:

Багатогенераційні розгалужені знімки. Oracle VM VirtualBox може зберігати довільні знімки стану віртуальної машини. Ви можете повернутися в минуле та повернути віртуальну машину до будь-якого такого знімка та запустити звідти альтернативну конфігурацію віртуальної машини, фактично створивши ціле дерево знімків.

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

Чиста архітектура та безпрецедентна модульність. Oracle VM VirtualBox має надзвичайно модульну конструкцію з чітко визначеними внутрішніми інтерфейсами програмування та чітким розділенням коду клієнта та сервера. Це дозволяє легко керувати нею з кількох інтерфейсів одночасно. Наприклад, ви можете запустити віртуальну машину, просто натиснувши кнопку в графічному інтерфейсі користувача Oracle VM VirtualBox, а потім керувати цією машиною з командного рядка або навіть віддалено. Завдяки своїй модульній архітектурі Oracle VM VirtualBox також може розкрити свою повну функціональність і конфігурацію за допомогою комплексного набору для розробки програмного забезпечення (SDK), який забезпечує інтеграцію Oracle VM VirtualBox з іншими програмними системами.

Дисплей віддаленого комп’ютера. Розширення віддаленого робочого столу VirtualBox (VRDE) забезпечує високопродуктивний віддалений доступ до будь-якої запущеної віртуальної машини. Це розширення підтримує протокол віддаленого робочого стола (RDP), оригінально вбудований у Microsoft Windows, зі спеціальними доповненнями для повної підтримки клієнтського USB. VRDE не покладається на сервер RDP, вбудований у Microsoft Windows. Натомість VRDE підключається безпосередньо до рівня віртуалізації. Як результат, він працює з гостьовими ОС, відмінними від Windows, навіть у текстовому режимі, і також не потребує підтримки програм у віртуальній машині. Окрім цієї спеціальної можливості, Oracle VM VirtualBox пропонує вам більше унікальних функцій:

Використання VirtualBox Manager

Інструменти налаштування

Oracle VM VirtualBox дозволяє використовувати кілька можливих інтерфейсів для керування віртуальними машинами. У стандартному пакеті Oracle VM VirtualBox поставляються наступні інтерфейси.

Якщо наведені вище інтерфейси все ще не задовольняють конкретних потреб, можна створити власний інтерфейс, що взаємодіє через чистий API.

У даному модулі розглядаються основи використання тільки графічного VirtualBox Manager. Ліва панель вікна VirtualBox Manager містить список усіх ваших віртуальних машин. На панелі праворуч відображаються властивості вибраної віртуальної машини. Кнопки панелі інструментів на панелі деталей можна використовувати для створення віртуальних машин і роботи з ними. VirtualBox Manager надає два типи інструментів користувача:

image-20231217135417361

рис.3. Меню налаштування глобальних параметрів

Меню глобальних інструментів надає наступні можливості (рис.3):

У списку машин на лівій панелі вікна VirtualBox Manager вибирається віртуальна машина, в якої також є меню Machine Tools.

machine-tools-menu

рис.4. Меню налаштування машинних інструментів

Налаштування віртуальних машин

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

Вибравши віртуальну машину можна перейти у вікно налаштування (рис.5)

image-20231217142602739

рис.5. Вікно віртуальної машини

Нижче наведений перелік є довідковим. Повний опис доступний за посиланням

Загальні (General)

У розділі «Загальні» можна налаштувати найбільш фундаментальні аспекти віртуальної машини:

Система (System)

У розділі “Система” згруповані різні параметри, пов’язані з основним апаратним забезпеченням, яке відображається на віртуальній машині.

image-20231217144648282

рис.6.

Екран (Display)

Наступні вкладки доступні для налаштування дисплея для віртуальної машини.

image-20231217144708731

рис.7

Пам’ять (Storage)

Категорія «Сховище» в налаштуваннях віртуальної машини дає змогу підключати до віртуальної машини віртуальні жорсткі диски, компакт-диски та дискети, а також образи та дисководи.

У реальному комп’ютері так звані контролери зберігання підключають фізичні диски до решти комп’ютера. Подібним чином Oracle VM VirtualBox представляє віртуальні контролери сховища для віртуальної машини. Під кожним контролером показано віртуальні пристрої, такі як жорсткі диски, CD/DVD або дисководи, підключені до контролера.

image-20231217144724643

рис.8

Залежно від типу гостьової ОС, який ви вибрали під час створення віртуальної машини, нова віртуальна машина включає такі пристрої зберігання:

Якщо ви створили свою віртуальну машину за допомогою старішої версії Oracle VM VirtualBox, макет сховища за замовчуванням може відрізнятися. Тоді у вас може бути лише контролер IDE, до якого під’єднано привід CD/DVD і жорсткі диски. Це також може застосовуватися, якщо під час створення віртуальної машини ви вибрали старіший тип ОС. Оскільки старі ОС не підтримують SATA без додаткових драйверів, Oracle VM VirtualBox переконається, що такі пристрої спочатку відсутні.

Oracle VM VirtualBox також надає контролер дискет. До цього контролера не можна додавати інші пристрої, окрім дисководів. Віртуальні дисководи, як і віртуальні приводи для компакт-дисків/DVD, можна підключити або до головного дисководу, якщо він у вас є, або до образу диска, який у цьому випадку має бути у форматі RAW.

Ви можете вільно змінювати ці мультимедійні вкладення. Наприклад, якщо ви хочете скопіювати деякі файли з іншого віртуального диска, який ви створили, ви можете підключити цей диск як другий жорсткий диск. Ви також можете додати другий віртуальний привід CD/DVD або змінити місце підключення цих елементів.

Аудіо (Audio)

Розділ «Аудіо» у вікні «Параметри» віртуальної машини визначає, чи виявлятиме віртуальна машина підключену звукову карту та чи має відтворюватися вихідний аудіо на головній системі.

image-20231217144737354

рис.9

Мережа (Network)

Розділ «Мережа» у вікні налаштувань віртуальної машини дозволяє налаштувати, як Oracle VM VirtualBox представляє віртуальні мережеві карти вашій віртуальній машині та як вони працюють.

Коли ви вперше створюєте віртуальну машину, Oracle VM VirtualBox за замовчуванням вмикає одну віртуальну мережеву карту та вибирає для неї режим трансляції мережевих адрес (NAT). Таким чином гість може підключатися до зовнішнього світу за допомогою мережі хоста, а зовнішній світ може підключатися до служб гостьової системи, які ви вирішите зробити видимими за межами віртуальної машини. Це налаштування за замовчуванням підходить для більшості користувачів Oracle VM VirtualBox. Однак Oracle VM VirtualBox надзвичайно гнучкий у тому, як він може віртуалізувати мережу. Він підтримує багато віртуальних мережевих карт на віртуальну машину. Перші чотири віртуальні мережеві карти можна детально налаштувати в VirtualBox Manager. Додаткові мережеві карти можна налаштувати за допомогою команди VBoxManage.

image-20231217144749975

рис.10

Додатково про налаштування мережних карт для віртуальної машини розглядається в іншому модулі.

Послідовні порти (Serial Ports)

Oracle VM VirtualBox підтримує використання віртуальних послідовних портів у віртуальній машині.

Починаючи з оригінального IBM PC, персональні комп’ютери були оснащені одним або двома послідовними портами, які також називаються COM-портами в DOS і Windows. Послідовні порти зазвичай використовувалися з модемами, і деякі комп’ютерні миші підключалися до послідовних портів до того, як USB став звичним явищем. Незважаючи на те, що послідовні порти вже не такі поширені, як раніше, вони все ще мають кілька важливих застосувань. Наприклад, послідовні порти можна використовувати для налаштування примітивної мережі через нуль-модемний кабель, якщо Ethernet недоступний. Крім того, послідовні порти незамінні для системних програмістів, які потребують налагодження ядра, оскільки програмне забезпечення для налагодження ядра зазвичай взаємодіє з розробниками через послідовний порт. За допомогою віртуальних послідовних портів системні програмісти можуть виконувати налагодження ядра на віртуальній машині замість того, щоб підключатися до реального комп’ютера.

Якщо віртуальний послідовний порт увімкнено, гостьова ОС бачить стандартний 16550A-сумісний пристрій UART. Інші типи UART можна налаштувати за допомогою команди VBoxManage modifyvm. Підтримується як прийом, так і передача даних. Спосіб підключення цього віртуального послідовного порту до хоста можна налаштувати, а деталі залежать від вашої ОС хоста.

image-20231217144802947

рис.11

Ви можете налаштувати до чотирьох віртуальних послідовних портів на віртуальну машину. Для кожного пристрою необхідно встановити наступне:

Ви також можете налаштувати означений користувачем послідовний порт. Введіть базову адресу введення/виведення та переривання (IRQ).

Up to four serial ports can be configured per virtual machine, but you can pick any port numbers out of the above. However, serial ports cannot reliably share interrupts. If both ports are to be used at the same time, they must use different interrupt levels, for example COM1 and COM2, but not COM1 and COM3.

USB

Розділ USB у вікні налаштувань віртуальної машини дозволяє налаштувати складну підтримку USB Oracle VM VirtualBox. Oracle VM VirtualBox може надати віртуальним машинам прямий доступ до USB-пристроїв на хості. Для цього Oracle VM VirtualBox надає гостьовій ОС віртуальний контролер USB. Щойно гостьова система починає використовувати USB-пристрій, він відображатиметься як недоступний на хості.

image-20231217144816510

рис.12

Спільні теки (Shared Folders)

Спільні папки дозволяють легко обмінюватися даними між віртуальною машиною та хостом. Ця функція вимагає встановлення гостьових доповнень Oracle VM VirtualBox на віртуальній машині, і вона детально описана в розділі 4.3 «Спільні папки».

image-20231217144834024

рис.13

Інтерфейс користувача (User Interface)

У розділі «Інтерфейс користувача» можна змінити певні аспекти інтерфейсу користувача вибраної віртуальної машини.

image-20231217144847661

рис.14

Теоретичне заняття розробив Олександр Пупена.