Welche Distribution für kleine Hyper-V VMs?

RockNLol

Lieutenant
Registriert
Aug. 2008
Beiträge
814
hi!
Ich habe einen Windows-Server mit Hyper-V laufen und habe viele Serveranwendungen, die nur auf Linux laufen in VMs verschoben. Dazu nutze ich derzeit Debian 9 und 10, allerdings braucht Debian recht viel Speicherplatz und RAM. Neuinstallation ohne GUI hat gleich mal 10GB 5GB und braucht mindestens 700MB RAM.

Das geht doch bestimmt sparsamer, oder? Welche Distribution würdet ihr da nehmen? GUI brauch ich keine, nur SSH, nano und eine Paketverwaltung wie apt.

LG RockNLol
 
Zuletzt bearbeitet:
hm Debian ohne gui installieren mit ueber 10gb verbrauch?! Welche pakete packst du da alle rein? 500MB sollten fuer ein minimales system reichen..
mach mal bitte dpkg -l
Installier sonst mal debian vom netinst image
 
Ich muss mich korrigieren, 5GB, nicht 10.
Ich hake im Installer nur SSH an, sonst nix. Dann kommen halt noch Anwendungen für die der Server gedacht war drauf, so wie haproxy oder nextcloud (dass nextcloud mehr platz braucht ist mir natürlich klar). Das netinst image verwende ich eh.
 
Das kommt mir sehr groß vor für eine Debian Server version ohne GUI. Ich verwende eine Reihe von Docker Images die auf Debian basieren, und die gehen runter bis ~250MB. Und selbst die größeren mit normaler Grundausstattung an Paketen sind eher ~500-600MB. Keine Ahnung mit welchen Installationsoptionen diese Images erstellt werden, aber das sind so etwa Zahlen die mit Debian erreichbar sein sollten.

Alpine Linux ist die typische Wahl wenn man extrem auf Größe optimiert, aber das kommt mit einigen sehr großen Haken. Es benutzt eine andere libc, das kann Probleme verursachen die man als normaler Nutzer nicht beheben kann. Ich persönlich würde da die Finger von lassen außer es ist wirklich wichtig die Größe zu minimieren und ich habe jede Menge Zeit.
 
Gibt es die Anwendungen nicht als Docker?
 
RockNLol schrieb:
Neuinstallation ohne GUI hat gleich mal 10GB 5GB und braucht mindestens 700MB RAM
Hab eben mal selber testweise eine VM aufgesetzt und per netinst installiert und dabei nur "SSH-Server" & "Standard-Systemwerkzeuge" (halt die beiden untersten Haken) ausgewählt. Damit braucht bei mir eine frische Installation auf 1,1 GB Platz und belegt 80MB Arbeitsspeicher.

RockNLol schrieb:
Dann kommen halt noch Anwendungen für die der Server gedacht war drauf, so wie haproxy oder nextcloud
Hast du die beiden direkt auf dem Windows-Server installiert oder in jeder Debian-VM? Wenn letzteres der Fall ist, ist es auch nicht weiter verwunderlich, wenn die VMs so viel Platz brauchen.
 
Ok, irgendwas mache ich dann falsch.
Zwei Beispiel-VMs:
openHAB auf Debian 10, installiert mit Standard-Systemwerkzeuge und SSH. VHDX ist 5,5GB groß.
haproxy auf Debian 9, ebenfalls installiert mit Standard-Systemwerkzeuge und SSH, VHDX ist 7GB groß.

Vielleicht ein Problem mit den virtuellen Festplatten und gar nicht mit Linux selbst.
 
Gibst Du feste HDD-Größen an oder dynamische?
Ebenfalls grad frisch eine VM aufgesetzt - VM-Speicherplatz 1,2 GByte

Update: XFCE mal nachinstalliert - mit gestarteter GUI 240 MB-RAM.
 
Zuletzt bearbeitet:
Gibt noch andere Formen der Virtualisierung. z.B. LXC

Wenn es richtig klein werden soll TinyCore und ähnliches.
 
Wenn es möglichst klein sein soll kannst du dir mal Alpine Linux anschauen.
 
  • Gefällt mir
Reaktionen: tony_mont4n4 und RockNLol
Dann lass die "Standard Systemwerkzeuge" bei der Installation weg, einen Großteil der Pakete wirst vermutlich nie benötigen..
Ansonsten die VHDX dynamisch definieren wobei wichtig ist: Die wachsen nur, schrumpfen passiert nie von alleine, das musst du schon selbst anstoßen und machen oder wechselst von eine VM pro Dienst/Aufgabe zu Docker...
 
Das OS ist Windows Server 2016, da läuft Docker nicht richtig. Deswegen mache ich ja diese frickelei mit den ganzen VMs.
Ach die schrumpfen nicht von alleine? Bei den Windows VMs funktioniert das automatisch, vielleicht liegts ja daran, dass die alle so groß sind.
 
Eine VM in der installierst Docker und betreibst da die Container. Oder tauscht das Host-OS aus durch ein entsprechendes Linux. Windows-Gäste dann per Qemu/KVM, Linux-Gäste per Container, LXC oder VM.

Ja, Windows schrumpft von alleine aber auch nur unter HyperV da Windows ansonsten ziemlich beschränkt ist und auch 2020 den Blick über den Tellerrand nicht beherrscht. Aber em Ende hat jedes OS und Hypervisor seine Wehwehchen^^
Fürs schrumpfen muss zuerst zusammenhängender Platz im Dateisystem des Gastes gefunden und "genullt" werden und danach kannst auf dem Host die vmdk schrumpfen lassen. Gilt für so ziemlich jeden Hypervisor, bei vSphere wäre das in etwa so:
https://community.hitachivantara.co...om-thin-provisioned-vmdk-files-in-esxi-server oder https://www.virten.net/2014/11/howto-shrink-a-thin-provisioned-virtual-disk-vmdk/

Keine Ahnung ob das noch aktuell ung gültig ist: https://saputra.org/threads/how-to-compact-a-linux-vhdx.100/
Lässt sich vermutlich irgendwie automatisieren.
 
Wie wär's andersrum - als Host Proxmox, die Linuxe soweit möglich als LXC-Container laufen lassen u. den Windows-Server in eine VM?
 
Das Host-OS tauschen wird zwar ziemlich sicher passieren, aber erst, wenn die aktuelle Hardware getauscht wird. Das wird hoffentlich noch einige Jahre dauern. Da stecken einfach schon zu viele Stunden Freizeit in der Konfiguration drin um das alles über den Haufen zu werfen.
Docker in einer Linux-VM? Funktioniert das? Das würde einiges an Ressourcen sparen.
 
RockNLol schrieb:
Docker in einer Linux-VM? Funktioniert das? Das würde einiges an Ressourcen sparen.
Das geht ohne Probleme, Docker for Windows macht das im Grunde auch so. Die VM bekommt dann ein paar mehr Ressourcen und kann mehrere Docker-Container hosten. Entweder offizielle Docker-Images verwenden, oder die Anwendungen in Docker-Images umziehen. Wird ein externes Netzwerk in Hyper-V für die VM konfiguriert, lässt sich die VM und die Docker-Images analog zu einer Bare-Metal-Installation mit Docker verwenden.

Hat bei mir unter WIndows 10 Pro ohne besondere Konfiguration funktioniert.
 
RockNLol schrieb:
Docker in einer Linux-VM?
Warum sollte dies nicht funktionieren? Jeder vServer bei irgendwelchen Hostern ist idR eine VM, ebenso fast jede EC2 Instanz bei AWS ist eine VM, gleiches gilt für die anderen Anbieter und die halbe Welt betreibt dadrin Docker oder Kubernetes^^ Um es kurz zu machen: Ja das funktioniert, im Host müssen lediglich alle relevanten Virtualisierungseinstellungen der Hardware aktiv sein. Dann kannst auch so Schweinereien wie eine kaskadierte Virtualisierung betreiben.
Beim letzten Arbeitgeber war unsere VMware Testumgebung einfach ein paar VMs auf denen ESXi installiert war und die liefen u.a. auf einem der produktiven ESXi-Cluster, also ESXi innerhalb von ESXi und da drin 2-3 Test-VMs.
Vermutlich kannst auch Blech > HyperV > ESXi > XEN > KVM/Qemu > bhyve > beliebiges Linux > Virtualbox > beliebiges Linux > Docker kaskadieren wird halt nur ab der dritten Ebene unendlich lahm :D
 
  • Gefällt mir
Reaktionen: Jolagmer
Zurück
Oben