XEN-Aktivitäten bündeln

  • Hi@all,


    anscheinend gibt es ja doch mehr als nur eine Handvoll Interessenten die mittels XEN VDR und andere Anwendugnen (IPCOP, APACHE,...) auf einen Rechner packen wollen. Über Sinn will ich jetzt nicht mit den Zweiflern diskutieren, aber sollten wir nicht alle mit Interesse an dem Thema die Aktivitäten etwas bündeln und koordinieren (bervor jeder rumwurschtelt und dann nach halber Strecke aufgibt)


    Frage/Vorschlag:


    [list=1]
    [*]Wer hat Interesse an dem Thema und kann sich aktiv beteiligen?
    [*]Macht es Sinn ein extra Forum "VDR und Virtualisierung" aufzumachen?
    [*]Im ersten Schritt sollte man sich ersteinmal eine Virtualisierungsmöglichkeit ansehen, ich schlage hier XEN vor (anstelle von VMWare o.ä.)
    [*]Wer hat bereits mit einem laufenden VDR unter XEN Erfahrungen?
    [*]Gibt es ein erstes gemeinsames Minimalsetup für den VDR unter XEN, auf dem weitere Themen (Plugins...) aufgebaut werden können?
    [*]Welche Pläne gibt es für die weiteren Virtuellen Server, also Apache, NFS, NIS, Mail, IPCOP (....) und wer hat dabei schon etwas gemacht?
    [/list=1]

    VDR 1.4.6 Duron 1300 - 736 MB Ram - 4*160GB Samsung SP1604N - 2*160GB WD - 1*400GB Samsung - 1*500GB WD - 1*Nexus Rev.2.1 - 1*NovaSE

    Einmal editiert, zuletzt von oli33 ()


  • *Handheb*


    Zitat

    [list=1][*]Macht es Sinn ein extra Forum "VDR und Virtualisierung" aufzumachen?
    [*]Im ersten Schritt sollte man sich ersteinmal eine Virtualisierungsmöglichkeit ansehen, ich schlage hier XEN vor (anstelle von VMWare o.ä.)[/list=1]


    Macht Sinn, da VMWare doch fast wieder eine grafische Oberfläche braucht und ich auf meinem Server das gar nicht haben will.


    Zitat

    [list=1][*]Wer hat bereits mit einem laufenden VDR unter XEN Erfahrungen?
    [*]Gibt es ein erstes gemeinsames Minimalsetup für den VDR unter XEN, auf dem weitere Themen (Plugins...) aufgebaut werden können?[/list=1]


    Ich hab mal ein LinVDR in einem Filesystemimage in XEN gestartet, hab da aber noch nicht mit den PCI Devices weitergemacht, dazu fehlte mir in der Letzten Zeit die Ruhe, am Wochenende dann wieder... Aber LinVDR ist ordentlich gestartet soweit ich das schon beurteilen kann.


    Zitat

    [list=1][*]Welche Pläne gibt es für die weiteren Virtuellen Server, also Apache, NFS, NIS, Mail, IPCOP (....) und wer hat dabei schon etwas gemacht?
    [/list=1]


    Ich wollte meinen Server folgendermaßen aufteilen:
    XEN Root: XEN, DHCP Server
    XEN VDR: Den VDR (mit einer eigenen Platte für die Video-Partition)
    XEN Apache: Einen Apache mit meinem Web, evtl. mit MySQL
    XEN Serverinstall: Bind, MySQL,
    XEN Test: Eine Testinstallation zum spielen
    XEN VDRTEST: Eine VDR Testinstallation zum spielen/Entwickeln


    Ram/Plattenplatz hab ich reichlich, das sollte also alles so laufen. Die Installationen werden auf LVM-Partitionen gemacht, ein Umzug auf ne andere Platte und auch ein Vergrößern ist somit möglich.


    cu
    Mar(Mahlzeit)kus

  • ich würde mich auch beim testen beteiligen, allerdings kann ich keinen vdr draufloslassen, da ich das am laptop mangels interner dvb karten ned testen kann.. sonst bin ich aber gewillt dabei zu helfen !


    gruß,
    infinite

    kuifje
    asus m2n-vm | Athlon 5600 | Nvidia 9300GE | TT S2-3200
    yaVDR 0.4 | 1.7.21
    haddock
    asus p4pe | 2ghz | 3x DVB-S Budget | 2x500gb
    debian lenny 2.6.29.3 | e-tobi 1.7.0 | streamdev cvs | live


    <30.12.07 <igel>sid fuer den gewissen kick>
    <01.04.08 <igel>ich kann eh nix ausser debian pakete installiern>
    <15.12.09 igel hasst linux>
    <23.02.10 <igel> easyvdr is nur easy wenn es easy is>

  • Zitat

    Original von mahlzeit


      Ich hab mal ein LinVDR in einem Filesystemimage in XEN gestartet, hab da aber noch nicht mit den PCI Devices weitergemacht, dazu fehlte mir in der Letzten Zeit die Ruhe, am Wochenende dann wieder... Aber LinVDR ist ordentlich gestartet soweit ich das schon beurteilen kann.


    • So, ich habe gestern Nacht mal ein bisserl rumgespielt. Ergebnis: LinVDR läuft als XEN-Instanz und findet auch die der Instanz zugeordneten DVB-Karten. Empfang habe ich hier im Büro noch keinen, da muss ich erst ne Leitung legen.


      So bin ich zur Installation vorgegangen:
      [list]

    • Debian Sarge installieren (Grundinstallation)
    • Xen Binary Package von hier (Xen-Download) runterladen, README lesen.
    • Folgende Pakete mit apt-get nachinstalliert: python-dev, bridge-utils, iproute, zlib1g-dev, build-essential
    • XEN mit install.sh aus dem tar installiert
    • Konfigurationsdatei für LinVDR aus einer Beispiel-Datei angelegt:


    • LinVDR installiert: Das kann man in eine Imagedatei machen oder auf einem LVM Logical Volume. Ich habe mich für letzteres entschieden. Eine Anleitung wie man ein LVM einrichtet findet sich z.B. hier.
    • Das erstellte Logical Volume mounten und LinVDR (das tar.gz von der CD) entpacken. Noch die Kernel-Module des XEN-Kernels nach <linvdr>/lib/modules kopieren und (WICHTIG!) aus der <linvdr>/etc/init.d/rcStart die Zeile mit hwclock entfernen (Kommentarzeichen reicht)
    • DVB Treiber aus dem Dom0 System mit rmmod entladen, am besten vom Dom0-System gar nicht erst laden lassen.


      UPDATE: Es reicht (zumindest bei mir, mit anderen DVB Karten müsst ihr selbst noch die entsprechenden Module ergänzen) aus die folgenden Module in /etc/hotplug/blacklist anzuhängen:


      /UPDATE


      Welche das im Einzelfall sind müsst ihr leider selbst rausfinden, ich habe 2x Nova und eine Skystar, da waren es folgende:

      Code
      rmmod b2c2_flexcop_pci b2c2_flexcop budget_ci budget_core nxt200x dvb_pll tda1004x saa7146 lgdt330x bcm3510 mt312 mt352 stradis compat_ioctl32 videodev


    • mit lspci die ID's der DVB Karten gesucht (und gefunden ;))
    • Mittels eines kleinen Skriptes diese PCI ID's an XEN "übergeben"


    • XEN mit dem vom Script generierten Aufruf starten


    Ich habe noch keine tiefergehenden Tests mit LinVDR gemacht, ich habe nur geguckt das es mit "streamdev-server" ohne Fehler startet und auch die DVB-Karten findet. Danach war ich dann einfach zu müde um weiter zu machen ;)


    Ich bleib am Ball...


    cu
    Mar(Mahlzeit)kus

  • Nachtrag:
    Ich habe das Skript zum "übergeben" der PCI Devices an XEN mal ein bisserl umgeschrieben:


    Das Skript sollte jetzt die DVB Karten selbstständig erkennen. Evtl. (Sicher!) muss man die Erkennung noch verfeinern, kann sein dass manche PCI Devices fälschlicherweise mitgenommen werden. Aber da hole ich mir mal Anregungen aus dem Thread hier.


    cu
    Mar(Mahlzeit)kus

  • So, der Server ist seit Donnerstag Morgen 2 Uhr in Betrieb mit 3 DVB Karten. Es funktioniert alles prächtig, bei einer Aufnahme und laufenden Noad ist die 2,4GHz CPU nicht wirklich ausgelastet, der Stromverbrauch pendelt sich mit 2 Platten und einem laufenden LinVDR mit 3 aktiven DVB-S Karten + einem laufenden Debian Sarge mit Apache/MySQL/DHCP/usw. Server bei 70W ein, im "Ruhezustand" ohne aktives aufnehmen sind es 62W. Für die Leistung die die Kiste bringt eigentlich ganz passabel.


    Statt LinVDR kann man natürlich auch eine beliebige andere Distri nehmen, wichtig ist nur einen an XEN angepassten Kernel zu verwenden.


    Streamdev-server läuft, das /video-Verzeichn is wird per NFS an den Clients angebunden. Was jetzt noch fehlt ist die Möglichkeit einen Timer *entweder* Remote auf dem Server oder lokal anzulegen. Gibts da schon was oder muss man da selbst mal Hand anlegen? Ich kenn mich leider nur mit C++-Programmierung nicht so wirklich gut aus...


    Im Prinzip hab ich mir das so vorgestellt:

    • Die Timerliste wird um ein Feld "host" erweitert, dies enthält dann den Hostnamen auf dem die Sendung aufgenommen werden soll
    • Ist der Timer auf dem lokalen Rechner eingestellt, so soll er ganz normal aufgenommen werden.
    • Ist der Timer auf einem Remotehost eingestellt, so soll lediglich das Aufnahmeverzeichnis geupdated werden, da ja von einem anderen Rechner auf dem gemeinsam genutzten /video ein neues Verzeichnis/Aufnahme erstellt wurde und diese dann auch gleich an den Clients sichtbar sein soll.
    • Damit das Funktioniert sollte beim Anlegen eines Timers alle anderen VDRs im lokalen Netz ebenfalls einen Timereintrag automatisch erhalten


    Gibts sowas schon oder hätte jemand Lust sich da dran zu machen? Oder spricht etwas dagegen das überhaupt so zu machen?


    cu
    Mar(Mahlzeit)kus

  • Zitat

    Original von mahlzeit
    Was jetzt noch fehlt ist die Möglichkeit einen Timer *entweder* Remote auf dem Server oder lokal anzulegen. Gibts da schon was oder muss man da selbst mal Hand anlegen?


    riskiere doch hier mal ein Blick. das sollte deine Probleme lösen.


    Gruss Sven

    VDR1 : PIII - 550 Mhz - 256MB - 160 GB + 250 GB - DVD Brenner - 2 * DVB-S Budget - DXR3 - Etch + e-tobi
    VDR2 : PII - 233 Mhz - 256MB - diskless - DXR3 - c't VDR5 + e-tobi
    VDR3 : S100 - zendeb

  • Zitat

    Original von svkn


    riskiere doch hier mal ein Blick. das sollte deine Probleme lösen.


    Servus,


    stimmt, da hab ich schon vor längerer Zeit mal mitgelesen. Habs aber wohl wieder verdrängt. Guck ich mir gleich mal durch...


    Merci
    Mar(Mahlzeit)kus

  • Hallo Markus,


    ich versuche mich gerade an deinem Script zur Übergabe des PCI-Devices.


    Ich besitze ebenfalls eine Skystar2. Der Output von lspci hat bei mir ein anderes Format:

    Code
    lspci | grep ':02'
    03:02.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card (rev 02)


    Damit es bei mir funktioniert habe ich 2 Zeilen deines Scriptes hierfür angepaßt:

    Code
    ...
    for i in `lspci | grep ":02" | awk '{ print $1 }'`; do
            SLOT=`echo $i`
    ...


    Script-Output:

    Code
    Add DVB Device 03:02.0 (03:02.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card (rev 02))
    /root/xen_linvdr.sh: line 18: echo: write error: Kein passendes Gerät gefunden
    
    
    copy the following line to start XEN
    
    
    xm create -c linvdr   pci=03:02.0


    Der Fehler mit line 18 betrifft folgende Zeile:

    Code
    echo -n "$i" > /sys/bus/pci/drivers/pciback/bind


    Nun erhalte ich beim Aufruf folgenden Fehler:

    Code
    xm create -c linvdr   pci=03:02.0
    Using config file "linvdr".
    Error: pci: failed to locate device and parse it's resources - %s[Errno 2] No such file or directory: '/sys/bus/pci/devices/0000:03:02.0/driver'


    Hat hierzu jemand eine Idee?


    EDIT: Ich verwende xen 3.0.2 unter gentoo.


    Gruß,
    Dieter

  • Zitat

    Originally posted by edinger
    Hallo Markus,


    ich versuche mich gerade an deinem Script zur Übergabe des PCI-Devices.


    Ich besitze ebenfalls eine Skystar2. Der Output von lspci hat bei mir ein anderes Format:

    Code
    lspci | grep ':02'
    03:02.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card (rev 02)


    Hm, da muss ich mal nach was passenderem als 'lspci' suchen... Etwas das nicht von Distri zu Distri unterschiedlich ist...



    Ja, ist bei Dir das Sysfs gemountet? Guck mal ob bei deiner /etc/fstab diese Zeile mit drin steht:

    Code
    sysfs            /sysfs         sysfs    defaults                        0 0


    Das Verzeichnis /sysfs muss evtl. noch angelegt werden.
    Dann müsstest Du noch im Skript /sys nach /sysfs ändern oder nen Link (/sys -> /sysfs) setzen.


    cu
    Mar(Mahlzeit)kus

  • Hi Markus,


    sys ist bereits gemountet. In /sys/bus/pci/drivers/pciback/slots steht auch etwas drin. Nur das Schreiben auf bind geht nicht.


    Dieter

  • Zitat

    Originally posted by edinger
    Hi Markus,


    sys ist bereits gemountet. In /sys/bus/pci/drivers/pciback/slots steht auch etwas drin. Nur das Schreiben auf bind geht nicht.


    Servus,


    ich hab bei mir in der /boot/grub/menu.lst noch einen Kernel-Parameter "pciback.hide" mit meinen drei DVB-Karten drin, evtl. liegts ja daran?


    Code
    title Xen 3.0 / XenLinux 2.6
    kernel /boot/xen-3.0.gz console=vga
    module /boot/vmlinuz-2.6-xen root=/dev/sda2 max_loop=128 pciback.hide=(0000:02:0
    a.0)(0000:02:0b.0)(0000:02.09.0) ro console=tty0
    module /boot/initrd-2.6.16-xen


    cu
    Markus

  • Hallo,


    tolle Idee und super Vorarbeit. Derzwit sind auf meinem Vdr nioch zwei ander Server in VMwares eingesperrt. Aber mal ne Frage: Bei früheren versuchen mit Xen ist mir aufgefallen, dass das Framebuffer Device nicht funktioniert. daws brauche ich aber auf jeden Fall für die graphtft Ausgabe. Gibt es da schon Erfahrung?


    --schmettow.

    VDR 1.4.0 [dvd, dvdselect, mp3ng,remote, control, graphTFT, taste, tvonscreen, streamdev-server] - FW f32623
    OpenSuse 10.0 Vanilla 2.6.15.4 - vdrconvert - Noad
    Dign HV5, Asus P4P800 deluxe, Celeron M (silent modded) - TT 1.5 - Budget-S - AVBoard 1.3 - 12" TFT
    Peripherals: Kameleon 8060 - Philips DFR-9000 - Sharp 26GA4E - Pinnacle Showcenter 1000g

  • Hi Markus,


    den pciback.hide hatte ich bereits drin.
    Habe den Kernel neu erzeugt mit Option CONFIG_XEN_PCIDEV_BE_DEBUG=y, damit ich erkennen kann warum es nicht geht und durchgestartet. Auf einmal hat es geklappt.


    Vielen Dank für deine tolle Vorarbeit,
    Dieter


    P.S.: Ich habe nach der aktuellen Doku zu xen und pci-passtrough gesucht. Habe nichts gefunden, außer der Aussage, daß es mit 3.0.2 wieder gehen soll.
    Woher hast du denn die Infos?


  • Das stand im XEN Documentation (dass es generell geht) und in diversen Newsgroups wie es geht. Wo genau müsste ich nochmal nachsehen...


    cu
    Markus

  • Zitat

    Originally posted by schmettow
    Hallo,


    tolle Idee und super Vorarbeit. Derzwit sind auf meinem Vdr nioch zwei ander Server in VMwares eingesperrt. Aber mal ne Frage: Bei früheren versuchen mit Xen ist mir aufgefallen, dass das Framebuffer Device nicht funktioniert. daws brauche ich aber auf jeden Fall für die graphtft Ausgabe. Gibt es da schon Erfahrung?


    Nein, leider keine Erfahrung mangels TFT und Monitor in der Abstellkammer. Evtl. müsstest Du die Grafikkarte analog zu den PCI Devices für eine XEN-Instanz "freigeben" damit dort über den Framebuffer direkt geschrieben werden kann?


    cu
    markus

  • Hallo,


    in meiner DomU Instanz werden zwar meine zwei Hauppauge Nova-SE2 DVB-S angezeigt aber der DVB Treiber nicht geladen.

    Habe ein XEN Dom0 System auf basis von Debian Etch und den orginalen Binaries von XEN 3.0.2.
    Die DomU Instanz verwendet den gleichen Kernel wie Dom0 und als Dist. ein Debian Etch inkl. der Module des Kernels.


    Muß ich mir einen eigenen Kernel für XEN erstellen um den DVB Treiber zu erhalten? lt Doku fehlt mir das Modul "cx88_dvb".


    danke
    Andreas


    vm05-vdr2:~# lspci
    01:01.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
    01:01.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)
    01:02.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
    01:02.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)


    vm05-vdr2:~# dmesg
    Linux version 2.6.16-xen (xenod@freefall.cl.cam.ac.uk) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 SMP Thu Apr 13 18:46:07 BST 2006
    ....
    ....
    device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
    Linux video capture interface: v1.00
    cx2388x v4l2 driver version 0.0.5 loaded
    PCI: Enabling device 0000:01:01.0 (0000 -> 0002)
    CORE cx88[0]: subsystem: 0070:9200, board: Hauppauge Nova-SE2 DVB-S [card=38,autodetected]
    TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe
    tveeprom 0-0050: Hauppauge model 92500, rev B1B1, serial# 244739
    tveeprom 0-0050: MAC address is 00-0D-FE-03-BC-03
    tveeprom 0-0050: tuner model is Conexant_CX24109 (idx 111, type 4)
    tveeprom 0-0050: TV standards ATSC/DVB Digital (eeprom 0x80)
    tveeprom 0-0050: audio processor is CX883 (idx 32)
    tveeprom 0-0050: decoder processor is CX883 (idx 22)
    tveeprom 0-0050: has no radio, has no IR remote
    cx88[0]: warning: unknown hauppauge model #92500
    cx88[0]: hauppauge eeprom: model=92500
    input: cx88 IR (Hauppauge Nova-SE2 DVB as /class/input/input0
    cx88[0]/0: found at 0000:01:01.0, rev: 5, irq: 17, latency: 32, mmio: 0xfc000000
    cx88[0]/0: registered device video0 [v4l2]
    cx88[0]/0: registered device vbi0
    set_control id=0x980900 reg=0x310110 val=0x00 (mask 0xff)
    set_control id=0x980901 reg=0x310110 val=0x3f00 (mask 0xff00)
    set_control id=0x980903 reg=0x310118 val=0x00 (mask 0xff)
    set_control id=0x980902 reg=0x310114 val=0x5a7f (mask 0xffff)
    set_control id=0x980909 reg=0x320594 val=0x40 (mask 0x40) [shadowed]
    set_control id=0x980905 reg=0x320594 val=0x20 (mask 0x3f) [shadowed]
    set_control id=0x980906 reg=0x320598 val=0x40 (mask 0x7f) [shadowed]
    PCI: Enabling device 0000:01:02.0 (0000 -> 0002)
    CORE cx88[1]: subsystem: 0070:9200, board: Hauppauge Nova-SE2 DVB-S [card=38,autodetected]
    TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe
    tveeprom 1-0050: Hauppauge model 92500, rev B1B1, serial# 210797
    tveeprom 1-0050: MAC address is 00-0D-FE-03-37-6D
    tveeprom 1-0050: tuner model is Conexant_CX24109 (idx 111, type 4)
    tveeprom 1-0050: TV standards ATSC/DVB Digital (eeprom 0x80)
    tveeprom 1-0050: audio processor is CX883 (idx 32)
    tveeprom 1-0050: decoder processor is CX883 (idx 22)
    tveeprom 1-0050: has no radio, has no IR remote
    cx88[1]: warning: unknown hauppauge model #92500
    cx88[1]: hauppauge eeprom: model=92500
    input: cx88 IR (Hauppauge Nova-SE2 DVB as /class/input/input1
    cx88[1]/0: found at 0000:01:02.0, rev: 5, irq: 16, latency: 32, mmio: 0xfa000000
    cx88[1]/0: registered device video1 [v4l2]
    cx88[1]/0: registered device vbi1
    set_control id=0x980900 reg=0x310110 val=0x00 (mask 0xff)
    set_control id=0x980901 reg=0x310110 val=0x3f00 (mask 0xff00)
    set_control id=0x980903 reg=0x310118 val=0x00 (mask 0xff)
    set_control id=0x980902 reg=0x310114 val=0x5a7f (mask 0xffff)
    set_control id=0x980909 reg=0x320594 val=0x40 (mask 0x40) [shadowed]
    set_control id=0x980905 reg=0x320594 val=0x20 (mask 0x3f) [shadowed]
    set_control id=0x980906 reg=0x320598 val=0x40 (mask 0x7f) [shadowed]
    cx2388x blackbird driver version 0.0.5 loaded
    ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
    ....

  • Ich habs auch laufen, VDR in XEN DomU. Allerdings nicht per Script sondern über die Grub Parameter und einen Eintrag in der DomainU Konfig:


    kernel (hd0,0)/xen.gz dom0_mem=512M com1=9600,8n1 console=com1 sync_console pciback.hide=(00:12.0)
    und
    pci = ['00:12.0']


    Vielleicht wäre ein eigenes Forum hierfür nicht schlecht. Da es mehr in die Richtung geht.


    Mein Wohnzimmer VDR bootet dann per PXER/TFTP/iSCSI Root vom Server und mountet per NFS das gleiche Video Volume wie der VDR Server.


    Noch was zum Anfang des Threads. Dienste die nicht in eine VM gehören sind meines Erachtens alle Dienste die einen Betrieb des Netzwerkes sichern: z.b. bind, dhcp, ldap oder yp... .
    Falls eure DomainU mit den Diensten mal nicht funzt gibts richtig Probleme. Ich würde nur optionale Dienste (www, mysql, mail, cups ...) in die DomUs packen.


    gruss mad

Jetzt mitmachen!

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