Cambiar kernel en ovh con grub (nfs)
El principal problema que existe para montar un servidor NFS en OVH es que los kernels que habilitan por defecto (OVH + grsec), además de venir con grsec como su propia descripción indica, no tienen soporte para instalar módulos de kernel. De forma que al intentar instalar el módulo para NFS nos dará un fantástico y maravilloso error. Por defecto tenemos el siguiente escenario:
# uname -a
Linux ns302399.ovh.net 3.2.13-grsec-xxxx-grs-ipv6-64 #1 SMP Thu Mar 29 09:48:59 UTC 2012 x86_64 GNU/Linux
Así que no queda otra que reemplazar el kernel por uno que ya lleve el módulo de nfs builtin. Llegados a este punto tenemos varias opciones: instalar un kernel desde fuentes, modificar el ya instalado o bajarnos uno de los kernels ”-filer” de OVH. Los kernels "-filer" están pensados para este tipo de servidores de ficheros. Por sencillez optaremos por esta tercera opción.
Primeramente descargamos las imágenes del nuevo kernel que vamos a instalar desde el ftp oficial de OVH (ftp://ftp.ovh.net/made-in-ovh/bzImage/):
# cd /boot/
# wget ftp://ftp.ovh.net/made-in-ovh/bzImage/3.2.13/bzImage-3.2.13-xxxx-grs-ipv6-64-filer
# wget ftp://ftp.ovh.net/made-in-ovh/bzImage/3.2.13/System.map-3.2.13-xxxx-grs-ipv6-64-filer
# ls
bzImage-3.2.13-xxxx-grs-ipv6-64 System.map-3.2.13-xxxx-grs-ipv6-64
bzImage-3.2.13-xxxx-grs-ipv6-64-filer System.map-3.2.13-xxxx-grs-ipv6-64-filer
grub
Ahora tendremos que modificar grub para que al arrancar la máquina lo haga con el nuevo kernel. Lo hacemos editando el fichero /etc/grub.d/06_OVHkernel, en la línea que antes hacía referencia al kernel bzImage*64 ahora le agregamos un -filer y guardamos los cambios:
OS="Debian GNU/Linux"
LINUX_ROOT_DEVICE=${GRUB_DEVICE}
linux=`ls -1 -t /boot/bzImage*64-filer 2>/dev/null | head -n1`
Una vez tenemos el nuevo kernel referenciado en el archivo de plantilla 06_OVHkernel, ejecutamos el grub-mkconfig para hacer efectiva la configuración, es recomendable hacer antes una copia de seguridad de la configuración anterior (sabe más el diablo por viejo que por diablo):
# cp /boot/grub/grub.cfg /boot/grub/grub.cfg.old
# grub-mkconfig > /boot/grub/grub.cfg
Finalmente toca reiniciar, cruzar los dedos y, si todo ha ido correctamente, comprobar que ya tenemos el nuevo kernel listo para hacer funcionar nuestro servidor NFS:
# uname -a
Linux ns302399.ovh.net 3.2.13-grsec-xxxx-grs-ipv6-64-filer #1 SMP Thu Mar 29 11:26:19 UTC 2012 x86_64 GNU/Linux
No es complicado, pero es engañoso pensar en montar un NFS sobre OVH como una trivial tarea de poco más de 5 minutos.