Tag Archives: Debian

“Permission Denied” en un cliente NFS en Debian Unstable

Cuando intentaba acceder a una partición NFS de un servidor in lenny desde un cliente en squeeze, obtuve varios “Permission Denied” (Permiso Denegado) al intentar escribir un archivo. Como existen otros clientes NFS que pueden escribir al servidor, no se trataba de configuración sino más bien de la versión del nuevo cliente.

Después de buscar un poco, encontré este bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492970

Si quieres saber si tu versión tiene este problema, puedes verificarlo con el comando: “cat /proc/mounts” notarás que el NFS tiene un parámetro “sec=null” y es lo que genera el problema.

El arreglo es un fácil:

  1. Desmontar todas las particiones NFS (muy importante, en mi caso tenía dos particiones y solo desmonté una e intenté pasar la nueva configuración que no funcionó hasta que desmonté las dos particiones)
  2. En /etc/fstab (o al montarlo manualmente)  pasar el parámetro sec=sys para todas las particiones de ese servidor, por ejemplo para fstab:
    example.com:/shared /tmp/shared nfs rw,sec=sys 0 0
    O de forma manual
    mount -t nfs -o "rw,sec=sys" example.com:/shared /tmp/shared
  3. Montar todas las particiones de ese servidor

Al verificar nuevamente /proc/mounts verás el parámetro sec=sys en lugar de null

Xen 3.3 y Debian Etch

Recientemente me tocó configurar un servidor para tener máquinas virtuales mediante XEN. Anteriormente sólo había trabajado con un poco con VMWare ESXi y XenServer (la versión “comercial” de XEN), el problema es que se tenía que instalar en un servidor remoto que solo se tiene acceso mediante ssh.

Con algo de trabajo y pruebas (y con las buenas herramientas de ServerBeach, que sólo le faltan una vista a la consola para diagnosticar kernel panics) por fin pude instalarlo.

Debian tiene una versión de Xen, pero es la 3.0.3 que para mi gusto es demasiado vieja (se liberó en 2006) y la versión Lenny (testing) tiene la versión 3.2, pero también algo “inestable” a mi gusto para un servidor de batalla.

Como dije después de hacer varias pruebas logré instalar la versión Xen 3.3 utilizando el kernel que viene en Debian preparado para Xen.

Una breve descripción de Xen, es que está separado en varias partes, en primer lugar Xen tiene un kernel modificado para llevar a cabo la virtualización, la ventaja es que la versión 3.3 utiliza la versión 2.6.18 que es la que viene con Debian.

Después la parte “fuerte” de Xen es el denominado hypervisor que es un servidor que se encarga de hacer la virtualización propiamente dicha. Después vienen las máquinas virtuales que utilizan por lo general otro kernel que se denomina domU (y el kernel de la máquina base se denomina dom0).

Pues bien, para lograr esto simplemente primero instalé la imagen del kernel apropiado y compilar solamente el hypervisor de Xen 3.3

En pasos simples:

#Instalar la imagen del kernel con parche para xen
apt-get install linux-image-2.6.18-6-xen-amd64

#Descargar el código fuente de xen
wget http://bits.xensource.com/oss-xen/release/3.3.0/xen-3.3.0.tar.gz
tar zxvf xen-3.3.0.tar.gz
cd xen-3.3.0

#Compilar solamente el hypervisor
make xen
make install-xen

#Compilar los archivos ejecutables como xm y herramientas de red
make tools
make install-tools

#Hacer que Debian cree las entradas correspondientes en los rc.X
#para que cuando el servidor se inicie ejecute los servidores de Xen
update-rc.d xend defaults 20 21
update-rc.d xendomains defaults 21 20

#Hacer que grub reconozca el nuevo kernel con la configuración de Xen 3.3.0
update-grub

Con eso deberían de ver una entrada en el grub como:

title           Xen 3.3.0 / Debian GNU/Linux, kernel 2.6.18-6-xen-amd64
root            (hd0,0)
kernel          /xen-3.3.0.gz
module          /vmlinuz-2.6.18-6-xen-amd64 root=/dev/sda6 ro console=tty0
module          /initrd.img-2.6.18-6-xen-amd64
savedefault

Que debería de bootear con el hypervisor 3.3

Incluyo algunas ligas de sitios (en inglés) que me ayudaron muchísimo para entender algo más de Xen ;)