Instalar Ubuntu Server sobre RAID 1 software

Un pequeño manual o reseña como lo querrais llamar… de cómo instalar Ubuntu Server en un sobre un RAID creado por software, en una máquina con dos discos iguales. Esta manual implica particionar y formatear discos duros, lo que destruye todos los datos. Por favor no la uses si no sabes lo que estás haciendo.

Página 1 – Particionar los discos duros

Instalar Ubuntu Server  (vale perfectamente para todas las version de Ubuntu Server) sobre un arreglo RAID creado por software es fácil, pero la interfaz puede ser confusa. La instalación la haré sobre una máquina virtual con dos discos duros idénticos de 8 GB cada uno.

Ubuntu installer 1

La instalación es totalmente standard hasta el momento de particionar los discos duros. En ese momento hay que decidir cuánto espacio dedicarle a cada función. En esta máquina de prueba usaré dos arreglos RAID; uno para la memoria virtual y otro para los datos. El de memoria virtual será de 512 MB (igual a la cantidad de RAM en este servidor) y el resto estará dedicado a una partición única.

Esta es la primera pantalla del particionador (nótense los dos discos iguales):

Ubuntu partitioner 1Acá escogeré la tercera opción, «Manually edit partition table». El particionador manual se ve así:

Ubuntu partitioner 2

Primero editaré el primer disco (/dev/sda en este caso). El instalador de Ubuntu pregunta si estoy seguro de crear una tabla de partición en blanco en el disco duro. Contestaré «Yes».

Ubuntu partitioner 3Ahora aparece el espacio vacío en el particionador:

Ubuntu partitioner 4Cuando selecciono el espacio vacío, Ubuntu pregunta qué deseo hacer con él.

Ubuntu partitioner 5Respondo «Create a new partition» y me pide que le diga cuánto espacio dedicarle a la partición. Ofrece usar todo el espacio (8.6 GB, en este caso).

Ubuntu partitioner 6Como mi idea es usar 0.5 GB para memoria virtual, bajo lo que ofrece a 8.1 GB

Ubuntu partitioner 7El tipo de partición es «Primary»

Ubuntu partitioner 8y deseo que lo cree al principio del disco duro.

Ubuntu partitioner 9Tras crear la partición, debemos decirle a Ubuntu el rol que esta tendrá. Por default, Ubuntu ofrece usar la partición para el sistema operativo.

Ubuntu partitioner 10

En este caso, queremos dedicarle la partición a un arreglo RAID. Por lo tanto, muevo el cursor a «Use as:» y aprieto Enter. En la pantalla siguiente se puede elegir el rol de la partición:

Ubuntu partitioner 11

Elige «physical volume for RAID» y presiona Enter. El rol de la partición cambia para confirmar:

Ubuntu partitioner 12Falta decirle que esta partición es booteable. Presiona enter sobre «bootable flag».

Ubuntu partitioner 13Esta partición está lista. Presiona «Done setting up the partition».

Ubuntu partitioner 14Ahora el disco duro tiene una partición creada, y espacio libre. Crearemos otra partición primaria en el resto del espacio. El uso será physical volume for RAID, no booteable. Presiona Enter sobre «FREE SPACE» y sigue los mismos pasos de nuevo. Recuerda aceptar usar todo el espacio restante, y cambiar el rol de la partición a «physical volume for RAID». Cuando termines, la parte relevante de la ventana principal del particionador debiera verse más o menos así (como se vea exactamente dependerá de tus discos duros):

Ubuntu partitioner 15

Ahora debes repetir exactamente el mismo proceso con el segundo disco duro. Los tamaños de las particiones deben ser idénticos. Cuando termines la ventana principal del particionador debiera verse así:

Ubuntu partitioner 16

Ahora es el momento de crear los arreglos RAID

Para crear los dispositivos RAID, escoge «Configure software RAID» (la opción de más arriba en el menú principal del particionador).

Ubuntu partitioner 17Antes de continuar, debemos confirmar que queremos guardar los cambios a las tablas de partición. Responde «Yes».

Ubuntu partitioner 18

Tras guardar los cambios aparece el menú de RAID por software. Crearemos dos dispositivos MD, uno para los datos y otro para la memoria virtual. Escoge «Create MD device».

Ubuntu MD 1

Lo primero que Ubuntu quiere saber es qué tipo de arreglo RAID estamos creando. En este caso es RAID 1. Escoge RAID 1 y presiona Enter.Ubuntu MD 2

Luego debemos decirle cuántos dispositivos serán parte de este arreglo. En este caso, usaremos 2.

Ubuntu MD 3Luego hay que decirle cuántos de éstos estarán en standby por si hay fallas (los «spares»). En este caso, 0, que es lo que ofrece por default (ya que el mínimo de dispositivos para un RAID 1 son 2, todos estarán ocupados).

Ubuntu MD 4

Por último hay que escoger los dispositivos que serán parte del arreglo. En este caso elegí la primera partición de cada disco (/dev/sda1 y /dev/sdb1).

Ubuntu MD 5Una vez que el arreglo está creado, el instalador muestra la pantalla inicial de la configuración de RAID de nuevo.

Ubuntu MD 1Repite los mismos pasos para crear un segundo dispositivo MD, RAID 1, con las otras dos particiones.

Cuando termines selecciona «Finish» y volverás a la pantalla inicial del particionador, donde habrá dos dispositivos nuevos: los discos duros virtuales que representan los arreglos RAID.

Ubuntu Partitioner with MD devicesLos dispositivos RAID se comportan como discos duros, y también deben ser particionados.

Página 3 – particionar los arreglos RAID

Escoge el primer dispositivo RAID, el de más capacidad (en este ejemplo, 8.1 GB) y presiona Enter. El particionador, por default, no le asigna rol.

Ubuntu partioning MD device 1Escoge «Use as: do not use» y presiona Enter. Elige usar un sistema de archivos Ext3:

Ubuntu partioning MD device 2y presiona Enter. Aún falta un paso más, decirle al instalador que queremos usar esta partición para el sistema de archivos. Mueve el cursor a «Mount point: none» y presiona Enter.

Ubuntu partioning MD device 3Dile que quieres usar esta partición para «/ – the root file system»

Ubuntu partioning MD device 4y, por último, confirma que terminaste de configurar esta partición. Apreta Enter sobre «Done setting up the partition». La partición debiera verse así antes de confirmar:

Ubuntu partioning MD device 5En la pantalla principal del particionador, los cambios están guardados (dice en forma muy compacta que será un sistema de archivos ext3, para montar /). Es hora de particionar el otro arreglo RAID.

Ubuntu partioning MD device 6

Escoge el RAID #1 y presiona Enter. Al igual que en el caso anterior, el instalador no le da un uso por default. Escoge «Use as: do not use» y presiona Enter.

Ubuntu partioning MD device 7

Elige «swap area» para este disco y presiona Enter.

Ubuntu partioning MD device 8Una vez que la partición esté configurada, elige «Done setting up the partition» y el particionador mostrará los dos dispositivos RAID con su configuración lista:

Ubuntu partioning MD device 9

Mueve el cursor hasta el final de la pantalla del particionador y elige «Finish partitioning and write changes to disk.»

Ubuntu partioning MD device 10Una vez más debemos confirmar los cambios a las tablas de partición:

Ubuntu partioning MD device 11Elige «Yes» y presiona Enter. El resto de la instalación de Ubuntu server es normal y no tiene relación con los discos. Si todo sale bien, el sistema bootea correctamente desde su arreglo RAID.

Manual guía sobre cómo analizar el tráfico de red con Wireshark

INTECO-CERT presenta el informe «Análisis de tráfico con Wireshark» que pretende servir de apoyo a administradores y técnicos de seguridad a la hora de analizar tráfico para detectar problemas o ataques de red.

inteco cert

Seguramente todo administrador de redes ha tenido que enfrentarse alguna vez a una pérdida del rendimiento de la red que gestiona. En ese caso sabrá que no siempre es sencillo, por falta de tiempo y recursos o por desconocimiento de las herramientas apropiadas, tener claros los motivos por los que esto ha sucedido. En ocasiones, incluso se ha podido llegar a perder la conectividad o bien ciertos equipos han podido desconectarse sin motivo aparente.

En cualquier caso, conocer el origen del incidente es el primer paso para poder tomar las contramedidas necesarias y conseguir una correcta protección. En este punto, los analizadores de tráfico pueden resultar de gran utilidad para detectar, analizar y correlacionar tráfico identificando las amenazas de red para, posteriormente, limitar su impacto. Con tal propósito, existen en el mercado dispositivos avanzados como el appliance MARS (Monitoring, Analysis and Response System) de Cisco o IDS/IPS basados en hardware de diversos fabricantes. Pero estas soluciones no siempre están al alcance de todas las empresas ya que su coste puede que no cumpla un principio básico de proporcionalidad (el gasto es superior al beneficio obtenido) y, por lo tanto, no se justifique su adquisición.

Por ello, y para cubrir las necesidades de entidades con infraestructuras tecnológicas más modestas, INTECO-CERT presenta esta «Guía de análisis de tráfico con Wireshark». Tiene por objeto sensibilizar a administradores y técnicos de las ventajas de auditar la red con un analizador de tráfico, principalmente utilizando la herramienta libre Wireshark. Además, ofrece ejemplos prácticos de ataques en redes de área local bastante conocidos y que actualmente siguen siendo uno de los mayores enemigos en los entornos corporativos.

El manual guía se encuentra disponible en la siguiente dirección web:

UNIX and Linux System Administration Handbook (4th Edition)

The twentieth anniversary edition of the world’s best-selling UNIX system administration book has been made even more invaluable by adding coverage of the leading Linux distributions: Ubuntu, RHEL, and openSUSE. System administrators looking to efficiently solve technical problems and maximize reliability and performance in production environments can now turn to UNIX® and Linux® System Administration Handbook, Fourth Edition, which has been systematically updated to reflect today’s most important enterprise Linux and UNIX distributions and most valuable administrative tools.

Drawing on decades of experience, the authors share clear, well-founded advice on constructing robust, production-grade systems and networks that can be easily maintained, monitored, and controlled. You’ll find detailed, up-to-date best practices advice and important new coverage of virtualization, cloud computing, security management, web load balancing and scalability, LDAP/Active Directory integration, modern web scripting languages, Spacewalk, DTrace, eco-friendly IT management, and much more. It reflects the latest versions of all these distributions:

Red Hat® Enterprise Linux®
Ubuntu Linux
openSUSE
Oracle Solaris
OpenSolaris
AIX
HP-UX

Sharing war stories and hard-won insights, the authors capture the behavior of UNIX and Linux systems in the real world, not just in ideal environments. They explain complex tasks in detail, with illustrations from actual production environments, and provide brand-new “Top 20 lists” of system administration rules, power-saving tips, and more.

UNIX-and-Linux-System-Administration-Handbook
UNIX-and-Linux-System-Administration-Handbook

Download
http://hotfile.com/dl/60820571/970ddb7/unix.system.admin.didrapost.com.rar.html

Cluster Mysql con CentOS, DRBD y Heartbeat

Heartbeat (High Availability)Distributed Replicated Block Device

CentOS + DRBD + HeartBeat + MYSQL DRBD (Distributed Replicated Block Device), es un sistema para almacenamiento distribuido usado en Linux para realizar replicaciones de sistemas de archivos por bloques. Este paquete consiste en un modulo del Kernel drbd-kmod, y scripts que permiten que se puedan realizar replicaciones muy similares a un RAID 1, en red. DRBD se suele usa acompañado de herramientas de High Availability (HA), como Heartbeat, para lograr servidores de alta disponibilidad.

Paquetes Necesarios

En el siguiente ejemplo utilizaremos como base un sistema 32 bits, para lo cual necesitaremos instalar por Yum, o por RPM los siguientes paquetes.
• drbd.i386
• kmod-drbd.i686
• MySQL-server <– Aplica a nuestro caso se puede usar cualquier otro servicio.
• Heartbeat*
• Gnutls*
• Ipvsadm*

Para ejecutar el modulo de drbd en el kernel debemos ejecutar lo siguiente:

• modprobe drbd

Instalación del Sistema Operativo CentOS.
El sistema operativo lo instalaremos como una instalación normal, con las particiones que deseemos para el, con la única diferencia que dejaremos un espacio sin particionar para ser usado por DRBD, en esta partición almacenaremos en el futuro las aplicaciones que deseemos administrar con DRBD, por ejemplo, si deseamos como es nuestro caso que DRBD mantenga actualizado nuestro MySQL, debemos asegurarnos que TODA la data del MySQL se este almacenando en el volumen lógico del DRBD.

Preparación de la partición de DRBD

Para particionar el volumen que hemos dedicado a nuestro DRBD, será necesario crear un volumen físico, luego agruparlo y por último crear el volumen lógico, de la siguiente forma.
• Pvcreate /dev/sda5 <–/dev/sda5 dependerá de la partición que nos de fdisk –l
• Vgcreate drbd /dev/sda5 <– drbd es el nombre que le daremos al grupo de volúmenes.
• Lvcreate -L1024M -n mysql-drbd drbd <– mysql-drbd es el nombre que le daremos a nuestro volumen lógico.

Configurar DRBD

Una vez hayamos preparado las particiones de DRBD en ambos servidores, es momento de proceder a realizar la configuración de DRBD, esto consiste en editar un fichero ubicado en la ruta /etc/drbd.conf, este archivo tiene características muy peculiares dependiendo de lo que deseamos realizar. En nuestro caso esta adaptado a las necesidades de MySQL, y quedaría de la siguiente forma.

# Our MySQL share
resource db {
protocol C;
handlers {pri-on-incon-degr “echo ‘!DRBD! pri on incon-degr’ | wall ; sleep 60 ; halt -f”; }
startup { wfc-timeout 0; degr-wfc-timeout 120; }
disk { on-io-error detach; } # or panic, …
syncer { rate 6M; }
on srv-nodo01-drbd {
device /dev/drbd1; #Este es el device que se crea para DRBD
disk /dev/mysql_drbd/mysql-drbd; #Este es el volumen lógico que creamos
address 10.134.16.210:7789; #ip servidor nodo01
meta-disk internal;
}
on srv-nodo02-drbd {
device /dev/drbd1;
disk /dev/mysql_drbd/mysql-drbd;
address 10.134.16.209:7789;
meta-disk internal;
}
}

Este es el contenido del archivo /etc/drbd.conf, y debe ser igual en ambos equipos por ende podemos hacer simplemente un scp o un rsync entre ambos para copiarlo.

Una vez configurado nuestros DRBD, debemos iniciar el servicio pero antes debemos crear los recursos que hemos configurado, en nuestro caso como se puede observar en el archivo el recurso se llama “db”, por tal motivo ejecutaremos el siguiente comando e iniciamos el servicio.

drbdadm create-md db

La ejecución de este comando dará las siguientes respuestas:

[root@node1 etc]# drbdadm create-md db
v08 Magic number not found
v07 Magic number not found
About to create a new drbd meta data block on /dev/sda5.
. ==&gt; This might destroy existing data! &lt;== Do you want to  proceed? [need to type 'yes' to confirm] yes Creating meta data…  initialising activity log NOT initialized bitmap (256 KB) New drbd meta  data block sucessfully created.</blockquote>
service drbd start 

Podemos ver que el servicio esta funcionando correctamente si ejecutamos lo siguiente en ambos equipos.

cat /proc/drbd
[root@node1 etc]# service drbd start

Starting DRBD resources:    [ d0 n0 ]. …… 
[root@node1  etc]# cat /proc/drbd version: 8.0.4 (api:86/proto:86) SVN Revision:  2947 build by buildsvn@c5-i386-build, 2007-07-31 19:17:18  . 0:  cs:Connected st:Secondary/Secondary ds:Inconsistent/Inconsistent C r—   .  ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0    . resync:  used:0/31 hits:0 misses:0 starving:0 dirty:0 changed:0 act_log:  used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0
[root@node1  etc]# ssh root@node2 cat /proc/drbd   version: 8.0.4 (api:86/proto:86)  SVN Revision: 2947 build by buildsvn@c5-i386-build, 2007-07-31 19:17:18   . 0: cs:Connected st:Secondary/Secondary ds:Inconsistent/Inconsistent C  r—   . ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0    . resync:  used:0/31 hits:0 misses:0 starving:0 dirty:0 changed:0 act_log:  used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0

En este punto si nos fijamos en los resultados del comando anterior podremos observar que ambos nodos están configurados como secundarios, y como es de suponerse necesitamos que uno de ellos al menos, sea primario. Para realizar esta tarea es necesario hacer lo siguiente.

[root@node1 etc]# drbdadm — –overwrite-data-of-peer primary db
[root@node1 etc]# watch -n 1 cat /proc/drbd

version:  8.0.4 (api:86/proto:86) SVN Revision: 2947 build by  buildsvn@c5-i386-build, 2007-07-31 19:17:18  . 0: cs:SyncTarget  st:Primary/Secondary ds:Inconsistent/Inconsistent C r—   . ns:0 nr:68608  dw:68608 dr:0 al:0 bm:4 lo:0 pe:0 ua:0 ap:0    .  [&gt;...................] sync’ed:  0.9% (8124/8191)M finish: 0:12:05  speed: 11,432 (11,432) K/sec resync: used:0/31 hits:4283 misses:5  starving:0 dirty:0 changed:5 act_log: used:0/257 hits:0 misses:0  starving:0 dirty:0 changed:0

En este punto está listo configurado y operativo el DRBD, por lo que podemos formatear nuestro volumen lógico para dejarlo preparado para recibir información, de la siguiente forma.

mkfs.ext3 /dev/drbd1 ; mkdir /db ; mount /dev/drbd1 /db

Para probar ahora que todo este funcionando como esperamos podemos crear archivos falsos en nuestra partición, e intercambiar los roles de primario y secundario para verificar que se estén sincronizando nuestros archivos, para esto podemos seguir los siguientes pasos.

[root@node1 etc]# for i in {1..5};do dd if=/dev/zero of=/db/file$i bs=1M count=100;done

Este comando creará 5 ficheros de 100 megabytes, con el nombre file 1,file 2,file 3, file 4, file 5. Después de hacer el cambio de nodos manualmente como se describe a continuación, podremos verificar que nuestros ficheros se han replicado.

[root@node1 /]# umount /db ; drbdadm secondary db
[root@node2 /]# mkdir /db ; drbdadm primary db ; mount /dev/drbd1 /db
[root@node2 /]# ls /db/ file1  file2  file3  file4  file5  lost+found

Ahora podemos realizar el proceso contrario para verificar qque si por algún motivo nuestro nodo01 falla, la información del nodo02 podrá ser replicada al nodo01 sin problemas.

[root@node2 /]# rm /db/file2 ; dd if=/dev/zero of=/db/file6 bs=100M count=2
[root@node2 /]# umount /db/ ; drbdadm secondary db
[root@node1 /]# drbdadm primary db ; mount /dev/drbd1 /db
[root@node1 /]# ls /db/ file1  file3  file4  file5  file6  lost+found

En este punto ya hemos comprobado que nuestro DRBD funciona correctamente, y por ende solo nos queda configurar la última herramienta de HA, Heartbeat, que lo haremos después de configurar MySQL con las particiones de DRBD

Configuración de MYSQL

Para configurar MySQL con las particiones de DRBD es simple en nuestro archivo /etc/my.cfg, tenemos una directiva que nos dice donde se almacena la data de MySQL, esta directiva es datadir=/var/lib/mysql en este caso el datadir apunta al directorio /var/lib/MySQL, lo que haremos ahora es simplemente mover el directorio /var/lib/MySQL, a /db y luego crearemos un enlace simbólico lo que será suficiente para que la data almacenada por MySQL se escriba en nuestro volumen lógico. Para esto debemos detener el servicio de MySQL previamente.

Nodo 01
[root@node1 /]# service mysqld stop
[root@node1 /]# mkdir /db/mysql
[root@node1 /]# chown -R mysql.mysql /db/mysql
[root@node1 /]# mv /home/mysql/data /db/mysql/data
[root@node1 /]# ln -s /db/mysql/data /home/mysql/data
Nodo 02
[root@node2 /]# service mysql stop
[root@node2 /]# mv /home/mysql/data /tmp
[root@node2 /]# ln -s /db/mysql/data /home/mysql/data

Una vez realizado esto ya estan preparados nuestros dos nodos, por lo que procederemos a iniciar Mysql en el Nodo01.

Configuración de Heartbeat

La configuración de Heartbeat consiste básicamente en 5 pasos que en su mayoría deberán ser ejecutados y realizados de forma idéntica en cada equipo.

• Editar el fichero vi /etc/sysctl.conf de la siguiente forma:

net.ipv4.ip_forward = 1

• Verificar que los servicios necesarios estén ejecutándose

chkconfig –level 2345 heartbeat on
chkconfig –del ldirectord

• Editar el fichero de heartbeat /etc/ha.d/ha.cf de la siguiente forma en AMBOS nodos:

#/etc/ha.d/ha.cf content

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694 #si hay varios heartbeat es necesario editar el Puerto
bcast eth0 # Linux
auto_failback on #(This will failback to machine1 after it comes back)
ping 10.10.150.100 #(Your gateway IP)
apiauth ipfail gid=haclient uid=hacluster
node machine1.myhost.com
node machine2.myhost.com

• Editar el fichero /etc/ha.d/haresources al igual que el ha.cf idénticos en ambos nodos.

#/etc/ha.d/haresources content
machine1.myhost.com  LVSSyncDaemonSwap::master IPaddr2::10.10.150.3/24/eth0:1 drbddisk::db  Filesystem::/dev/drbd1::/db::ext3 mysqld

• Ahora debemos editar el fichero de seguridad que nos permitirá que el heartbeat se autentifique entre el nodo01 y nodo02 únicamente, también deben ser idénticos en ambos nodos.

#/etc/ha.d/authkeys content
auth 2
2 sha1 YourSecretString

• Para evitar inconvenientes de permisología con le fichero de autenticación es necesario ejecutar el siguiente comando.

chmod 600 /etc/ha.d/authkeys

Herramientas de Diagnóstico

/etc/ha.d/resource.d/LVSSyncDaemonSwap master status

/etc/init.d/heartbeat status

/etc/init.d/mysqld status

The Official Ubuntu Book, Quinta Edición

the-official-ubuntu-book
The-official-ubuntu-book

Ya esta disponible desde Amazon, la quinta edición de The Official Ubuntu Book.

The Official Ubuntu Book cubre en sus 448 páginas gran parte de lo necesario para manejar y conocer esta distribución, una de las más populares actualmente en el mundo Gnu/Linux. Puedes darle un vistazo al contenido del libro en la pagina de Amazon.

También lo podeis descargar libremente desde aqui http://hotfile.com/dl/58845208/26a876a/the.oficcial.ubuntu.book.rar.html