[HOWTO] Virtuelle Maschine headless auf dem VDR starten [yaVDR 0.5.0]

  • Alle Themen betreffend Virtualisierung in diesem Forum drehen sich darum, den VDR in einer VM laufen zu lassen. Ich wollte aber "den anderen Weg", und auf dem VDR eine VM haben. Ausschlaggend dafür ist eine Client/Server-Anwendung für Windows, welche bei mir 24/7 laufen muss, und für die es kein Linux-Pendant gibt. Und da der VDR ja sowieso immer läuft, brauchen wir also eine virtuelle Maschine mit Windows auf dem VDR!


    Dass wir auf unseren VDRs oftmals keinen X Server und somit keine grafische Oberfläche haben (was das Einrichten einer VM zum Kinderspiel machen würde), hilft Anfängern wie mir nicht wirklich weiter.


    Was wir brauchen: einen VDR (hier getestet mit yaVDR 0.5.0) , und einen weiteren PC (mit Desktop)
    Ziel: Windows XP in einer virtuellen Maschine auf dem VDR laufen haben, zu der ausschließlich remote verbunden werden kann
    Hilfsmittel: Oracle VirtualBox (von VMWare würde ich abraten, da nach einer Installation und Deinstallation bei mir /etc/init.d/vdr verschwand :huh: )


    Zuerst benötigen wir eine fertig eingerichtete Windows XP-VM. Dazu installiert man sich VirtualBox (auf dem nicht-VDR), erstellt eine neue virtuelle Maschine, installiert in dieser das Windows XP und richtet es fertig ein. "Fertig" ist die VM, sobald man sicher ist, blind (headless) zu dieser connecten zu können. Am einfachsten erreicht man das per automatischer Anmeldung & z. B. UltraVNC oder Teamviewer.


    Über Datei -> Appliance exportieren... die VM in eine *.ova-Datei exportieren und auf den VDR kopieren.


    Auf dem VDR:

    apt-get install virtualbox
    apt-get install virtualbox-ose-dkms (ohne das kann keine VM headless gestartet werden)
    VBoxManage import /pfad/zur/vm.ova --dry-run (Überprüfen ob die VM importiert werden kann)
    VBoxManage import /pfad/zur/vm.ova (VM importieren)
    VBoxManage list vms (Name aller importierten VMs anzeigen, für die Alzheimer-Patienten)
    VBoxManage startvm NameDerVM -type headless (starten der VM)


    Das Starten der VM dürfte mit einer Fehlermeldung zur Netzwerkkarte quittiert werden. Das liegt daran, das die VM für ihre imaginäre Netzwerkkarte den Treiber des (ursprünglichen) Host-Systems laden möchte, und dieser ist höchst wahrscheinlich nicht auf dem VDR vorhanden.


    VBoxManage showvminfo NameDerVM (auslesen der Hardware-Konfig der VM, man beachte die Daten zur Netzwerkkarte unter "NIC 1")
    VBoxManage modifyvm NameDerVM --bridgeadapter1 eth0 (NIC 1 soll die Netzwerkkarte des neuen Hosts, also des VDRs benutzen)
    VBoxManage startvm NameDerVM -type headless (fertig!)


    Die VM sollte nun ohne Fehlermeldung starten, und per Remote-Desktop/VNC/etc. erreichbar sein. Wer schon immer mal ein kleines Windows-Progrämmchen auf seinem VDR haben wollte, zu welchem Zweck auch immer, viel Spaß. :tup


    VMs verschieben

    Für den Fall das die Root-Partition bei der Installation des VDR klein gehalten wurde, kann es sinnvoll sein, die VMs an einem anderen Ort aufzubewahren. Standardmässig werden diese nach dem Importieren der *.ova-Datei (die dann auch gelöscht werden kann) unter /root/Virtual VMs (wenn VirtualBox mit sudo su installiert wurde) bzw. unter /home/user/Virtual VMs gespeichert.


    mv "/root/Virtual VMs" /wo/eben/genug/Platz/ist (Storage der VMs verschieben)
    find / -name VirtualBox.xml (Konfigurationsdatei ausfindig machen)
    vi VirtualBox.xml -> MachineEntry, sowie defaultMachineFolder auf den neuen Pfad abändern!
    VBoxManage list vms (hat alles geklappt, sollten alle registrierten VMs wie gehabt aufgelistet werden)


    VM automatisch starten, bei Start des VDR


    vi /etc/rc.local
    VBoxManage startvm XPVM -type headless (vor dem "exit 0" einfügen)


    VM runterfahren, wenn VDR runterfährt


    vi /etc/vdr/shutdown-hooks/S90.custom
    VBoxManage controlvm NameDerVM acpipowerbutton (ToDo: sleep/pause einbauen damit die VM auch ein paar Sekunden Zeit hat, runterzufahren, aber wie?)

  • @Predator


    Es führen viele Wege nach Rom, Deiner führt z.B. über VirtualBox dort hin, schön, mal ein HowTo für VBox Headless.


    Aber nicht alle Diskussionen gehen davon aus des der VDR virtualisiert ist, hier: [Virtualisierung] use case: yaVDR64 0.5 goes Xen Hypervisor


    gehe ich davon aus das eben yaVDR64 0.5, also der Master of Desaster, der Hypervisor ist und für virtuelle Maschinen das bereits eingebaute Xen genutzt wird, kann, muss aber nicht ... ;)


    Frag mich ob Dein HowTo nicht eher im neuen Server Bereich unter dem Präfix [Virtualisierung] besser aufgehoben wäre.


    Regards
    fnu

    HowTo: APT pinning

  • Ich arbeite täglich mit dem XenCenter.


    Habe dein Thema überflogen, ist in deinem Fall nicht aber auch wieder der VDR virtualisiert? Nicht als würde das nicht gehen, aber die Skill-Hürde steigt damit schon wieder ungemein für jemanden der sich nicht jedes WE stundenlang mit Linux beschäftigt.


    Wie auch immer, bei meiner Variante geht es mir primär darum, nicht mit Kanonen auf Spatzen zu schiessen, sondern ganz basic auf einem "klassischen" VDR (wie ihn die meisten Leser haben dürften) die Möglichkeit zu haben, mal eben eine VM drauf laufen zu lassen, möglichst einfach und transparent.


    Wer mag, kann das Topic gerne verschieben.

  • Habe dein Thema überflogen, ist in deinem Fall nicht aber auch wieder der VDR virtualisiert?


    Ne, ich hatte damit angefangen, da nicht alle IOMMU/VT-d fähig Basis Hardware für die Virtualisierung von DVB Geräten haben zu überlegen, wie man es trotzdem auf die Rille kommt und das relativ wenig mit Citrix' XenCenter zu tun, wollte ich auch gar nicht, Xen ist schon nicht trivial, aber es ergaben sich andere recht flexible Ansätze und das ganze funktioniert auch auf HW die per CPU keine Virtualisierungs-Bit haben sollten ... Ich würde es im Server Bereich sehen, der Bereich wurde genau als Sammelbecken für derlei Diskussionen und Anleitungen geschaffen.


    Aber Back to Topic, ich find's gut das sich jemand mal dem Thema "Headless VirtualBox" in einem HowTo angenommen hat, weil es tatsächlich für den ein oder anderen Nutzer völlig ausreichen wird ... :tup


    Regards
    fnui

    HowTo: APT pinning

  • Hier noch ein paar Tips zu eventuellen Stolpersteinen:


    Code
    VBoxManage: error: Implementation of the USB 2.0 controller not found!
    VBoxManage: error: Because the USB 2.0 controller state is part of the saved VM state, the VM cannot be started. To fix this problem, 
    either install the 'Oracle VM VirtualBox Extension Pack' or disable USB 2.0 support in the VM settings (VERR_NOT_FOUND)
    VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Console, interface IConsole, callee


    Hier extension Pack runterladen: https://www.virtualbox.org/wiki/Downloads
    Dann zB:


    VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.24-82872.vbox-extpack


    ******


    Code
    VBoxManage: error: This VM was configured to use 3D acceleration. However, the 3D support of the host is not working properly and the VM cannot be started. To fix this problem, either fix the host 3D support (update the host graphics driver?) or disable 3D acceleration in the VM settings (VERR_NOT_AVAILABLE)


    Das habe ich kurzerhand in der xml-Datei der virtuellen Maschine abgeschaltet


    in /pfad/zur/vm/namedervm.vbox zB:


    Code
    -      <Display VRAMSize="64" monitorCount="1" accelerate3D="true" accelerate2DVideo="true"/>
    +      <Display VRAMSize="64" monitorCount="1" accelerate3D="false" accelerate2DVideo="true"/>


    ******


    Code
    VBoxManage: error: AMD-V is disabled in the BIOS. (VERR_SVM_DISABLED)
    VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Console, interface IConsole, callee


    Hier muss im BIOS die Virtualisierung eingeschaltet werden (in 'CPU features' oder ähnlich).



    Danke und hf.

    plugin-block: Download, Thread im Portal, Wiki
    plugin-sleeptimer: Download, Thread im Portal, Wiki
    VDR-Chat: Web-Chat, IRC
    [size=8]ASUS M2N-E, Athlon X2 4450B, 2GB DDR2, Technisat Skystar HD (TT-3200), Technisat Skystar HD2, Hauppauge WinTV Nova-T USB, GigaByte GT-630 - 4TB RAID5 + 6GB externes Journal @50 GB Crucial Adrenaline SSD DP-CT050M4SSC2 - BeQuiet SystemPower7 300W - wheezy/vdr2.0.1 - xbmc 13

  • was hierzu auch noch sehr interessant zu erwähnen ist , ist phpvirtualbox.




    habe im letzten jahr meinem kollegen ein kleines howto aus dem netz für sein yavdr angepasst.
    evtl ist es ja eine hilfe stellung und inspiration für user die es mal ausprobieren wollen.
    ist nicht ganz up to date, aber anpassbar


    Orginal post http://tech.brookins.info/2012…adless-server-ubuntu.html




    Start off by adding the Virtualbox repository to /etc/apt/sources.list
    echo "deb http://download.virtualbox.org/virtualbox/debian precise contrib non-free" | sudo tee -a /etc/apt/sources.list


    Add the Virtualbox repository key
    wget -q http://download.virtualbox.org…ox/debian/oracle_vbox.asc -- | sudo apt-key add oracle_vbox.asc


    Update Ubuntu
    sudo apt-get update && sudo apt-get -y upgrade


    Now we need to install Virtualbox, Apache2, PHP5, Unzip and OpenSSH server.
    sudo apt-get install virtualbox-4.2 apache2 php5 libapache2-mod-php5 unzip



    Change apache listen port



    sudo nano /etc/apache2/ports.conf



    NameVirtualHost *:81 (alt 80, da ist aber der webserver vom vdr drauf )


    Listen 81 (alt 80, da ist aber der webserver vom vdr drauf )



    Nano /etc/apache2/sites-available/default



    <VirtualHost *:8080> vorher 80



    sudo /etc/init.d/apache2 restart





    Apache2 is the web server that will run phpVirtualBox.
    PHP5 is the programming language that phpVirtualBox is written in.
    Unzip is to unzip phpVirtualBox after it has downloaded.
    OpenSSH server will allow you to manage the server from another workstation. Once this is installed the actual server does not need a monitor, or keyboard.


    Create /etc/default/virtualbox
    sudo nano /etc/default/virtualbox


    Add this one line to the file
    VBOXWEB_USER=[USERNAME]
    Press CTRL+O to write the file to disk
    Press Enter to confirm


    Add local user to vboxusers group
    sudo adduser [USERNAME] vboxusers …z.b UserXYZ wenn du hier ein andern nimmst must du ihn neu anlagen sudo adduser


    Now we are ready to download phpvirtualbox.



    wget https://phpvirtualbox.googleco…s/phpvirtualbox-4.2-4.zip



    Unzip phpvirtualbox



    unzip phpvirtualbox-4.2-4.zip



    Create the phpvirtualbox directory
    sudo mkdir /var/www/phpvirtualbox





    Copy the phpvirtualbox files to the folder /var/www/phpvirtualbox. This directory is the default set in Apache2. You can change this in the Apache2 configuration file if you need to, but that is outside of the scope of this. Use the Apache documentation for help - http://httpd.apache.org/.



    sudo cp -R phpvirtualbox-4.2-4/* /var/www/phpvirtualbox





    Prepare the phpvirtualbox config file
    sudo cp /var/www/phpvirtualbox/config.php-example /var/www/phpvirtualbox/config.php




    Edit config.php
    sudo nano /var/www/phpvirtualbox/config.php


    Update the $username and $password variable to match your local user
    var $username = '' z.b userXYZ oder den du angelegt hast
    var $password = '' das user passwort



    You can now start the Virtualbox web service
    sudo /etc/init.d/vboxweb-service start




    Download VirtualBox Extension Pack. This package installs what you need to do remote desktop into the virtual machines.



    wget http://download.virtualbox.org…-4.2.6-82870.vbox-extpack



    Install VirtualBox Extension Pack


    sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.6-82870.vbox-extpack




    Restart the server
    sudo shutdown -r now



    That will create a functional headless server running Virtualbox and phpVirtualbox. Once the server has finished restarting navigate to


    http://[HOSTNAME-or-IP_ADDRESS]:81/phpvirtualbox


    EDIT (thanks to Richard in the comments from the original post): Here you will need to use the username admin with the password admin to access the web interface. Once you are logged in you can change the admin password using File > Change Password or create new users under File > Preferences > Users.

    Banana PI MLD server

    Banana PI Satip Server


    ESXI MLD 5.x




    Raspberry mit Kodi als Frontend , mit waf

  • Was gibt es denn für Möglichkeiten direkt von yaVDR aus auf eine Windows-VM zuzugreifen (also nicht mittels eines anderen PC's mit RDP oder VNC)? Da der X-Server fehlt kann ich ja Virtualbox nicht grafisch benutzen. Oder gibt es einen Trick, dass man so wie der Firefox auch funktioniert, genauso Virtualbox aufgerufen werden kann?

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

  • atgis


    Das yaVDR Frontend ist ja nun ein X-Server, also könntest Du theoretisch von dort aus auch einen VNC bzw. RDP Client starten/nutzen. Den könnte man wie den Firefox vmtl. auch im Launcher hinterlegen.


    Oder man startet die die Maschine nicht Headless, sondern minimized und hinterlegt den entsprechenden Desktop-Link im Launcher ...


    Regards
    fnu

    HowTo: APT pinning

  • Hab was anderes gefunden, da ich sonst auch mit VMWare Workstation arbeite...ist diese Lösung für mich interessanter :) -> http://wiki.ubuntuusers.de/VMware_Player
    Den kann ich einfach via Konsole aufrufen und hab meine GUI. Geht das eventuell auch bei VBox?

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

  • Wenn du VMware benutz warum dann nicht auch das?


    VMware WSX


    Ist im Grunde das gleiche wie phpvirtualbox nur eben für VMware, mit dem Unterschied das du selber entscheiden kannst welche VMs du dafür freigeben willst.



    MegaX

    Gruß MegaX



  • Danke! Kenn ich ;) aber etwas oversized...so gehts auch siehe Anhang... :) (Vorerst noch zum Test in der VM Workstation)

    Bilder

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

  • Also die Uhr in Windoof 8 wär mir eindeutig zu klein :P :D


    Kann man ja kaum erkennen :mua :mua



    MegaX

    Gruß MegaX


  • Geht das eventuell auch bei VBox?


    Du willst die Maschine also nach Bedarf starten, wie das der VMWare-Player auch macht? Das geht natürlich auch mit VirtualBox, ist eigentlich auch das Normalverhalten, weil gemeinhin auf einem Desktop verwendet. Der Headless Modus ist hier eher die Besonderheit, für "verkappten" Server-Betrieb, da eigenen sich IMHO auch KVM oder Xen besser für ...


    Bei VirtualBox ist das Management-GUI vom GUI der virtuellen Maschine getrennt, nicht integriert wie bei VMWare-Player, Workstation oder früher auch Server. Im Management-GUI von VirtualBox definiert man die Maschine und installiert diese, danach legt man sich aus diesem ein Desktop-Link für die einzelnen Maschinen an (VBox GUI, rechte Maustaste auf die Maschine), die man dann per Doppleklick direkt startet, ohne Umweg über das Management-GUI startet.


    Regards
    fnu

    HowTo: APT pinning

  • Es gibt auch einen Webserver für Virtualbox. Nennt sich phpvirtualbox.Damit kann man auch Maschinen installieren, starten, verwalten und stoppen. Eigentlich alles was man in der normalen GUI auch machen kann. Hatte ich hier mal unter yavdr 0.3 erfolgreich laufen. Ich musste einen Apache nachinstallieren und den Port 80 halt auf 81 ändern.


    Gruß Jan

    1:Dell PoweEdge T20; Xeon E3-1225 v3; 32GB RAM; Proxmox 5.4; MLD 5.4 als VDR-Server; 2 x Cine S2;
    2:Intel NUC i3 Passiv; 4GB RAM; 120GB SSD; easyvdr 3.5 als client; Harmony Hub

    2:Intel NUC i5 Passiv; 4GB RAM; 120GB SSD; easyvdr 3.5 als client; Harmony Hub
    3:Raspberry Pi 3B; MLD

  • Wem es interessiert kann sich VMware, Virtualbox etc auch als eigenen Launcher-Eintrag zum Aufruf der GUI anlegen:

    # Menüeintrag in menuorg.xml anlegen

    Code
    sudo nano /var/lib/vdr/plugins/menuorg.xml


    Code
    <menu name="VMware">
    <command name="VMware" execute="/usr/share/vdr/menuorg-appswitcher standalone=yes app=vmplayer &amp;> /dev/null " />
    </menu>


    # oder nur das Kommando in einen Bestehenden Eintrag einfügen

    Code
    <command name="VMware" execute="/usr/share/vdr/menuorg-appswitcher standalone=yes app=vmplayer &amp;> /dev/null " />


    # Launcher Eintrag erzeugen (Bsp. Menüpunkt Spiele)

    Code
    sudo nano /etc/wmdrawer/games


    # als Letzte Zeile einfügen

    Code
    (VMPLAYER)      (vmplayer_icon.png)  (/usr/share/vdr/menuorg-appswitcher standalone=yes app=vmplayer)


    # init Skript zum starten anlegen

    Code
    sudo nano /etc/init/vmplayer.conf


    # Einfügen:


    # Bildchen ablegen

    Code
    /usr/share/yavdr/images/vmplayer_icon.png

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!