vbox in vbox?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

vbox in vbox?

Beitrag von letzter3 » 18.03.2017 23:51:58

Hallo zusammen.
Ich will auf einem realen Debian ein VBox erstellen, in der ein abgeschottetes Debian läuft.
Um damit zu üben, wollte ich mir auf einem anderen PC ein mit VBox virtualisiertes Debian nutzen, um in diesem eine headless VBox zu bauen.
Macht das Sinn?
Gibt es neben den Hardware-Einschränkungen (z.B. jede VBox reserviert sich RAM) weitere Besonderheiten, die ich beachten muss?

DeletedUserReAsG

Re: vbox in vbox?

Beitrag von DeletedUserReAsG » 19.03.2017 07:25:08

Macht das Sinn?
Zum Üben und Testen immer.

Ob’s funktioniert, dazu kann ich nix weiter sagen – aber ich wäre interessiert an den Ergebnissen, wenn du’s probierst. Wenn es dir eher darum geht, verschiedene Sachen voneinander abgeschottet laufen zu lassen, könntest du dir auch die Containersachen á la nspawn anschauen. Das lässt sich auf jeden Fall auch innerhalb einer VM realisieren, und der Overhead sollte merkbar geringer sein.

owl102

Re: vbox in vbox?

Beitrag von owl102 » 19.03.2017 10:18:31

letzter3 hat geschrieben:Gibt es neben den Hardware-Einschränkungen (z.B. jede VBox reserviert sich RAM) weitere Besonderheiten, die ich beachten muss?
Ja, du mußt KVM statt VirtualBox nutzen. Denn KVM unterstützt (im Gegensatz zu VirtualBox [1]) "nested virtualisation".

Allerdings müssen hierfür gewisse Hard- und Softwarevoraussetzungen erfüllt sein. Was sagt

Code: Alles auswählen

cat /sys/module/kvm_intel/parameters/nested
auf dem Host-System? Was sagt

Code: Alles auswählen

virt-host-validate
in der VM?

[1] https://www.virtualbox.org/ticket/4032

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: vbox in vbox?

Beitrag von letzter3 » 19.03.2017 11:21:06

Code: Alles auswählen

[root@wuerfel ~]# cat /sys/module/kvm_intel/parameters/nested
N
[root@wuerfel ~]# 

Code: Alles auswählen

root@debian:~# virt-host-validate
-su: virt-host-validate: Kommando nicht gefunden.
Wobei das nicht die Ausgaben auf dem künftigen Rechner sind, sondern von meinem Übungs-PC. Insofern also wohl nicht wirklich aussagekräftig.
Habe mich mit KVM noch nie beschäftigt, aber nach einem kurzen Überfliegen des Wikipedia-Eintrages sollte die Hardware eigentlich mitspielen.
Warum sie das nach obigen Ausgaben anscheinend nicht tut, erschliesst sich mir nicht.

Hast du eine gute Seite zu KVM?

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: vbox in vbox?

Beitrag von letzter3 » 19.03.2017 11:24:49

Wie ist in dem Zusammenhang dies zu verstehen?
gallery/image_page.php?album_id=1&image_id=527

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: vbox in vbox?

Beitrag von letzter3 » 19.03.2017 11:28:20

owl102 hat geschrieben: Ja, du mußt KVM statt VirtualBox nutzen. Denn KVM unterstützt (im Gegensatz zu VirtualBox [1]) "nested virtualisation".
...
[1] https://www.virtualbox.org/ticket/4032
Nach Lesen des Bugreportes -> Das beziegt sich "nur" auf nested virtualisation innerhalb einer VBox/VBox, oder?
Für mein reales Vorhaben ist das uninteressant, da hier ja nur 1 VBox läuft.
Für meine Tests kann ich auf nested virtualisation verzichten, korrekt?

owl102

Re: vbox in vbox?

Beitrag von owl102 » 19.03.2017 13:39:52

letzter3 hat geschrieben:

Code: Alles auswählen

[root@wuerfel ~]# cat /sys/module/kvm_intel/parameters/nested
N
[root@wuerfel ~]# 
Dann versuche, deinem System beim Booten den Kernel-Parameter "kvm-intel.nested=1" zu übergeben. Ist das Ergebnis anschließend immer noch "N" (und nicht "Y"), dann unterstützt dein Prozessor keine "nested virtualisation".

Code: Alles auswählen

root@debian:~# virt-host-validate
-su: virt-host-validate: Kommando nicht gefunden.
Wenn bei sowas die Eigeninitiative des Fragestellers schon endet, endet auch meine Hilfsbereitschaft.
Für mein reales Vorhaben ist das uninteressant, da hier ja nur 1 VBox läuft.
Für meine Tests kann ich auf nested virtualisation verzichten, korrekt?
Dann habe ich deine Problemstellung nicht verstanden. Ich hatte sie so verstanden (und "niemand" wohl auch, wenn ich ihn richtig verstanden habe), als ob du eine VM innerhalb einer VM haben wollest, was man "nested virtualisation" nennt.

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: vbox in vbox?

Beitrag von letzter3 » 19.03.2017 15:17:32

owl102 hat geschrieben: Dann habe ich deine Problemstellung nicht verstanden. Ich hatte sie so verstanden (und "niemand" wohl auch, wenn ich ihn richtig verstanden habe), als ob du eine VM innerhalb einer VM haben wollest, was man "nested virtualisation" nennt.
Nein, hast du schon richtig verstanden.
Ich will zum Testen auf einem PC innerhalb einer VBox eine weitere VBox installieren.
Ich habe dann deinen ersten Beitrag so verstanden, dass mittels nested virtualisation die sicherheitstechnische Trennung der beiden VMs gemeint ist.

Code: Alles auswählen

root@debian:~# virt-host-validate
  QEMU: Checking for hardware virtualization                                 : WARN (Only emulated CPUs are available, performance will be significantly limited)
  QEMU: Checking for device /dev/vhost-net                                   : PASS
  QEMU: Checking for device /dev/net/tun                                     : PASS
   LXC: Checking for Linux >= 2.6.26                                         : PASS
root@debian:~# 

Code: Alles auswählen

[root@wuerfel ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 30
model name      : Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz
stepping        : 5
microcode       : 0x7
cpu MHz         : 2934.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl [color=#FF0000][b]vmx[/b][/color] smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dtherm tpr_shadow vnmi flexpriority ept vpid
bugs            :
bogomips        : 5852.08
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
Hiernach sollte die CPU das können.

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dtherm tpr_shadow vnmi flexpriority ept vpid

und mein nächster Schritt wäre die boot-option?
Zumindest in VBox selber ist die Einstellung VT-x/AMD-V aktiviert.

owl102

Re: vbox in vbox?

Beitrag von owl102 » 20.03.2017 10:38:13

letzter3 hat geschrieben:

Code: Alles auswählen

root@debian:~# virt-host-validate
  QEMU: Checking for hardware virtualization                                 : WARN (Only emulated CPUs are available, performance will be significantly limited)
Da muß ebenfalls "PASS" rauskommen.

Aber erst einmal muß die erste Voraussetzung geschaffen werden, sowohl der Prozessor als auch der Kernel muß "nested virtualisation" unterstützen. Dein Prozessor tut es wohl, also:
und mein nächster Schritt wäre die boot-option?
Ja, genau. Bei Fedora 25 ist der Kernel-Schalter kvm-intel.nested per default aus (also 0), eine kurze Recherche meinerseits hat ergeben, daß dies beim Debian 8-Kernel wohl auch so ist. (Ich habe Debian nur auf ARM und in VMs hier, kann es selber also nicht ausprobieren.)
Zumindest in VBox selber ist die Einstellung VT-x/AMD-V aktiviert.
Ansonsten würde die VM ja auch vor sich hinkriechen. Und 64-Bit-Gäste gehen bei VirtualBox ebenfalls nicht ohne Hardwarevirtualisierung.

Dabei fällt mir ein: Vielleicht geht es ja doch mit VirtualBox, mit Binary Code Translation innerhalb der geschachtelten VM, also nur mit 32-Bit-Gast im Schneckentempo. Aber wird man damit glücklich? Für den Produktivbetrieb wäre es auf jeden Fall gänzlich ungeeignet, aber es soll ja nur ein Test sein.

Für mich stellt sich allerdings die Frage, ob bei einer Headless-VM nicht sowieso grundsätzlich KVM die bessere Wahl ist, egal ob "nested" oder nicht.

Antworten