it-swarm.com.de

Gibt es einen Grund, Linux NICHT ständig in einer VM) auszuführen?

Ich habe den größten Teil meiner täglichen Arbeit auf Arch Linux umgestellt und benötige Windows nur für Spiele und einige Apps, die nicht auf Linux portiert sind, wie OneNote. Meine Linux-Distribution wird in VirtualBox mit Windows als Host gehostet, und ich mag es sehr, Snapshots sind unglaublich nützlich.

Nehmen wir an, ich würde mich so gut wie nie um den Windows-Host kümmern und 95% der Zeit im Gast verbringen. Was würde ich verpassen?

Gibt es schwerwiegende Nachteile?

Ist die Leistung stark beeinträchtigt und wird die Installation direkt auf der Maschine mein Leben viel erstaunlicher machen?

215

Angenommen, Sie können alles zum Laufen bringen und möchten keine ressourcenintensiven Aufgaben wie das Spielen von Spielen oder das Erstellen großer Kompilierungen ausführen, dann wird es Ihnen gut gehen.

Es gibt einige grundlegende Probleme, auf die Sie wahrscheinlich stoßen werden:

  • gastzeit falsch
  • gastbildschirmgröße oder Farbtiefe falsch
  • kann nicht auf USB-Geräte (Drucker, Telefone usw.) zugreifen

Um dies zu beheben, sollten Sie VirtualBox-Gastzusätze installieren. Weitere Informationen finden Sie im VirtualBox Arch Linux-Gästehandbuch .

Um einige zusätzliche Funktionen wie USB 2.0- und Intel PXE-Unterstützung zu erhalten, können Sie auch das VirtualBox-Erweiterungspaket installieren.

Danach gibt es einige Probleme, die Sie kennen sollten:

Offensichtlich ist Ihr Linux VM betroffen, wenn auch Ihr Windows-System abstürzt. Probleme, die ich kürzlich hatte:

  • Windows Host stürzt aufgrund eines Treiberfehlers ab (blauer Bildschirm)
  • Windows Host wird aufgrund eines Sicherheitsupdates neu gestartet

Wenn Sie eine virtuelle Maschine ausführen der größte Leistungseinbruch betrifft Ihre Festplatten-E/A . Wenn möglich, legen Sie Ihre VM auf eine separate Festplatte und/oder verwenden Sie ein Solid-State-Laufwerk . Verwenden Sie eine virtuelles SATA-Laufwerk anstelle eines virtuellen IDE-Laufwerks kann ebenfalls helfen.

151
Mikel

Ich unterrichte eine praktische Klasse unter Linux, und leider darf ich die von der Klasse bereitgestellten Laptops gemäß den Unternehmensrichtlinien nicht neu formatieren. Daher verwenden wir den VirtualBox-Gastansatz.

Ich habe alle Leistungsprobleme ignoriert und hier einige Hinweise/Probleme, die mir aufgefallen sind:

1) Bridged-Modus und Wireless

Einige drahtlose Karten haben anscheinend Schwierigkeiten, "doppelte Identitäten" zu haben, was bedeutet, dass unsere Routing-/Firewall-/Netzwerkstunden zur Hölle gehen. Es ist ein bekanntes Problem - die meisten drahtlosen Treiber unterstützen kein Bridging.

bridge | The Linux Foundation - Es funktioniert nicht mit meiner Wireless-Karte!

Dies bedeutet, dass Sie, wenn Sie eine drahtlose Schnittstelle verwenden, zusätzliche Arbeit leisten müssen, damit der Gast eine "öffentliche" IP hat.

2) Desktop-Integration

Abgesehen von ein paar Wallbanger im Design sind die modernen Desktop-Umgebungen ziemlich gut durchdacht und bieten einige Annehmlichkeiten, die verloren gehen, wenn sie keinen vollständigen Zugriff auf die Eingabe/Ausgabe oder auf das Tool zum Anhängen/Entfernen von Geräten haben. Zum Beispiel wird das Vbox-Menü unten sehr ärgerlich, wenn Sie dort eine Fensterauswahl oder Benachrichtigungen haben. Einige Computer verwenden die Tastenkombination Strg + Alt + Cursor_Taste (Arbeitsbereiche wechseln), um die Anzeige umzudrehen.

Ich meine, vergleichen Sie, wie einfach es ist, ein USB-Gerät in GNOME zu trennen, mit der entsprechenden Anzahl von Untermenüs/Klicks in Windows, und ich weiß, welches ich jeden Tag bevorzugen würde.

3) USB "stehlen"

Manchmal möchte Windows ein USB-Laufwerk einfach nicht loslassen - es funktioniert nicht immer, wenn die Virtualbox angewiesen wird, es anzuschließen - höchstwahrscheinlich, wenn Windows den Inhalt aus irgendeinem Grund liest. Und dann gibt es einige USB-Laufwerke, die keine direkten Speichergeräte sind, sondern eine Moduswechsel-ähnliche Aktion ausführen, um Ihre Laufwerke zugänglich zu machen - diese sind ärgerlich, wenn sie an den Linux-Computer angeschlossen werden.

4) Stabilität

Es ist normalerweise einfacher, Windows als Linux zu "brechen", weshalb Linux normalerweise Windows-Instanzen "schützen" soll und nicht umgekehrt. Ich habe bereits ein paar Arbeitstage verloren, als die Mitarbeiter die falschen Dateien überschrieben und sowohl unsere Installation von Virtualbox als auch unsere Linux-Images unterbrochen haben.

5) Befehlszeilentools

Zumindest unter Linux haben Sie die Möglichkeit, mit qemu-nbd und dem Netzwerkblockgerät mit Vbox-Disk-Images herumzuspielen.

QEMU/Images - Wikibooks, offene Bücher für eine offene Welt - Mounten eines Bildes auf dem Host

Auf diese Weise können Sie den Inhalt der Gastbetriebssystemdiskette anzeigen und ändern, ohne sie starten zu müssen, z. B. wenn Sie sie nicht mehr bootfähig gemacht haben.

Sie können auch Skriptsicherungen von VDIs - oder nur deren Inhalt - erstellen oder VirtualBox- "Profile" über Symlinks ändern - viel einfacher bei Bash.

77
madumlao

Vergessen Sie nicht, dass a VM eine Emulation ist. Ihr Unix-System wird in einem VM als installiert) niemals so leistungsfähig sein. Archlinux ist auf Ihren Geschmack zugeschnitten Es handelt sich um eine Distribution, die Sie maximal anpassen können.
Früher habe ich es auf einer VM ausgeführt, obwohl ich darüber nachgedacht habe, es definitiv auf meinem Computer zu installieren. Jetzt startet mein System in ungefähr 15 Sekunden, meine Builds sind ein bisschen schneller und alles funktioniert besser.
Archlinux ist nicht so groß, Sie können es auf einer kleinen Partition installieren (stellen Sie einfach sicher, dass auf Ihrer Root-Partition genügend Speicherplatz für Ihre Programme vorhanden ist (ich musste meine Root-Partition neu formatieren, weil sie zu klein war)). Wenn Sie Windows nur zum Spielen verwenden, sollten Sie diese Option in Betracht ziehen =)

PS: Ja, wenn Sie direkt auf Ihrem Computer installieren, wird Ihr Leben erstaunlich. : P.

27
Depado

Es gibt drei Möglichkeiten, wie Sie die beiden Betriebssysteme einrichten können:

  1. Windows Host, Linux VM (wie Sie es haben).

  2. Linux Host, Windows VM.

  3. Dual Boot.

Wenn Sie Windows-Spiele ausführen möchten, würde ich nicht Option 2 empfehlen.

Wenn Sie regelmäßig ein Windows-Programm verwenden möchten (das unter Wine nicht gut läuft) während Ihrer Linux-Sitzung, funktioniert Option 3 für Sie nicht gut.

Wenn Sie Windows-Inhalte verwenden, die keine Spiele sind, so selten, dass ein Neustart keine große Aufgabe ist, ist Option 3 am effizientesten.

Die Frage ist also: Ärgert Sie Ihr aktuelles Setup? Oder ist es gut genug? Der alte wirkliche Nachteil, den ich mir vorstellen kann, ist die verlängerte Startzeit und die geringere Speicherverfügbarkeit.

Übrigens ist es möglich, ein Dual-Boot-System einzurichten, in dem Sie auch dieselbe Linux-Installation in einer VM in Windows, aber nicht umgekehrt (Linux erkennt Hardware beim Booten, aber Windows hat seine Treiber nach der Installation fest codiert).

Wenn Sie ein Dual-Boot-Setup vor dem Kauf ausprobieren möchten, probieren Sie das Ubuntu-Installationsprogramm "wubi" aus. (Ja, ich weiß, dass Sie ein Arch-Typ sind, aber Sie versuchen es nur, oder?) Wubi installiert die Festplatten als Image-Datei in Windows, genau wie eine VM, startet sie jedoch als Host-Betriebssystem. Es gibt keine Einmischung in Partitionen, und Sie können sie direkt über die Windows-Systemsteuerung deinstallieren, wenn Sie fertig sind. Der einzige Nachteil ist, dass die Festplatten-E/A-Leistung geringfügig reduziert ist.

24
ams

Wenn Sie diese Box hauptsächlich über SSH verwenden, besteht eine gute Chance, dass Sie sich in der Butterzone befinden, in der es wirklich nicht wichtig ist, ob es sich um eine VM oder um echte Hardware handelt. Viele der in anderen Antworten genannten Probleme treten auf, wenn Sie versuchen, das Gastbetriebssystem als GUI-Desktop zu verwenden. Linux-Server sind in VMs sehr zufrieden. Ein großer Teil des Webhosting-Marktes ist Linux in VMs.

Ich habe nur wenige Fälle erlebt, in denen ich gezwungen war, einen Linux-Server auf realer Hardware anstatt auf einer VM auszuführen:

Echter Hardware-Zugriff

Manchmal müssen Sie eine PCI-Karte verwenden, die das System VM nicht virtualisieren kann. Angenommen, ein 4-Kanal-MPEG-2-Decoder . Einige VM Systeme können der VM das ausschließliche Eigentum an der Karte übertragen, z. B. über Intels VT-d-Technologie , aber das ist nicht ohne Probleme:

  • Es gibt einen Geschwindigkeitstreffer. Es könnte wichtig sein.

  • Nicht alle VM Systeme können dies, und Sie haben möglicherweise nicht die Freiheit, zu einem zu wechseln, der dies kann.

  • Wie bei VMware ESXi 5 kann es zu unwesentlichen Konsequenzen kommen, wenn für das Erteilen eines VM Besitzes einer Karte ein Neustart des Hosts erforderlich ist und dann verhindert wird, dass Snapshots dieser VM erstellt werden. (Mit unwesentlich meine ich, dass diese Probleme gelöst werden könnten, es dauert nur Entwicklungszeit.)

Großer Speicher

Ihr VM System kann möglicherweise keine virtuelle Festplatte erstellen, die so groß ist, wie die bloße Hardware echte Festplatten zulässt. Für VMware ESXi 5 gilt beispielsweise eine Größenbeschränkung für virtuelle Volumes von 2 TB. Wenn Sie ein größeres einzelnes Volume in der VM benötigen, müssen Sie durch die Rahmen springen, um die Einschränkung zu umgehen:

  • Sie können einen RAID-Controller mit VT-d an VM weiterleiten, aber auch hier treten Probleme auf.

  • Sie können ein Passel von 2 TB virtuellen Volumes bis zum VM durchschieben und diese mit LVM , == aneinanderreihen. Aber Sie haben sich auch eine Menge Probleme gekauft.

    Wenn zum einen (!) Eine der physischen Festplatten ausfällt und Sie das Gastbetriebssystem auf nackter Hardware verwenden, können Sie dies mithilfe der mitgelieferten Verwaltungssoftware wie 3DM von 3Ware oder tw_cli Diagnostizieren und beheben. Software. Versuchen Sie jedoch, Versionen zu finden, die auf einem VMware ESXi 5.0-Host ausgeführt werden können! Jetzt müssen Sie neu starten, damit Sie die BIOS-Verwaltungsoberfläche verwenden können.

    Zum anderen hat die Abstraktionsschicht die virtuellen Volumes von den physischen Volumes getrennt, sodass die Software-RAID/LVM-Schicht im Gastbetriebssystem die Festplatten nicht effizient verwalten kann. Diese Ebene mag denken, dass es klug ist, auf Festplatten im Round-Robin-Verfahren zu schreiben, aber da sie wahrscheinlich einige der gleichen physischen Festplatten gemeinsam nutzen, wird die Leistung beeinträchtigt, da einige Festplatten aufeinanderfolgende Schreibvorgänge erhalten.

  • Sie können das Volume auf einem realen Hardwaresystem erstellen und über NFS in das VM exportieren. Dabei tritt jedoch auch ein Geschwindigkeitsverlust auf.

Möglicherweise können Sie einige der oben genannten Probleme mit Virtualisierungsvorteilen ausgleichen, z. B. die Möglichkeit, eine VM anzuhalten, auf einen anderen Host zu verschieben und nahtlos erneut zu starten.

18
Warren Young

Welche grafische Umgebung verwenden Sie unter Linux? Die meisten modernen Desktop-Umgebungen (GNOME, KDE, Unity) erfordern Hardware-3D-Beschleunigungsunterstützung, um ordnungsgemäß zu funktionieren. Die Unterstützung der Hardwarebeschleunigung für Grafiken in VMs ist derzeit eine relativ unausgereifte Technologie. VirtualBox hat experimentelle Unterstützung .

14
jmtd

Grundsätzlich funktioniert alles einwandfrei, vom Internet bis zur Installation von Paketen, auch zum Initialisieren der Hardware. Sie zahlen jedoch den Preis für jeden Ausfall des Windows-Computers.

11
WAEL

Ich verwende eine ähnliche Konfiguration und finde sie unglaublich nützlich, einfach weil ich meine Arbeit kopieren und verschieben kann. Linux VM zwischen Maschinen.

Ich habe nur zwei wesentliche Nachteile bei der Verwendung einer VM festgestellt.

  1. Wenn der Host eine drahtlose Netzwerkverbindung verwendet, ist ein VPN im Gast sehr unzuverlässig
  2. Multi-Monitor-Setups saugen im Allgemeinen eine VM an.

Punkt 2 kann mithilfe von VMWare und Unity effektiv überwunden werden. Unity ist eine VMWare-Funktion, mit der Anwendungen in Windows auf dem Desktop des Hosts ausgeführt werden (nicht zu verwechseln mit Ubuntu Unity).

8
Phyxx

Eine Sache, die Sie in Betracht ziehen sollten, ist sicherzustellen, dass Ihre Hardware mit der von Ihnen verwendeten Linux-Distribution getestet wurde. Ich stieß auf das Problem, dass eine von mir verwendete Distribution in einer VM einwandfrei lief, aber aufgrund einer Grafikkarte, die mit der Distribution nicht vollständig getestet wurde, von Haus aus schrecklich instabil war. Fedora verfügt beispielsweise über eine Liste der Hardware, die vollständig getestet wurde. Tatsache ist, dass keine Linux-Distribution mit modernster Hardware mit neuen, fehlerhaften Treibern 100% stabil sein wird. Ich habe versucht, das zu tun, was Sie getan haben, aber am Ende habe ich meine Linux-Partition gelöscht, nachdem mehrere Distributionen für mich nicht stabil genug waren. Meiner Meinung nach ist es absolut nicht erforderlich, Linux nativ auszuführen, es sei denn, Sie tun etwas, das eine Hardwarebeschleunigung erfordert.

8
ctilley79

Mein Stromverbrauch steigt drastisch an, wenn ich VirtualBox starte.

In meinem Fall führe ich Linux sowohl als Host als auch als Gast aus und weiß nicht, ob das Host-/Gastbetriebssystem einen Unterschied macht oder ob dies entweder VirtualBox oder der Virtualisierungstechnik eigen ist.

Mit powertop kann ich sehen, dass der Prozess "VBoxHeadless" häufig der größte Stromverbraucher meines Systems ist.

Wenn dies ein Desktop-System ist, ist dies für Sie vielleicht nicht wichtig, aber auf meinem Laptop möchte ich VirtualBox deaktivieren, wenn ich das Gastsystem nicht benötige.

7
user50849

Wenn Sie VMs nicht für spezielle Zwecke verwenden (z. B. VMs klonen müssen, zwischen Servern kopieren/verschieben müssen, mehrere verschiedene Testumgebungen haben müssen usw.), würde ich empfehlen, Linux als primäres Betriebssystem für 95% der Aktivitäten zu installieren Installieren Sie dann Windows als VM unter Linux für Ihre 5% ige Aktivität von Windows-Aktivitäten. (Es sei denn, Ihre 5% ige Windows-Aktivität ist extrem CPU-/speicherintensiv; wie bei Verwendung von Photoshop oder Videobearbeitung.) Wenn Sie ein Linux als primäres Betriebssystem haben, hat es vollen Zugriff auf Ihren gesamten Speicher und alle Ihre CPU-Kerne. Wenn es sich jedoch innerhalb eines VM befindet), können Sie nur einen kleinen Teil der Speicher-CPU zuweisen Kerne, im Allgemeinen kann höchstens die Hälfte der Ressourcen des Computers einer VM zugewiesen werden. Wenn Sie also einen Quad-Core-Computer mit 8 GB RAM haben, Ihrer VM jedoch nur 1 Kern und 2 GB zugewiesen haben, ist die Leistung im = VM für 95% der Sachen wird erheblich leiden.

Die Verwendung von VM wird langsamer sein. Für die meisten Dinge ist die Virtualisierung heutzutage sehr gut und der Unterschied wird nicht spürbar sein (abgesehen von dem merklichen Rückgang der verfügbaren CPUs/RAMs für die VM), jedoch wenn Sie benötigen eine ausgefallene Hardwarebeschleunigung (z. B. für Grafiken). Ihre VM wird möglicherweise nicht richtig auf Ihre Karte übersetzt, sodass Sie möglicherweise feststellen, dass das Video-/3D-Rendering innerhalb der VM erheblich leidet.

6
dr jimbob

Ich kann Ihnen sagen, dass meiner Erfahrung nach die entgegengesetzte Konfiguration besser ist. Ich meine Host mit Linux und der Gast mit Windows. Dies liegt an der Leistung und der Stabilität. In diesem Moment arbeite ich im Büro mit einem Host-Fenster und einem Gast-Linux (ich brauche beide), aber in meinem persönlichen Laptop habe ich Host mit Linux und Gast mit Windows. Und die Leistungen sind in meinem Laptop besser. Auch wenn mein persönlicher Laptop weniger Ressourcen hat.

Auf jeden Fall kann ich in Ihrer Konfiguration kein Problem (ohne Problemumgehung) feststellen. es ist nur eine Frage des Geschmacks.

5
PCJ

Ich führe Ubuntu in einer VirtualBox-VM aus und ich denke, das einzige Problem, auf das ich stoße, ist, dass der OpenGL-Beschleunigungsdurchgang zum Host sehr schwierig ist.

4
Alan B

Ich habe angefangen, das zu tun, was Sie tun, * nix in einer virtuellen Maschine. Dies ist großartig, um es zu versuchen, aber ich schlage vor, es herumzudrehen. Windows kann in einer VM überraschend gut ausgeführt werden. Wenn Sie hauptsächlich Linux verwenden, warum sollte das Host-System dann nicht Linux verwenden?

Vorteile:

  1. Mehr Kontrolle über Host-Probleme (dh Abstürze/automatische Neustarts unter Linux weniger wahrscheinlich)
  2. Linux verwendet im Leerlauf weniger Ressourcen als Windows (Ressourcen, die Sie stattdessen einer virtuellen Maschine zuweisen könnten)
  3. Virtualbox läuft meiner Meinung nach besser unter Linux. Ich habe es in beide Richtungen versucht.
  4. Einfach einzurichtende fantastische Geschwindigkeitssteigerungen für eine virtuelle Maschine unter Linux. Ich verwende Software-RAID auf 2 Consumer-Festplatten, um in 8 Sekunden einen Windows XP VM Boot in Firefox zu starten

Nachteile:

  1. Mögliche Treiberprobleme beim Ausführen von Linux als Host
  2. Unter Linux ist es möglicherweise schwierig, die 3D-Beschleunigung in Gang zu bringen
  3. Wenn Sie Windows zum Spielen verwenden, ist eine virtuelle Maschine möglicherweise nicht schnell genug
3
Earlz

Es gibt absolut keinen Grund, dies nicht zu tun, solange alles, was Sie auf dem Host und im Client tun möchten, so funktioniert, wie Sie es möchten.

Ich habe dieses Setup von Anfang 2000 bis Mitte 2003 auf meinem Sony PCG-Z505 mit VMware verwendet. Host: Windows 98 und Client SuSE Linux. Der Hauptgrund für dieses Setup war, dass ich den IMAP-Server unter Linux vom Host Outlook Express aus verwenden konnte, während ich mobil war (das hatte ich zuvor auf meinem Desktop Linux-Computer mit Win98 unter Linux). Der Linux-Client würde auch Spam-Filter usw. unter Linux durchführen. Ich könnte mich auch bei der Arbeit mit einem SSH in einer vertrauten Umgebung anmelden.

Der VM Host) schützte Linux gut vor Hardwareproblemen. IIRC gab es einige Probleme mit drahtlosen Verbindungen, aber die meiste Zeit war ich zu Hause oder im Büro über eine Kabelverbindung. Wenn nicht, hätte ich Outlook Express nimmt die E-Mails auf und überträgt sie auf den IMAP-Server. Dadurch wird die Spamfilterung vorübergehend unterbrochen, wenn Sie nur drahtlos arbeiten.

Ich konnte dies nicht umgekehrt ausführen (wie zuvor auf meinem Desktop), da ich normalerweise Linux ohne Grafik ausführte, da sonst die Dinge nicht in den Speicher passen würden. Mit Linux als Host hätte ich es auch die ganze Zeit im Grafikmodus ausführen müssen, wobei unter Windows 98 zu wenig Speicher übrig blieb, um Word ohne Austausch auszuführen.

2
Anthon

Ich benutze auch diese Konfiguration (Ubuntu-Gast unter Windows).

Profi:

  • Keine Änderung an den ursprünglichen Fenstern, die IT-Abteilung meines Unternehmens unterstützt alle Windows-Probleme/Abstürze.

Con:

  • Langsamer Start: Sie müssen Windows starten und dann die virtuelle Maschine starten.
  • Keine drahtlose Überbrückung.
1
Florian

Ich füge den bereits vorhandenen (und ausgezeichneten) Antworten einen Hinweis hinzu: Es ist auch möglich, Linux und Windows nebeneinander auszuführen.

Das Projekt Cooperative Linux zielt darauf ab:

Cooperative Linux ist die erste kostenlose und Open-Source-Methode, mit der Linux unter Microsoft Windows nativ optimal ausgeführt werden kann. Im Allgemeinen ist Cooperative Linux (kurz coLinux) ein Port des Linux-Kernels, mit dem es kooperativ zusammen mit einem anderen Betriebssystem auf einem einzelnen Computer ausgeführt werden kann.

und es gibt sogar Linux-Distributionen, die darauf laufen: TopologiLinux und andLinux .

Leider scheinen diese Projekte aufgegeben worden zu sein; Die neueste Version von coLinux ist 3 Jahre alt und die neueste Version beider Distributionen ist 8 Jahre alt.

1
dr01