wiki:AdminVirtualBox
close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 13 (modified by Rüdiger Kupper, 14 years ago) ( diff )

--

Windows in der Virtual Box

Ziel: Die Benutzer können von den LtspClients aus Virtualbox startetn, das ein Windows ausführt. Von dort können sie wie gewohnt auf Ihre Dateien und die Tauschverzeichnisse zugreifen.

Teilen des gleichen Snapshots

In unserem Setup werden viele Nutzer gleichzeitig auf die gleiche virtuelle Windows-Installation zugreifen.

Frage
Können sich mehrere Nutzer gleichzeitig das gleiche Windows-Image teilen?
Idee
Das kann wohl nur gehen, wenn nicht alle Nutzer gleichzeitig das selbe Image beschreiben können. Sie dürfen zwar gemeinsam lesen, müssen jedoch in verschiedene Dateien schreiben. Unsere Hoffnung ist, dass dies passiert, wenn man in VirtualBox einen "Snapshot" erstellt und den startet. Dann sollten alle Änderungen in ein Differenzplattenimage gehen.

Wahl des passenden Medientyps

In der VirtualBox-Konfig kann man anklicken, dass eine virtuelle Platte "unveränderlich" sein soll (Medieneigenschaften).

Kapitel 5.4 und 5.5 des ziemlich gut geschriebenen VirtualBox-Manuals enthalten die relevanten Informationen:

Demnach sind die Modi, die für uns in Frage kommen

  • "immutable"
  • "multi-attach mode"
  • oder eventuell auch "shareable".

(Ausprobieren!)

Medientyp: unveränderlich (immutable)

Ein wichtiger Hinweis steht da, wie man ein "immutable" Image richtig erstellt:

  1. Zuerst als "normales" Image installieren, bis alles in dem Zustand ist, in dem man es einfrieren möchte.
  2. Dann die virtuelle Maschine abschalten(!)
  3. Dann das Image als "immutable" kennzeichen

Danach sollte jeder Nutzer bei jedem Start der virtuellen Maschine wieder das eingefrorene Image erhalten, das Differenzabbild wird automatisch verworfen**

Das scheint doch genau das zu sein, was wir wollen, oder? Funktioniert aber nicht, wenn das Image von einer laufenden Maschine eingefroren wurde (siehe Manual).

Das bedeutet, dass die Nutzer dann auch gerne im Windows als Administrator angemeldet sein können, dann muss man im Windows nicht auch noch Rechteverwaltung machen.

Medientyp: multi-attach mode

Beim Medientyp "multi-attach mode" können mehrere VM konkurrierend auf ein Image zugreifen. Jede Maschine erhält ihr Differenzabbild (im Homeverzeichnis des Users). Das Differenzabbild überlebt zwischen verschiedenen Aufrufen.

Medientyp: shareable

Der Medientyp "shareable" erlaubt es mehreren laufenden virtuellen Maschinen gleichzeitig auf das gleiche Image zuzugreifen. Die Maschinen erhalten kein Differenzabbild, sondern greifen wirklich alle gleichzeitig auf die Datei zu, wie auf einem normalen Multiuser-Betriebssystem. (Kommt Windows damit klar?)

Anmeldung/Zugriff auf die home- und share-Verzeichnisse

Da VirtualBox auf dem LtspServer läuft, auf dem /home/... bereits gemountet ist, braucht innerhab des Windows

  • keine LDAP-Anmeldung zuerfolgen
  • keine Verzeichnisse gemountet zu werden

Das virtuelle Windows erbt all das vom Host.

VirtualBox als lokale Applikation

Möglicherweise muss VirtualBox als lokale Applikation auf den LtspClients laufen, um performant genug zu sein. (?)

Notizen RAL Linux 6.2.2013

Mitglied in der Gruppe vboxusers

Nutzer müssen in der Gruppe vboxusers sein, damit sie Virtualbox ausführen dürfen. Das lässt sich bequem über die /etc/security/group.conf machen, oder über den LDAP-Mechanismus, den wir für die Gruppe video verwenden.

Einrichten des Windows-Images

  • Das Windows-Image sollte so weit wie möglich abgespeckt werden.
  • Einziger Nutzer sollte root sein (?)
  • Ein Link auf H:\ sollte jeweils entsprechend umgebogen werden, ähnlich LtspWine

GuestAdditions für Windows

Für 3d-Beschleunigung nötig. Können nur im abgesicherten Modus installiert werden (beim Windows-Start F( drücken).

Umsetzung

Das ganze lässt sich umsetzen, wie bei unserem LtspWine.

  • die "immutable" Platte mit der Windows-Installation liegt auf dem Server und wird nie herumkompiert
  • das Differenzabbild des Nutzers liegt lokal und wird jedesmal vorher/nachher gelöscht
  • Die Konfigurationen in ~/.VirtualBox werden entweder über den Skeleton-Mechanismus verteilt, oder über rsync gesynct wie bei LtspWine. Jedenfalls müssen diese Dateien dem Nutzer gehören.

Alternative, die mir sinnvoller erscheint:

  • Das vdi-File liegt irgendwo lesbar
  • Die Nutzer bekommen per Skript die Virtuelle Maschine eingerichtet. Das geht mit dem vboxmanage-Befehl:
    vboxmanage createvm --name XP --ostype WindowsXP --register
    vboxmanage storagectl XP --name IDE --add ide --bootable on
    vboxmanage storageattach XP --storagectl IDE --medium /usr/share/virtualbox-vdi/XP.vdi --mtype immutable --port 0 --device 0 --type hdd
    vboxmanage sharedfolder add XP --name home --hostpath $HOME --automount
    
  • dabei sollte noch das Verzeichnis, in dem die VMs des Benutzers abgelegt werden, wo also das Differenzabbild liegt, nach /tmp oder so verschoben werden.
  • Parameter noch etwas tunen, dann sollte es das gewesen sein.
Note: See TracWiki for help on using the wiki.