04 ene, 2010

Enrutar interfaces por distintos gateway con iproute

Escrito por: leopoldomaestro En: Linux

# Creamos la tabla de rutas

echo “1 admin” >> /etc/iproute2/rt_tables

# definimos gateway y interfaces

ip route add 192.168.143.0/24 dev eth0.101 src 91.200.143.253 table admin
ip route add default via 192.168.143.1 dev eth0.101 table admin

# reglas from y to

ip rule add from 192.168.143.253/32 table admin
ip rule add to 192.168.143.253/32 table admin

Para poder usar el driver paravirtual en vSphere 4 bajo Redhat y Centos, primeramente debemos instalar las VMWARE Tools.

Una vez hecho esto, comprobamos que el driver pvscsi esta cargado en nuestro kernel:

# lsmod |grep pvscsi

Deberia mostrarnos algo asi:

pvscsi 20388 3
scsi_mod 141717 8 scsi_dh,sg,pvscsi,libata,mptspi,mptscsih,scsi_transport_spi,sd_mod

Hecho esto, hacemos una copia del initram disk y generamos otro con el driver pvscsi cargado:

mkinitrd –with=pvscsi /boot/initrd-`uname -r`.img `uname -r`

Reiniciamos la maquina y cambiamos el driver de la controladora SCSI en el cliente de vSphere.

#! /bin/bash
# Following lines auto-recompile VM Tools when kernel updated
 VMToolsCheckFile="/lib/modules/`uname -r`/misc/.vmware_installed"
 VMToolsVersion=`vmware-config-tools.pl --help 2>&1 | awk '$0 ~ /^VMware Tools [0-9]/ { print $3,$4 }'`

 printf "\nCurrent VM Tools version: $VMToolsVersion\n\n"

 if [[ ! -e $VMToolsCheckFile || `grep -c "$VMToolsVersion" $VMToolsCheckFile` -eq 0 ]]; then
 [ -x /usr/bin/vmware-config-tools.pl ] && \
 printf "Automatically compiling new build of VMware Tools\n\n" && \
 /usr/bin/vmware-config-tools.pl --default && \
 printf "$VMToolsVersion" > $VMToolsCheckFile && \
 rmmod pcnet32
 rmmod vmxnet
 depmod -a
 modprobe vmxnet
 fi

Después creamos un enlace en el runlevel 3:
# cp vmware-check-tools /etc/init.d
# chmod 755 /etc/init.d/vmware-check-tools
# cd /etc/rc.d/rc3.d
# ln -s ../init.d/S09vmware-check-tools

* S09 carga antes que el script S10network, esto se hace para que se cargue el modulo vmxnet

El paquete RPM (probablemente tambien el deb) de Pure-FTPD tiene las capabilities habilitadas por defecto. Al intentar arrancar el servicio, veremos un error como este:

Sep 23 00:46:04 servidor pure-ftpd: (?@?) [ERROR] Unable to switch capabilities : Operation not permitted

Para solventar el problema, haremos lo siguiente:

vzctl stop numero-veid

VPSID=numerodecontainerquesea
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
vzctl set $VPSID –capability ${CAP}:on –save
done

vzctl start numero-veid

06 sep, 2009

Chuleta de MDADM (Raid Software)

Escrito por: leopoldomaestro En: Almacenamiento|Linux|RAID

Obtener información del RAID:

# cat /proc/mdstat

Detalles de las unidades RAID:

# mdadm –query /dev/md0

# mdadm –detail /dev/md0

Detalles de las unidades físicas:

# mdadm –query /dev/sdb1

# mdadm –examine /dev/sdb1

Administración de una RAID y sus discos

* Establecer un disco como faulty/failed:

$ sudo mdadm –fail /dev/md0 /dev/sdb1

No utilizar en RAID0 ó RAID en modo linear. Pueden perderse los datos!

* Quitar un disco fallido de una RAID:

$ sudo mdadm –remove /dev/md0 /dev/sdb1

* Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)

$ sudo mdadm –zero-superblock /dev/sdb1

* Añadir un disco a la RAID

$ sudo mdadm –add /dev/md0 /dev/sdb1

* Añadir soporte “bitmap” a un RAID

$ sudo mdadm –grow /dev/mdX –bitmap=internal

* Quitar el soporte de “bitmap” a un RAID

$ sudo mdadm –grow /dev/mdX –bitmap=none

* Crear un RAID

mdadm --create --verbose /dev/md0 --level=1 /dev/sda1 /dev/sdb2

* Generar el mdadm.conf con la configuración actua

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

Fuente:  Ruddyger & Ducea

04 sep, 2009

Cambiar el planificador de E/S por defecto en Proxmox

Escrito por: leopoldomaestro En: openvz|Virtualización

Por defecto, Proxmox tiene configurado como planificador de E/S CFQ. En general, mi experiencia con OpenVZ y Proxmox en concreto, ha sido bastante nefasta con el planificador CFQ. En una compresion de un tar o en backups rutinarios, el sistema podia alcanzar loads de 5 a 20, dejando totalmente KO el servidor.

Para evitar esto, podemos probar con el planificador deadline. Para activarlo:

echo deadline > /sys/block/sda/queue/scheduler

30 ago, 2009

Script para transformar permisos compatibles con SUPHP en Cpanel

Escrito por: leopoldomaestro En: Cpanel|Linux

for usuarios in `/bin/ls /var/cpanel/users`; do

chown -R ${user}:${user} /home/${user}/public_html
chmod 755 /home/${user}/public_html
find /home/${user}/public_html -name “*.php” -exec chmod 644 {} \;
find /home/${user}/public_html -type d -exec chmod 755 {} \;

30 ago, 2009

Script para retener backup de Cpanel

Escrito por: leopoldomaestro En: Cpanel|Linux

#!/bin/bash
ahora=`date ‘+%Y%m’%d`
backup=”backup/cpbackup” ## carpeta de backup
retencion=”backup/retencion” ## carpeta de backup

mv -f “/$backup”/daily /”$retencion”/$ahora
mkdir “/$backup”/daily
cp -al /”$retencion”/$ahora/* /”$backup”/daily/

cd /”$retencion”/
for backup in *;
do limite=`date ‘+%Y%m’%d –date ’7 dias’`;
if [ "$backup" != "daily" ] && [ "$backup" -lt "$limite" ];then rm -rf “$backup”;
fi;
done

30 ago, 2009

Habilitar iptables para los containers OpenVZ en Proxmox

Escrito por: leopoldomaestro En: Uncategorized

Si deseamos habilitar IPTables para los containers OpenVZ (VPS) en Proxmox, tenemos que hacer lo siguiente:

1) Abrir el fichero /etc/vz/vz.conf

2) Comentar la actual linea de IPTABLES= y añadir lo siguiente:

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”

Salvamos el fichero y reiniciamos el servicio vz:

/etc/init.d/vz restart

Si todo fue bien, ya podemos usar iptables en las vps.

30 ago, 2009

Ejemplo de my.cnf para Cpanel

Escrito por: leopoldomaestro En: Cpanel|MySQL

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
max_connections = 500
max_user_connections=100
skip-locking
key_buffer = 92M
myisam_sort_buffer_size = 64M
join_buffer_size = 2M
read_buffer_size = 4M
sort_buffer_size = 2M
key_buffer_size = 256M
table_cache = 20000
thread_cache_size = 384
#wait_timeout = 90
#connect_timeout = 10
tmp_table_size = 8192M
max_heap_table_size = 8192M
max_allowed_packet = 64M
#max_connect_errors = 10
query_cache_limit = 3M
query_cache_size = 40M
query_cache_type = 1
query_prealloc_size = 163840
query_alloc_block_size = 32768
thread_concurrency = 16

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M

[mysqldump]
quick
max_allowed_packet = 16M

[mysql.server]
user=mysql
#basedir=/var/lib
old-passwords = 1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

local-infile=0

Sobre el blog

Blog personal de Leopoldo Maestro en el que se cubren noticias, curiosidades y experiencias relacionadas con la Administración de Sistemas, Networking, Negocios, Tecnología...

Publicidad