Віртуалізація за допомогою colinux

Навряд чи ви думаєте про спільну роботу, коли розглядаєте GNU / Linux і Microsoft Windows, але це саме те, що можна отримати з ядром coLinux. Не впевнені? Зверніться до розділу "Переваги coLinux".

coLinux - це порт операційної системи Linux, що працює як один процес в операційній системі Microsoft. Операційні системи працюють спільно, передаючи один одному центральний процесор (CPU), як показано на рисунку 1.

Малюнок 1. Microsoft Windows і Linux кооперуються один з одним за допомогою coLinux

Віртуалізація за допомогою colinux

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

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

спектр віртуалізації

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

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

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

Малюнок 2. Гипервизор здійснює поділ доступу до фізичного апаратного забезпечення

Віртуалізація за допомогою colinux

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

coLinux - це порт стандартного ядра Linux. Іншими словами, coLinux є ядром Linux, яке модифіковано для того, щоб запускатися спільно з іншою операційною системою. Базова операційна система (Windows або Linux) здійснює контроль за фізичними ресурсами операційної системи, в той час як гостьова операційна система (coLinux) забезпечена віртуальної абстракцією апаратного забезпечення. Базова операційна система повинна забезпечити засоби для роботи драйверів на привілейованому рівні (рівень 0) та експорт засобів для виділення пам'яті (див. Малюнок 3).

Малюнок 3. coLinux працює як процес базової операційної системи

Віртуалізація за допомогою colinux

Коренева файлова система для coLinux є звичайний файл всередині базової операційної системи. По відношенню до Windows це дійсно звичайний файл, а для coLinux це файлова система ext3, яка доступна для читання і запису.

інсталяція coLinux

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

Після звичайного ліцензійної угоди вас запитають про те, які компоненти ви хочете встановити. Залиште все як є (слід вибрати всі), включаючи завантаження образу кореневої файлової системи. Щоб згодом спростити ситуацію, змініть папку призначення для інсталяції coLinux на c: \ colinux \, так як colinux є стандартним інсталяційних підкаталогом з точки зору конфігураційних файлів.

Коли програма інсталяції запитає вас про образ кореневої файлової системи, виберіть дистрибутив Debian, тому що він є найменшим і займає тільки 1GB. Виберіть Install. щоб провести інсталяцію і завантажити кореневу файлову систему.

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

Файл coLinux README містить багато додаткової інформації про інші опціях інсталяції. Він знаходиться в підкаталозі (c: \ colinux). Там буде файл з дивним ім'ям, яке закінчується на .bz2. Перейменуйте цей файл в root_fs (це за замовчуванням файл кореневої файлової системи в конфігурації).

Тепер інсталяція coLinux, в основному, завершена. Ви можете запустити coLinux daemon для роботи спільно з Windows XP в такий спосіб (активуючи з вікна Command Prompt):

Після активації colinux-daemon на екран виводиться вікно завантаження (див. Малюнок 4). Воно дає ту ж інформацію, що і традиційна завантаження Linux. Зверніть увагу на те, що coLinux завантажується надзвичайно швидко.

Малюнок 4. Вікно завантаження coLinux

Віртуалізація за допомогою colinux

Також створюється вікно консолі (див. Малюнок 5), яке приєднується до colinux-daemon. З цього вікна ви можете входити в систему coLinux, щоб взаємодіяти з оболонкою. За замовчуванням ім'я користувача і пароль root / root.

Малюнок 5. Віртуальна консоль coLinux (оболонка)

Віртуалізація за допомогою colinux

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

Робота з мережею

Для того щоб драйвер TAP працював, базова операційна система повинна забезпечити спільне використання наявного пристрою Ethernet. Щоб дозволити спільне використання всередині Windows XP, відкрийте панель здійснювати підключення до мережі (Network Connections) з панелі управління (Control Panel). Виберіть активне підключення по локальній мережі (local area connection) і потім відкрийте Властивості (Properties). Виберіть закладку Додатково (Advanced), і потім виберіть кнопку, роздільну користувачам мережі підключатися через це інтернет з'єднання комп'ютера (див. Малюнок 6).

Малюнок 6. Властивості підключення по локальній мережі для активування спільного використання мережевих пристроїв

Віртуалізація за допомогою colinux

Після того як включений спільний доступ до мережі, ви можете запустити coLinux і використовувати мережу так, як ви її використовуєте звичайно. Це показано на рисунку 7 з використанням команди ping.

Малюнок 7. Спільне використання мережевого пристрою прозоро для coLinux завдяки TAP драйверу

Віртуалізація за допомогою colinux

X Window System

Консольне вікно прекрасно, а графічний віконний менеджер буде ідеальним. За допомогою open source X сервера, такого як Xming, ви можете створювати xterm або використовувати інші графічні додатки з coLinux. Існує багато документованих опцій, таких як Virtual Network Computing (VNC), але я покажу вам, як використовувати Xming.

Малюнок 8. xterm, створений за допомогою Xming

Віртуалізація за допомогою colinux

розширення coLinux

Яку б кореневу файлову систему ви ні завантажили, вона все одно не буде містити всі, що ви б хотіли. Але ви легко можете розширити кореневу файлову систему. Наприклад, за допомогою Debian GNU / Linux, ви можете використовувати Advanced Packaging Tool (APT), систему управління пакетами, для інсталяції нових пакетів програм або оновлення існуючих. Першим кроком буде оновлення метаданих APT, які містять інформацію, що управляє про інстальованих пакетах (включаючи щойно з'явилися пакети і інформацію про те, де їх отримати):

Тепер ви можете оновити вашу кореневу файлову систему іншими пакетами, які вам необхідні. Наприклад, якщо ви хочете додати чудовий мову Ruby в вашу кореневу файлову систему, то ви повинні виконати наступну команду:

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

переваги coLinux

coLinux - це прекрасний спосіб для використання і експериментування з Linux. Так само як і Cygwin, він дозволяє вам розгортати та запускати програми Linux на операційній системі Windows (за допомогою coLinux). Ви також можете підтримувати операційну систему Linux, інсталюючи, модернізуючи або видаляючи програми за допомогою apt-get.

Але, на відміну від Cygwin, ви можете виконувати Linux-додатки без пересборки. В цьому відношенні coLinux є реальною операційною системою Linux, яка запускається (або кооперується) з операційною системою Windows.

Іншим цікавим перевагою coLinux є його переносимість. Ви можете мати дистрибутив coLinux з призначеним для користувача набором додатків (всередині кореневої файлової системи) на даному комп'ютері з Windows. Ви можете перенести кореневу файлову систему на інший комп'ютер і запустити знову її. Це дозволяє створити мобільну платформу для розробки програм, де стиснута коренева файлова система підганяється до стандартної Universal Serial Bus (USB) карті пам'яті.

В кінцевому рахунку, coLinux швидкий, тому що він по суті працює на рідному апаратному забезпеченні.

труднощі coLinux

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

Хоча існує багато віртуалізаційних схем, coLinux є новинкою як в підході, так і в можливостях, які він надає. Сам по собі coLinux забезпечує віртуалізацію Linux поверх Windows. При додаванні деяких інших open source програмних засобів ви можете підтримувати повноцінну систему Linux, укомплектовану мережею і графічним інтерфейсом. coLinux не бездоганний, але він являє собою прекрасний шлях до використання Linux на стандартних персональних комп'ютерах під Windows.

Отримати продукти і технології

  • Завантажте самий останній вихідний код і бінарні файли для coLinux з SourceForge.
  • Завантажте найостанніші драйвери TUN / TAP з SourceForge.
  • KVM - новинка в віртуалізації Linux. Це рішення на базі модуля ядра, яке вимагає мінімальних змін в ядрі Linux і завантажується як модуль ядра. KVM забезпечує віртуалізацію гостьовий операційної системи, але вимагає QEMU для введення / виведення. Прочитайте про введення KVM в ядро ​​2.6.20.
  • Cygwin - це ще один цікавий емулятор Linux, який працює під Windows. coLinux може скористатися наявними можливостями X сервера, які надає Cygwin.
  • Xming - це open source X windows сервер для оточення Microsoft Windows.
  • За допомогою пробного програмного забезпечення IBM. яке можна завантажити прямо з developerWorks, створіть вашу наступну розробку на Linux.