No se puede asignar cuotas de FTP o usuarios web a un Plesk sobre Proxmox o Virtuozzo

Si se ha configurado un entorno Virtuozzo o Proxmox con un sistema OpenVZ, puede que cuando se instale una maquina con Plesk, a la hora de asignar limites a los FTP o usuarios web, aparezca el siguiente mensaje: “hard disk quota is not supported due to configuration of server file system”.

Este mensaje indica que el sistema de ficheros no tiene cargado el soporte para cuotas del disco duro.

Tan solo debemos de ejecutar los siguientes comandos en el host que contiene el servidor:

vzctl set CT_ID --quotaugidlimit 500 --save
vzctl stop CT_ID
vzctl start CT_ID

Cambiando CT_ID por el id de la maquina con la que deseamos operar.

Una vez reiniciada la máquina, ya podremos aplicar sin problemas limites a los FTP y usuarios web.

Reconstruir RAID con MDADM cuando una partición ha fallado (F)

Si existe una partición fallida en un conjunto de RAID 1 usando MDADM, podemos lanzar de nuevo la resincronización de la misma.

El escerario inicial es el siguiente:

En este escenario, se observa que una de las particiones sdb1 esta en estado fallo (F)

servidor:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0] sdb1[2] (F)
25448688 blocks [2/1] [U_]
md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]

En primer lugar hay que eliminar la partición fallida del volumen raid md0:

mdadm --manage /dev/md0 --remove /dev/sdb1

Observamos que la partición sdb2 ya no existe, por lo tanto podemos reemplazarla o lanzar la resincronización:

servidor:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0]
25448688 bloks [2/1] [U_]
md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]

Ahora añadimos de nuevo la partición sdb1 en el conjunto md0:

mdadm /dev/md0 --manage --add /dev/sdb1

Ahora el sistema RAID deberá de resincronizar y tan solo queda esperar a que esté sincronizado:

servidor:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
25448688 blocks [2/1] [U_]
[=>...................]  recovery =  9.9% (243168/2448688) 
finish=2.8min speed=127535K/sec

Crear RAID1 Software en servidores con Proxmox

Es mas que sabido que Proxmox no permite de forma nativa la creación de RAID por software en este capitulo vamos a ver como crear un RAID1 por software en Proxmox con MDADM, el cual tiene un rendimiento muy bueno para esta distribución.

1. Actualizamos nuestros repositorios y descargamos los paquetes necesarios:

apt-get update
apt-get install mdadm initramfs-tools

En la ventana “configuring mdadm” seleccionamos OK y después ALL

2. Añadimos RAID1 en /etc/modules:

echo "raid1" >> /etc/modules

3. Regenerar fichero initrd.img, este proceso suele tardar unos segundos.

mkinitramfs -o /boot/test -r /dev/mapper/pve-root

4. Renombramos el antiguo archivo IMG. En la siguiente linea debemos de sustituir las XXX por la versión de nuestro Kernel. Se puede averiguar la versión del kernel escribiendo en el shell “uname -a”

mv /boot/initrd.img-2.6.x-pve /boot/initrd.img-2.6.x-pve.original

Ejemplo de linea para proxmox 1.6: mv /boot/initrd.img-2.6.32-4-pve /boot/initrd.img-2.6.32-4-pve.original

5. Renombramos el nuevo fichero creado img, en este caso tambien hay que sustituir las XX por la versión del kernel.

mv /boot/test /boot/initrd.img-2.6.x-pve

Ejemplo de linea para proxmox 1.6: mv /boot/test /boot/initrd.img-2.6.32-4-pve

6. Configuramos GRUB en los dos discos para que el RAID pueda arrancar desde cualquiera de los dos.

grub-install --no-floppy /dev/sda
grub-install --no-floppy /dev/sdb

nota: si este paso nos da error es por que no se ha replicado las particiones antes o el disco es nuevo, hay que replicar las particiones: sfdisk -d /dev/sda | sfdisk –force /dev/sdb

7. Editamos el fichero menu.1st, en este fichero deberemos localizar la cadena root UUID y remplazar por root hd(0,0)

pico /boot/grub/menu.lst

8. Editar fichero /etc/fstab deberemos de sustituir la linea: UUID=xxxxxxxxxxxxx /boot ext3 defaults 0 1 por UUID=xxxxxxxxxxxxxxxx /dev/md0 /boot ext3 defaults 0 1

pico /etc/fstab

9. Ahora hay que proceder a clonar las particiones del disco sda al disco sdb para que en el momento de la sincronización todas las particiones sean del mismo tamaño.

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

10. Creamos los dispositivos md en el disco secundario sdb

mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb2

11. Salvamos las nueva configuración de los md

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

12. Configurar el dispotivo como dispositivo de arranque:

mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
umount /mnt/md0
umount /boot
mount /dev/md0 /boot
sfdisk --change-id /dev/sda 1 fd
mdadm --add /dev/md0 /dev/sda1
pvcreate /dev/md1 si este comando nos da problema podemos usar pvcreate /dev/md1 -ff
vgextend pve /dev/md1

13. Replicamos los datos de sda2 a md1. nota:este proceso puede tardas horas.

pvmove /dev/sda2 /dev/md1
vgreduce pve /dev/sda2
sfdisk --change-id /dev/sda 2 fd
mdadm --add /dev/md1 /dev/sda2

14. Una vez realizado el raid deberá de empezar a sincronizar, podemos ver el proceso de sincronización del siguiente modo.

watch -n 1 cat /proc/mdstat

Deberemos observar algo parecido a:

md1: active raid1 sda1[1] sdb1[0]
195358336 blocks [2/2] [UU]
[====>................]  resync = 23.6% (46143360/195358336) finish=29.0min speed=85593K/sec
md6 : active raid1 sda1[1] sdb1[0]      195358336 blocks [2/2] [UU]
[====>................]  resync = 23.6% (46143360/195358336) finish=29.0min speed=85593K/sec

15. Ahora cambiamos el valor minimo de velocidad para el RAID

echo 60000 >/proc/sys/dev/raid/speed_limit_min

16. Para configurar el arranque en ambos discos introducimos

apt-get install grub2  (aquí ponerlo todo por defecto)
update-grub fijarnos si en el fichero /boot/grub/grub.cfg está en set root=(md0)
grub-install --no-floppy /dev/md0
grub-install --no-floppy /dev/sda
grub-install --no-floppy /dev/sdb

Habilitar IP tables en servidores virtuales en Proxmox

Si estamos utilizando un sistema Plesk, en una maquina virtualizada con Proxmox con tecnologia open VZ e intentamos hacer uso del firewall de plesk, es muy probable que no funcione, para ello, debemos de activar  ip tables del host sobre el servidor dedicado que deseamos realizar el cambio.

Activación de iptables en nodo host:

1. Debemos de abrir mediante una consola SSH el fichero vz.conf con el comando

pico /etc/vz/vz.conf

2. Borramos o comentamos la linea actual que aparece con IPTABLES= y añadimos la siguiente linea:

IPTABLES=”ipt_REJECT ipt_recent ipt_owner ipt_REDIRECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp”

Guardamos los cambios y reiniciamos el servicio VZ.

/etc/init.d/vz restart

Una vez reiniciado, ya podremos usar iptables en nuestras maquinas virtuales, y funcionará correctamente el firewall de plesk sobre linux.

Asignar cuotas de FTP o usuario web a Plesk sobre Proxmox

Si se ha configurado un entorno Virtuozzo o Proxmox con un sistema Open vz, puede que cuando se instale una maquina con Plesk Panel, a la hora de asignar limites a los FTP o usuarios web, nos aparecerá el siguiente mensaje: hard disk quota is not supported due to configuration of server file system

Este mensaje indica que el sistema de ficheros no tiene cargado el soporte para cuotas del disco duro.

Tan solo debemos de ejecutar los siguientes comandos en el host que contiene el servidor VPS cambiando el CT_ID por el ID de la maquina virtual que se desea operar:

~# vzctl set CT_ID --quotaugidlimit 500 --save
~# vzctl stop CT_ID
~# vzctl start CT_ID

Una vez reiniciado , se observará que ya se pueden aplicar los limites en el FTP y usuarios web sin problema alguno.