Posts Tagged ‘FUSE’

Xen Upgrade en Kernels

donderdag, maart 25th, 2010

Zoals aangekondigd zijn we gisternacht bezig geweest om op onze clusters de infrastructuur te upgraden van Xen3.3 naar Xen3.4.

De hoofdreden hierachter is dat nieuwere Linux kernels tegenwoordig infrastructuur hebben om op basis van paravirtualisatie samen te werken met hypervisors als Xen. Tot voor kort was het alleen maar mogelijk met kernels die hier specifiek op waren aangepast (zogenaamde xen-kernels). Deze nieuwe manier van zaken doen zit in de standaardversie van de kernel zoals deze uit Linus Torvalds’ keuken komt. Deze nieuwe kernels zouden het het voor onze klanten veel makkelijker maken om eigen kernels te draaien en gebruik te maken van nieuwere features zoals FUSE. Echter werken deze nieuwe kernels alleen maar samen met Xen versie 3.4 of hoger.

Ons eerste plan was om de upgrades in een enkele nacht uit te voeren. Dit bleek praktisch niet haalbaar binnen de gestelde tijd, dus op dit moment zijn niet alle clusters al naar Xen 3.4. Wel hebben we gedurende deze upgrade-ronde wat kunnen testen op het gebied van zogenaamde live-migraties tussen de oude en de nieuwe versie van Xen, waardoor uiteindelijk een procedure is ontstaan waarmee we de rest van de clusters kunnen upgraden zonder de betrokken VPS’en te hoeven rebooten.

Voor VPS’en met nummers 2000 tot-en-met 4000 zullen wij de komende week in de avonduren deze upgrades uitvoeren. In de praktijk kan dit betekenen dat op zo’n avond uw VPS twee maal een minuut lang wat langzamer reageert terwijl deze al draaiend wordt verplaatst naar andere hardware.

FUSE in de XLS Linux kernel

vrijdag, maart 5th, 2010

Wij hebben deze week de kernel module FUSE toegevoegd aan de Linux kernel die voor onze virtuele servers gebruikt wordt.

FUSE staat voor “Filesystem in Userspace” en staat non-privileged users toe om hun eigen file systems te creeren zonder de kernel code aan te hoeven passen. Dit betekend dat er allerlei protocollen als filesystem gemount kunnen worden.

Een veelgebruikte applicatie is SSHFS waarbij een map op een externe server gemount kan worden over een SSH-verbinding. Een andere populaire applicatie is HTTPFS (externe mappen mounten via HTTP). Er is zelfs een GmailFS waarmee u gmail directory structuur als filesystem kunt mounten. Op deze wiki pagina kunt u een lijst met mogelijke applicaties vinden.

FUSE moet nog wel geactiveerd worden in individuele VPSen. Klanten die virtuele servers hebben met VPS nummers onder de 3064 moeten even contact met ons opnemen als ze FUSE geactiveerd willen hebben. FUSE kan op VPSen met nummers boven de 3063 geactiveerd worden door in de XLS Interface een Shutdown (Stop + Start) te geven. Vervolgens zal de virtual server met FUSE opkomen.

Eigen kernels booten met PyGrub

maandag, april 13th, 2009

We krijgen regelmatig verzoeken van klanten om met custom kernels te kunnen booten. Vaak omdat er specialistische modules nodig zijn, bijvoorbeeld voor VOIP-diensten of cryptografisch versleutelde diskpartities via FUSE. Vanaf vandaag maken wij het voor mensen met dit soort speciale behoeftes mogelijk om in plaats van onze standaardkernel een Xen-compatible kernel van binnen de VPS zelf te laden via PyGrub. U kunt deze mogelijkheid activeren binnen de XLS Interface.

Wat is PyGrub precies?

PyGrub is een herimplementatie, in python, van de grub bootloader, toegespitst op het booten van virtuele machines onder Xen. Het leest de grub-configuratie en kiest daarmee een kernel en een ramdisk-image om mee te booten en geeft deze door aan de Xen hypervisor.

Installeren van je eigen kernel

Om succesvol via PyGrub te kunnen booten zijn op de VPS nodig:

  • Een valide grub-config in /boot/grub/menu.lst
  • Een Xen domU-compatible kernel.
  • Een initrd met xenblk.ko en xennet.ko.
  • Om te zorgen dat de xenblk en xennet drivers goed geladen worden, is het verstandig om, alvorens een Xen kernel-package te installeren, de volgende twee regels toe te voegen aan /etc/modprobe.conf:

        alias eth0 xennet
        alias scsi_hostadapter xenblk
    

    Installeer vervolgens grub, en daarna de xen kernel. Onder CentOS is dat:

        # yum install grub
        # yum install kernel-xen
    

    En onder Debian:

        # apt-get install grub
        # apt-get install linux-image-xen-amd64
    

    Activeren

    Controleer dat er een geldige /boot/grub/menu.lst ontstaan is die wijst naar de Xen kernel. Zet vervolgens op de XLS Interface site de knop om naar ‘Custom Kernel’ en geef de VPS vanaf de command line een shutdown (een gewone reboot is niet genoeg). De machine zal opnieuw gestart worden met PyGrub.