[Eisfair] eisfair-1 Xen DomU Kernelupdate

Alexander Dahl lespocky at web.de
Mo Jan 25 21:24:01 CET 2016


Hallo Helmut,

Helmut Backhaus schrieb Montag, 25. Januar 2016, 18:52 (CET):
>> Ich bin jetzt grob wie folgt vorgegangen: ein neues eisfair in einer
>> neuen virtuellen Maschine (KVM) auf meinem Desktop installiert, Updates
>> bis zur aktuellen base und aktuellem eiskernel-virt (testing).
>
> Die Beschreibung ist aber *sehr* grob. ;-)
> Ansonsten habe ich es genauso gemacht nur eben in einer Vbox.

Naja was soll ich an der Stelle groß beschreiben? Ganz normale
eisfair-Installation und bei KVM geht eh nur Vollvirtualisierung.

>> In der Xen DomU den Inhalt von /boot der KVM-VM kopiert, ebenso die
>> relevanten Sachen unterhalb von /lib/modules. Dann hab ich mir auf der
>> Xen DomU nochmal den tarball vom eiskernel Paket angeschaut und die
>> Sachen von unterhalb /var/install kopiert.
>
> Das ist mir nicht klar, dass kann doch nicht alles sein, oder?

Mehr war es nicht. Kernel-Image und das initrd oder initramfs o.ä.
liegen in /boot und die Module unterhalb von /lib/modules.
Bootloaderkram brauch ich nicht bzw. sind schon auf dem Zielsystem
gewesen.

> Es muss doch auch / irgend wo herkommen oder?

Die Ziel-VM lief ja schon, war wie gesagt noch aus eisxen Zeiten.

> Auch ist mir nicht ganz klar, was Du wann gemacht hast. ;-)
> Ich habe mir "boot" und "/" aus der Vbox heraus kopiert.

/ brauchte ich ja nicht kopieren, s.o.

>> Dann /etc/fstab und /etc/inittab geändert auf /dev/xvda[123], ebenso die
>> /etc/lilo.conf.
>
> Da habe ich noch das eine oder andere Verständnis Problem, aber ich 
> werde meine Einrichtung unten drunter Zeigen.
> Auch muss da ja noch ein "lilo" zu irgend einem Zeitpunkt ausgeführt 
> werden oder?

Eigentlich nicht, lilo wird ja überhaupt nicht benutzt. Der einzige
Grund lilo zufriedenzustellen ist ein späteres Installieren des
eiskernel-virt Pakets zu ermöglichen, das bei der Installation `lilo -t`
aufruft und bei einem Fehler abbricht.

>> Dann hab ich /boot/grub/menu.lst angelegt und so
>> gefüllt:
>>
>>      default 0
>>      timeout 5
>>
>>      title   eisfair-1
>>      root    (hd0,0)
>>      kernel  /boot/kernel root=/dev/xvda1 ro
>>      initrd  /boot/initrd.gz
>>
>>      title   eisfair-1 (old)
>>      root    (hd0,0)
>>      kernel  /boot/old-kernel root=/dev/xvda1 ro
>>      initrd  /boot/old-initrd.gz
>>
>
> Das habe ich genauso, ob es richtig war / ist? Ich weiß es nicht...

Wenn es funktioniert, ist es dann richtig? ;-)

>> Xen DomU runtergefahren und im host die config angepasst, sieht jetzt so
>> aus:
>>
>>      bootloader = '/usr/lib/xen-4.4/bin/pygrub'
>>      memory  = 256
>>      vcpus   = 1
>>      root    = '/dev/xvda1 ro'
>>      boot    = 'c'
>>      extra   = 'ro quiet xencons=tty1 console=hvc0'
>>      disk    = [
>>              'format=raw, vdev=xvda1, target=/dev/heaven/methusalix_root',
>>              'format=raw, vdev=xvda2, target=/dev/heaven/methusalix_swap',
>>              'format=raw, vdev=xvda3, target=/dev/heaven/methusalix_home',
>>      ]
>>      name    = 'methusalix'
>>      vif  = [ 'mac=00:16:3e:2e:a3:4b, bridge=xenbr0' ]
>>      on_poweroff = 'destroy'
>>      on_reboot   = 'restart'
>>      on_crash    = 'restart'
>>
>> DomU neu gestartet, läuft. Ich hätte mit mehr Schwierigkeiten gerechnet.
>> ;-)
>
> Du glücklicher!
>
> OK, das Starten mit "pygrub" bekomme ich nicht hin.
> Hier jetzt mal meine Daten:

Du kannst pygrub auch direkt aufrufen und damit sehen wie weit er kommt.
Oder Du gibst beim Starten der DomU -c mit, damit Du sofort
Konsolenausgaben siehst:

    xl create -c /path/to/mydomu.cfg

> Laufwerke -LVM Hostsystem -
> root at deb-64-fsi:~# lvs | grep testeis1
>    testeis1-boot      vg0  -wi-ao----  52,00m 
>
>    testeis1-data      vg0  -wi-ao----   8,00g 
>
>    testeis1-root      vg0  -wi-ao----   2,00g 
>
>    testeis1-swap      vg0  -wi-ao---- 128,00m
>
> /etc/xen/testeis1.cfg - Hostsystem -
> root at deb-64-fsi:~# cat /etc/xen/testeis1.cfg
> name = "testeis1"
> kernel = "/eis-kern/kernel"
> ramdisk = "/eis-kern/initrd.gz"

kernel und ramdisk brauchst Du für pygrub nicht, ansonsten musst Du sie
im Xen Host natürlich irgendwo hin packen, das muss auch nicht direkt in
/ sein.

> extra = "ro quiet xencons=tty1 console=hvc0"
> # bootloader = "/usr/lib/xen-4.4/bin/pygrub"
> # bootargs = '--kernel=/boot/kernel --ramdisk=/boot/initrd.gz'
> memory = 512
>
> boot        = 'c'
> root = "/dev/xvda3 ro"
> disk = [
> 	"phy:/dev/vg0/testeis1-boot,xvda1,w",
>          "phy:/dev/vg0/testeis1-swap,xvda2,w",
>          "phy:/dev/vg0/testeis1-root,xvda3,w",
>          "phy:/dev/vg0/testeis1-data,xvda4,w",
> 	 ]

Das ist noch die alte Xen Syntax, versuch mal die aktuelle zur
Definition der disks.

> /etc/fstab - Gast -
> /dev/xvda3 / ext4 defaults,errors=remount-ro 0 1
> /dev/xvda1 /boot ext4 defaults,errors=remount-ro 0 1
> /dev/xvda2 none swap sw 0 0
> /dev/xvda4 /data ext4 defaults 0 2

Hmm Du hast /boot extra, bei mir ist das Teil von /, ggf. brauchst Du
auf Deiner boot-Partition noch einen Symlink namens boot auf sich
selbst, also geh auf die gemountete boot-Partition und einmal:

    ln -s . boot

> /boot/grub/menu.lst - Gast -
> testeis1 # cat /boot/grub/menu.lst
>      default 0
>      timeout 5
>
>      title   eisfair-1
>      root    (hd0,0)
>      kernel  /kernel root=/dev/xvda3 rootdelay=10 panic=10 ro
>      initrd  /initrd.gz
>
>      title   eisfair-1 (old)
>      root    (hd0,0)
>      kernel  /old-kernel root=/dev/xvda3 rootdelay=10 panic=10 ro
>      initrd  /old-initrd.gz
>
> Wobei ich hier nicht Sicher bin, ob dass so stimmt.

Spontan sieht's nicht schlecht aus.

> Dann habe ich noch die Netzwerkkarte angepasst.
> Wie bereits beschrieben lässt sich die DomU mit dem Kernel von außen 
> problemlos Booten mit pygrub aber nicht. Zu Anfang konnte ich die 
> Einträge von Grub auch schon sehen, dass geht nach der vielen Testerei 
> jetzt aber auch nicht mehr. Ich habe das Gefühl, dass ich irgend etwas 
> komplett verdreht habe, aber was?

Immerhin geht's schonmal von außen.

> Wenn noch irgend etwas fehlt werde ich es gern nachliefern!!

Spontan bin ich überfragt. Versuch mal die Debug-Möglichkeiten von Xen
und pygrub besser zu nutzen.

Gruß
Alex

-- 
***** http://blog.antiblau.de/ *****************************
GnuPG-FP: 02C8 A590 7FE5 CA5F 3601  D1D5 8FBA 7744 CC87 10D0


Mehr Informationen über die Mailingliste Eisfair