Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом (диплом).docx
Скачиваний:
74
Добавлен:
23.03.2015
Размер:
7.14 Mб
Скачать

2.3 Віртуалізація у навчанні

2.3.1 Сфери використання

Не для кого не є секретом, що для повноцінного навчання потрібно кожний пройдений матеріал закріплювати практичними навичками. І процес навчання професії системного інженера чи програміста не є виключенням.

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

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

У багатьох випадках для таких цілей використовують вже згаданий вище GNS3 (на віртуальному хості з встановленною Ubuntu/Debian/Linux Mint тощо), а самі віртуальні хости розміщуються на сервері VMware vSphere ESXi 5.1, або для кожного студента організовується його персональний логін і пароль на сервері терміналів. Для використання ж віртаульних хостів на персональних комп'ютерах як правило встановлюються гіпервізори другого рівня, такі як VirtualBox, Qemu, KVM, VMware Player.

2.3.2 Вибір платформи для навчання

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

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

Ідея віртуальних мережевих лабораторій не нова, і для їх реалізації існують спеціалізовані рішення. Для моделювання пристроїв фірми Cisco, що працюють під управлінням операційної системи IOS, використовуються програми Cisco Packet Tracer і Boson NetSim, мають зручний графічний інтерфейс, що дозволяє швидко створювати досить складні мережеві топології. Однак вбудована в них урізана версія IOS дозволяє вивчати лише мережеві технології початкового рівня.

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

  • скільки ресурсів хост-машини споживає віртуальна машина;

який час запуску операційної системи всередині віртуальної машини;

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

Далі мова піде про контейнер віртуальних машин GNS3, що широко використовується для моделювання мережевих топологій. Для створення мережевих топологій в GNS3 використовується технологія Drug-and-Drop: зачепив пристрій мишею і перетягнув його на робоче поле. GNS3 підтримує три віртуальні машини: Dynamips, VirtualBox і Qemu. Вибір саме цих машин для включення до GNS3 зумовлений наявністю в їх складі розвинутих засобів для з'єднання між собою операційних систем (в VirtualBox - за допомогою API).

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

Під Qemu працює вельми широкий клас мережевих, вбудованих і мобільних операційних систем: Juniper JunOS, Vyatta, Openwrt, Google Android, Mikrotik RouterOs, фаєрволи Cisco IDS, та ін Наш вибір був зроблений на користь Qemu у складі GNN3. Під Qemu працює вельми широкий клас мережевих, вбудованих і мобільних операційних систем (ОС): Juniper JunOS, Vyatta, Openwrt, Google Android, Mikrotik RouterOs, фаєрволи Cisco, та ін VirtualBox також підтримує безліч ОС, але в складі GNN3 вимагає настройки окремої віртуальної машини для кожного пристрою мережевої топології. Qemu для всіх пристроїв з однаковою ОС використовує єдині налаштування.

З перелічених вище особливостей кожного гіпервізору вибір вочевидь падає на зв’язку Qemu та GNS3. Також слід відмітити віртуальну машину IOU для Cisco IOS. У ній можна запустити пару операційних систем Cisco IOS з вельми потужною функціональністю, і вона не вимагає такого налаштування, як Dynamips. На жаль, IOU не володіє графічним інтерфейсом.

Слід визначитися, в чому працювати: в Windows або в Linux. GNS3 і Qemu задумані, зроблені і розвиваються в Linux. Qemu під Linux підтримує апаратну віртуалізацію KVM. Qemu під Windows не підтримує KVM і при запуску декількох екземплярів Qemu використовується тільки одне ядро ​​центрального процесора, що істотно уповільнює роботу з великими мережевими топологіями. Виникає питання вибору дистрибутива Linux. GNS3 написаний на Python і вимагає бібліотеки Qt4. Після ряду експериментів з різними дистрибутивами Linux з установки GNS3 з вихідних кодів вибір припав на настільну версію Ubuntu.

Визначимо операційну систему мережевого пристрою для запуску під Qemu. Якщо зажадати, щоб пристрій підтримувало мережеву технологію MPLS, то вибір відразу скоротиться: це або операційна система JunOS фірми Juniper, або RouterOS фірми Mikrotik.

За обсягом споживаних ресурсів JunOS істотно перевершує RouterOS. Наприклад, на комп'ютері з двоядерним процесором Intel Core2 6600 з частотою 2.4 ГГц час завантаження RouterOS версії 5.20 в Qemu під Ubuntu становить кілька секунд (див. нижче), а JunOS версії Olive12.1R1.9 вантажиться 75 секyнд. RouterOS вимагає мінімум 64 Мб пам'яті, JunOS - 512 Мб. Образ диска RouterOS - 60 Мб, JunOS - 600 Мб.

У Linux є програмне рішення KVM (Kernel-based Virtual Machine), що підтримує апаратну віртуалізацію на базі процесорів Intel VT або AMD SVM. Сам по собі KVM не виконує емуляції і використовується спільно з віртуальними машинами. Отже, доцільно буде використовувати KVM без оптимізатора пам'яті ksmd.

Число одночасно працюючих екземплярів RouterOs під Qemu визначається вільною пам'яттю хост-машини Ubuntu. Кожен екземпляр RouterOS з пам'яттю 64 Мб, запущений в Qemu з KVM, вимагає у Ubuntu 32 Мб пам'яті, а кожен екземпляр RouterOS з пам'яттю 128 Мб запущений в Qemu з KVM, вимагає у Ubuntu 54 Мб пам'яті.

Операційну систему Ubuntu можна запускати також під управлінням віртуальної машини, наприклад HYPER-V фірми Microsoft. Qemu в Ubuntu під управлінням HYPER-V працює дещо повільніше, ніж Qemu в Ubuntu на реальному комп'ютері. Це обумовлено, крім іншого, і тим, що KVM не працює на віртуальній апаратурі HYPER-V.

Багатоядерність процесорів распараллелівать завантаження декількох екземплярів RouterOs. Так час завантаження одного примірників RouterOS на побутовому 2-х ядерному комп'ютері без підтримки KVM приблизно в два рази більше, ніж на віртуальному 4-х ядерному процесорі HYPER-V. Тобто реальні ядра побутового комп'ютера мають приблизно однакову потужність в порівнянні з ядром віртуального процесора HYPER-V.

RouterOS під віртуальною машиною Qemu у складі GNS3 під управлінням Ubuntu виявилася кращим вибором для організації віртуальної лабораторії. Операційна система RouterOs підтримує практично всі сучасні мережеві технології. Це дозволило розробити лабораторний практикум для вивчення наступних мережевих технологій: Ethernet-мости, DHCP, балансування навантаження, EoIP, NAT, маршрутизація RIP, OSPF і BGP, перерозподіл маршрутів, PPP, PPTP, SSTP, L2TP, OpenVPN, віртуальні приватні мережі 2-го і 3-го рівня, IPSec, MPLS, VPLS, VRF.

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