Rozwiązania wirtualizacji w systemach Linux-KVM i VirtualBox

Pakiety wirtualizacji umożliwiają użytkownikom uruchamianie różnych systemów operacyjnych bez „gołego metalu” sprzętu-zasadniczo można uruchomić więcej niż jeden system operacyjny na jednym komputerze bez podwójnego rozruchu lub podobnego podejścia. Oprogramowanie do wirtualizacji emuluje prawdziwą maszynę i „oszukuje” system operacyjny gościa, myśląc, że działa na prawdziwym komputerze. Oprócz bardziej oczywistych zalet, maszyny wirtualne pomagają stworzyć bardziej ekologiczne i łatwiejsze w administrowaniu środowisko obliczeniowe. Patrząc na trendy w branży IT, wirtualizacja odnotowała spory boom w ciągu ostatnich kilku lat, ponieważ pasuje do koncepcji komputerów użytkowych i / lub oprogramowania jako usługi. Wirtualizacja może być przydatna, jeśli jesteś architektem korporacyjnym, programistą, użytkownikiem domowym lub w zasadzie wszystkim pomiędzy. Zaczniemy od krótkiego wprowadzenia na temat wirtualizacji w ogóle, a następnie będziemy konkretnie traktować VirtualBox i KVM, ponieważ wydają się być najbardziej popularnymi rozwiązaniami do pełnej wirtualizacji open source. Oczekuje się, że znasz się na systemach Linux, jak zainstalować dystrybucję Linuksa i jak zainstalować na niej oprogramowanie, chociaż pokażemy Ci, jak zainstalować dwa wspomniane Pakiety wirtualizacji na niektórych popularnych dystrybucjach Linuksa.

istnieją dwa rodzaje wirtualizacji: jeden, który może uruchamiać system gościa w stanie, w jakim jest (jak w, niezmodyfikowany) i drugi, który wymaga zmodyfikowanego jądra po stronie gościa w celu uruchomienia. Pierwsza kategoria nazywa się pełna wirtualizacja, ponieważ emuluje kompletne środowisko sprzętowe, druga nazywa się parawirtualizacja, ponieważ nie emuluje sprzętu i dlatego wymaga specjalnych modyfikacji na poziomie gościa, dobrym przykładem tego typu wirtualizacji jest Xen. Są one częścią większej kategorii o nazwie wirtualizacja sprzętowa, ale istnieją również inne typy wirtualizacji (między innymi oprogramowanie, sieć lub pamięć masowa), których nie będziemy tutaj szczegółowo opisywać. Dwa programy, o których będziemy mówić, pasują do pełnej kategorii wirtualizacji. Inne popularne technologie wirtualizacji sprzętu to QEMU, Bochs, VMware, Parallels, HyperV lub OpenVZ.

Subskrybuj NEWSLETTER & RSS
Subskrybuj RSS i NEWSLETTER i otrzymuj najnowsze wiadomości o Linuksie, oferty pracy, porady zawodowe i samouczki.

kiedy wirtualizacja jest przydatna?

dystrybucje Linuksa

świat Linuksa jest pełen ciekawych i kuszących ofert. Jest ich ponad 600 (!) Dystrybucje Linuksa do wyboru, co utrudnia osobie, która ma tylko jeden komputer wypróbowanie ich wszystkich, a nawet tylko kilku. LiveCDs nie zawsze są pomocne, więc może być konieczne zainstalowanie, aby uzyskać istotę tego. Każde wydanie dystrybucji Linuksa przynosi nowe i ekscytujące funkcje, a Ty możesz poczuć dreszczyk emocji i impuls do zainstalowania i przetestowania go. Wejdź do wirtualizacji. Pobierasz ISO, instalujesz distro w wirtualnym środowisku i jesteś gotowy do pracy, wszystko w krótkim czasie. Nie podoba Ci się, usuwasz. Zwłaszcza, gdy jesteś nowy w świecie Linuksa i możesz być zdezorientowany dużą liczbą dostępnych dystrybucji, to może być właśnie to, czego potrzebujesz. Ponadto, jeśli jesteś programistą i potrzebujesz uruchomić gałąź deweloperską swojej dystrybucji (pomyśl o Fedorze Rawhide lub Debianie Sid), ale jest to zbyt niestabilne do codziennego użytku, zainstaluj w maszynie wirtualnej i zacznij się rozwijać.

inne systemy operacyjne

to rozciąga się na inne systemy operacyjne, które mogą być potrzebne : może masz propgram, który działa tylko w systemie Windows i nie chcesz instalować systemu Windows tylko dla tego jednego programu. Może chcesz się nauczyć Solarisa, ale brakuje Ci sprzętu. Pod warunkiem, że masz odpowiednią konfigurację komputera obsługującą wirtualizację, teraz możesz to zrobić.

czego potrzebujesz

nowoczesne procesory mają specjalne instrukcje procesora do emulacji sprzętu. Możesz żyć bez, ale naprawdę nie chcesz, ponieważ system operacyjny hosta będzie musiał emulować brakującą instrukcję wirtualizacji, co znacznie spowolni Twoich gości. Zakładamy, że system operacyjny hosta ma zainstalowanego Linuksa, a procesor ma niezbędne możliwości wirtualizacji. Najprostszym sposobem, aby sprawdzić, czy twój procesor ma to, czego potrzeba, zrób

 $ egrep '(vmx|svm)' /proc/cpuinfo 

i jeśli to zwróci vmx (procesory Intel) lub svm (procesory AMD), możesz iść. Ale to oczywiście nie jest jedyne żądanie po stronie sprzętu. Sprawdź stronę internetową systemu, który chcesz zainstalować jako gość, aby sprawdzić, czy spełniasz jego wymagania sprzętowe. Zalecamy co najmniej 20 GB wolnego w katalogu domowym i co najmniej 2 GB pamięci na hoście, dzięki czemu można przydzielić gościowi średnią ilość 768 MB dla optymalnej wydajności. Oczywiście, jeśli chcesz uruchomić wiele maszyn wirtualnych (może równolegle), wymagania te znacznie rosną.

KVM czy VirtualBox?

po pierwsze, dlaczego mielibyśmy zaoferować Ci dwa pakiety wirtualizacji? Dlaczego nie jeden dla wszystkich Twoich potrzeb? Wierzymy w koncepcję „odpowiedniego narzędzia do pracy”. KVM oferuje pewne funkcje, których VirtualBox nie ma i odwrotnie. W świecie IT nie ma czegoś takiego jak uniwersalne narzędzie, więc ważne jest, aby użyć czegoś, co pasuje do Twoich potrzeb. Podstawową ideą jest : jeśli chcesz zainstalować binarną dystrybucję Linuksa jako gość, użyj KVM. Jest szybszy, a jego sterowniki są zawarte w oficjalnym drzewie jądra. Jeśli twój gość wymaga dużo kompilacji i potrzebuje bardziej zaawansowanych funkcji, i / lub nie jest systemem Linux, lepiej iść z VirtualBox.

powody techniczne są dość proste: KVM jest lepiej zintegrowany z Linuksem, jest mniejszy i szybszy, i chociaż można go używać z innymi gośćmi oprócz Linuksa, okazało się, że doświadczenie jest dość kłopotliwe : BSD mają zwykle wolne wejścia / wyjścia, a Solaris (openindiana) ma tendencję do paniki natychmiast po uruchomieniu instalacji ISO. Ponieważ korzystamy z aktualnych wersji BSD (często kompilujemy / aktualizujemy system ze źródeł), a także potrzebujemy Solarisa, lepszym rozwiązaniem okazał się VirtualBox.

kolejnym plusem dla Oracle VirtualBox jest fakt, że obsługuje suspend, czyli możesz zapisać stan komputera na dysku twardym hosta i zamknąć VirtualBox, a po (ponownym)uruchomieniu system odbierze go z miejsca, w którym został. Dlatego odwołaliśmy się do kompilacji źródłowej : jeśli masz hałaśliwą maszynę, której nie chcesz zostawiać na noc, ale Twoja wirtualna maszyna Gentoo kompiluje nową wersję gcc, zawiesza stan maszyny, wyłącza hosta i kontynuuje jutro.

czego się nauczysz

pokażemy Ci jak zainstalować KVM i VirtualBox oraz jak zainstalować i skonfigurować gościa Linuksa na hoście Linuksa. Przykłady z innymi Unices są bardzo podobne, więc nie widzimy potrzeby powtarzania się.

instalacja

chociaż KVM reklamuje Solarisa, BSD, ReactOS, Windows i innych jako obsługiwanych gości, nasze doświadczenia były mniej niż owocne. Nie jest to krytyka, ponieważ szczerze mówiąc, nie siadaliśmy i nie analizowaliśmy zbytnio tej kwestii. Ale to nie jest z lenistwa: po rozmowie z innymi ludźmi na ’ Net, okazało się, że nie jesteśmy jedynymi z problemami dotyczącymi Uniksa(-jak) goście oprócz Linuksa, więc po prostu poszedł z VirtualBox dla tych. Jak zawsze, twój przebieg może się różnić: my też chcielibyśmy używać KVM wyłącznie dlatego, że jest bardziej „darmowy”, ale z powodu wyżej wymienionych problemów, które oczywiście mogą być po prostu czymś specyficznym dla naszej konfiguracji, musieliśmy użyć VirtualBox. W tej chwili KVM jest rozwijany przez Red Hat i można go łatwo zainstalować na większości dystrybucji Linuksa. Tak jak poprzednio, przedstawimy tylko procedury instalacji odnoszące się do głównych dystrybucji Linuksa.

Fedora

od kiedy Red Hat, sponsor Fedory, rozwija KVM, Fedora oferuje mnóstwo narzędzi do wirtualizacji. Oficjalna dokumentacja, chociaż jest przeznaczona dla Fedory 13, ma zastosowanie do późniejszych wersji. Możesz po prostu zainstalować KVM za pomocą

 # yum install kvm 

, aby przejść do linii poleceń, lub możesz zainstalować kilka narzędzi graficznych, które pomogą Ci zarządzać wirtualnymi instalacjami :

 # yum install virt-manager libvirt libvirt-python python-virtinst 

nie będziesz musiał wykonywać kolejnych poleceń, ponieważ proces instalacji na Fedorze oznaczy moduł kvm do automatycznego ładowania. Jeśli nie chcesz ponownie uruchomić, użyj modprobe, aby załadować moduł na miejscu.

Debian

Wiki Debiana przychodzi na ratunek po raz kolejny, a jeśli ktoś zastosuje się do instrukcji, będzie miał zainstalowany KVM i będzie gotowy do pracy w mgnieniu oka. Chodzi o to, aby

 # apt-get install qemu-kvm libvirt-bin 

zainstalować, skonfigurować i załadować moduł KVM-(amd|intel) kernel podczas rozruchu.

Slackware

Slackbuild dla KVM, którego możesz używać zgodnie z tym przewodnikiem. Jeśli masz zmodyfikowane jądro lub po prostu chcesz się upewnić, że twoje jądro ma włączony KVM, wpisz

 $ cat /boot/config |grep -i kvm 

, a także sprawdź /etc/rc.d / rc.moduły, aby sprawdzić, czy moduł kvm jest ustawiony na ładowanie podczas rozruchu.

Arch

wiki Arch Linux jest dobrym przewodnikiem dla wszystkiego, co związane z KVM. Ponieważ Arch, podobnie jak Slackware, jest dystrybucją DYI, może być konieczne podjęcie kilku dodatkowych kroków, aby rozpocząć korzystanie z KVM. Instalacja jest tak prosta, jak

 # pacman -S qemu-kvm 

te same kroki należy podjąć tutaj jak na komputerze Slackware: Dodaj użytkownika, sprawdź, czy twój procesor obsługuje wirtualizację i czy KVM jest włączony w jądrze.

VirtualBox

Fedora

strona VirtualBox oferuje plik repo do dodania w /etc/yum.repos.d / a następnie wykonaj

 # yum update

, aby poinformować yum o nowym repo i zindeksować go. Następnie wykonaj

 # yum install VirtualBox-4.0 dkms gcc
 # /etc/init.d/vboxdrv setup 
 # usermod -G vboxusers -a username 

i powinieneś być ustawiony.

Debian

nie chcemy tu brać stron, ale wygląda na to, że dokumentacja Debiana jest lepsza i dokładniejsza. Aby zainstalować, po prostu wpisz

 # apt-get install linux-headers-$version virtualbox-ose 

, która zainstaluje wszystkie niezbędne pakiety, skompiluje moduł jądra i ustaw go tak, aby ładował się podczas uruchamiania.

Slackware

SlackBuilds.org ma VirtualBox (Open Source edition, który jest jedynym, o którym będziemy mówić tutaj) wpis. Aby dowiedzieć się, jak korzystać z slackbuilds, przejdź tutaj. Dodatkowe informacje można znaleźć na linuxquestions.org, informacje, które mogą okazać się przydatne, zwłaszcza jeśli jesteś na 64-bitowej maszynie Slackware 13.37. Pamiętaj, aby przeczytać README SLACKBUILD i powinno być ok.

Arch

dokumentacja Arch jest pomocna i kompletna, podobnie jak dokumentacja Debiana, więc nie powinieneś mieć problemów ze znalezieniem potrzebnych informacji. Wszystko, czego potrzebujesz do instalacji, to

 # pacman -S virtualbox qt 

i jesteś ustawiony. Będziesz potrzebował Qt dla GUI, jeśli potrzebujesz tylko CLI, nie instaluj go.Pozostałe kroki konfiguracji są podobne do Fedory, więc użyj dokumentacji, aby zacząć.

Subskrybuj NEWSLETTER & RSS
Subskrybuj RSS i NEWSLETTER i otrzymuj najnowsze wiadomości o Linuksie, oferty pracy, porady zawodowe i samouczki.

użycie

jak zapewne zauważyliście, jesteśmy przeciwni ślepemu kopiowaniu ze strony podręcznika i próbom zastąpienia tego podręcznika. Omówimy ogólne i zwykłe opcje oraz flagi wiersza poleceń (tak, zalecamy użycie CLI podczas pracy z KVM i GUI podczas pracy z VirtualBox), ale czytanie strony podręcznika jest niezbędne, zwłaszcza gdy mamy do czynienia z dość złożonym oprogramowaniem, takim jak to.

Storage

zalecamy utworzenie osobnego katalogu, w którym będą przechowywane obrazy dysków wirtualnych oraz osobnego katalogu, w którym będą przechowywane pliki ISO używane do instalacji. W końcu tylko Ty wiesz najlepiej, jak organizować pliki, ale ta konfiguracja, jak sądzimy, ułatwi Ci życie. Dla przykładu, powiedzmy, że chcemy zainstalować Fedorę. Zauważyliśmy przy korzystaniu z KVM nieco mniejszą przepustowość niż ta dostępna od naszego dostawcy usług internetowych, problem, że VirtualBox nie wydaje się mieć. Więc instalujemy z DVD :

 $ cd ~ && mkdir iso && cd iso/ 
 $ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\x86_64/iso/Fedora-15-x86_64-DVD.iso 

oczywiście, jeśli wolisz curl, kget lub inny menedżer pobierania, użyj go. To samo dotyczy serwera lustrzanego : użyj jednego blisko ciebie, aby szybciej pobierać. Teraz, aby skonfigurować nasze środowisko wirtualnych dysków :

 $ cd ~ && mkdir kvmhdd && cd kvmhdd 
 $ kvm-img create fedora15.img 15G 

zanim przejdziemy dalej, zalecamy uruchomienie kvm-img bez argumentów, aby zobaczyć jego główne opcje i formaty dysków. Co robi druga linia powyżej: tworzy plik wirtualnego dysku (format img) o nazwie fedora15 i mający 15 gigabajtów wielkości.

instalacja

teraz jesteśmy gotowi do rozpoczęcia instalacji Fedory 15 na naszym nowo utworzonym dysku :

 $ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img & 

co właśnie zrobiliśmy : -m reprezentuje rozmiar w megabajtach przydzielonej pamięci, – boot mówi KVM podstawowe urządzenie rozruchowe (myślę litery dysku Windows), – cdrom jest oczywiste, – hda jest pierwszym dyskiem twardym (można użyć więcej niż jednego dysku, jeśli masz miejsce, z-hdb jest drugim dyskiem, i tak dalej), i użyliśmy ampersand na końcu wiersza poleceń, aby odzyskać kontrolę nad terminalem. Ctrl + Alt da / przejmie kontrolę nad / Z maszyny wirtualnej pod względem przechwytywania myszy.

Korzystanie z maszyny wirtualnej

 $ kvm -m 768 -boot c -hda fedora15.img & 

: Utwórz plik w kvmhdd (lub nazwę wybraną dla katalogu roboczego) o nazwie fedora15.sh który będzie zawierał powyższą linię, sprawi, że będzie ona wykonywalna i, gdy jej potrzebujesz, po prostu ją Uruchom :

 $ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
chmod +x fedora15.sh && ./fedora15.sh

to wszystko. Jeśli potrzebujesz więcej opcji, zajrzyj na stronę podręcznika kvm, ponieważ jest dobrze napisana i na pewno ci pomoże.

VirtualBox

tworzenie maszyny wirtualnej

GUI VirtualBox wykorzystuje podejście kreatora, aby pomóc Ci stworzyć nową maszynę wirtualną, a interfejs jest dla nas całkiem sprytnym oprogramowaniem. Naciśnij Ctrl + N, aby utworzyć nową maszynę wirtualną, a następnie wprowadź nazwę, którą chcesz jej nadać (użyj czegoś sugestywnego, jak „Fedora15x86_64”. Na podstawie takiego nazewnictwa VirtualBox automatycznie określi, jaki system chcesz skonfigurować i dostosuje się automatycznie.

następnie wybierz ilość pamięci, którą ma mieć Fedora, a VirtualBox spróbuje zasugerować wartość w zależności od systemu operacyjnego i architektury. Zalecamy, abyś nie schodził znacznie niżej, ponieważ twoja maszyna wirtualna może się zawiesić z powodu problemów z pamięcią (nawiasem mówiąc, Anaconda odmówi rozpoczęcia instalacji w trybie graficznym z mniej niż 768 MB). Następnie utwórz dysk twardy i wprowadź jego rozmiar (rekomendacja związana z sugestiami dotyczy również tutaj), przydzielając go dynamicznie (nie jest to duży problem, jeśli nie, po prostu stwierdziliśmy, że ta metoda jest trochę szybsza pod względem We/Wy) i jesteś ustawiony. W głównym oknie VirtualBox zobaczysz nową maszynę wirtualną na liście i po prawej stronie, jej ustawienia. Zmień je według własnego uznania i uważaj, aby uruchomić komputer z DVD. Ponadto, jeśli masz wiele rdzeni i chcesz z nich korzystać, sekcja System jest miejscem, do którego możesz się udać.

uruchamianie maszyny wirtualnej

po instalacji zatrzymaj maszynę wirtualną i zmień kolejność rozruchu, aby można było uruchomić komputer z dysku twardego, a następnie uruchom, klikając prawym przyciskiem myszy wpis po lewej stronie i, oczywiście, „Start”. Jeśli wszystko jest w porządku, teraz uruchomisz Fedorę 15 w środowisku VirtualBox. Powiedzieliśmy wcześniej, że system operacyjny gościa na KVM i VBOX nie wymaga zmian. Chociaż mieliśmy rację, doświadczenie gościa można poprawić w VirtualBox dzięki funkcjom takim jak widok pełnoekranowy lub foldery udostępnione, instalując dodatki gościa VirtualBox. Jest to zasadniczo moduł jądra i niektóre sterowniki xorg dla gościa, które można zainstalować na nowej Fedorze, wykonując następujące kroki :

 # yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++ 

Uruchom ponownie maszynę wirtualną po instalacji, a następnie przejdź do menu urządzenia, wybierz „Install Guest Additions”, który zamontuje istniejące Dodatki gościnne obraz ISO na Gości (on /media), a jako root, po prostu zrób

 # cd /media/VBOXADD$version && sh ./VBoxLinuxAdditions.run 

następnie uruchom ponownie, a będziesz miał zaawansowane funkcje VirtualBox do twojej dyspozycji.

podsumowanie

jeśli chodzi o wybór rozwiązań wirtualizacyjnych, tak jak w przypadku edytorów, środowisk graficznych, a nawet systemów operacyjnych, każdy ma osobistą opinię opartą na doświadczeniu, lekturze i tym, czego używają ich znajomi. To jest nasze doświadczenie i zapraszamy do eksperymentowania i ulepszania, aż znajdziesz najlepszą ścieżkę do naśladowania. Istnieją oczywiście inne pakiety oprogramowania do wirtualizacji, ale ograniczona przestrzeń nie pozwoliłaby nam pisać o nich wszystkich. Są to najbardziej odpowiednie rozwiązania dla użytkownika domowego (czyli Open Source), ale to nie znaczy, że nie są one używane również na poziomie przedsiębiorstwa. Mamy tylko nadzieję, że to pomoże Ci zacząć.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.