Añadir un disco a un RAID 5 en Linux y controladora HP Smart Array

25 julio 2011 in General, Linux

En la empresa tenemos un servidor HP Proliant ML350 con tres discos duros SAS de 72 Gb en RAID 5, con un total de 140 Gb.

Recientemente nos hemos quedado sin espacio en disco y hemos decidido ampliarlo añadiendo al RAID otro disco de 72 Gb.

El proceso no es sencillo, pues sobre el RAID hay montado un sistema de volúmenes lógico con LVM2 y dentro de él hay una partición ext3.

Es muy recomendable tener una copia de seguridad por lo que pueda pasar. Yo he hecho antes un clon, sobre un disco externo usb, de las dos particiones que tengo con la utilidad “clone2fs

Vamos a empezar con la utilidad de linea de comandos hpacucli que proporciona HP en sus servidores Proliant.

# hpacucli ctrl all show

 

Smart Array E200i in Slot 0 (Embedded) (sn: QT89MP3239 )

Con la orden anterior obtenemos que la controladora se encuentra en el slot 0.
Ahora hacemos:
# hpacucli ctrl all show config
Smart Array E200i in Slot 0 (Embedded)

array A

physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 72 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 72 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 72 GB, OK)

 

unassigned
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 72 GB, OK)

Vemos que se detecta correctamente el disco que se ha añadido al servidor en la bahía número 4 y que no está asignado.
Lo asignamos al array A junto con los otros tres con la orden:
# hpacucli ctrl slot=0 array A add drives=1I:1:4

Ahora la controladora de disco comenzará a reorganizar el RAID 5 incorporando el nuevo disco. Con la orden "hpacucli ctrl slot=0 ld 1 show" podemos ir revisando el progreso de la reorganización.
Cuando haya terminado (tardará algunas horas), ampliaremos el tamaño del array A con la orden: "hpacucli ctrl slot=0 ld 1 modify size=max“.
A continuación habrá que reiniciar el servidor para que se entere del nuevo tamaño del disco (puede que haya otra forma de avisar al sistema operativo del nuevo tamaño, pero en este momento la desconozco).
Ahora tenemos un disco de mayor tamaño, pero las particiones que contiene siguen teniendo el mismo tamaño. En mi caso, tenia dos particiones: /dev/cciss/c0d0p1 y /dev/cciss/c0d0p2. La primera formateada con ext3 y punto de montaje “/boot” y la segunda con LVM2 asignada a “/”. Esta última es un volúmen lógico (VolGroup00) con dos particiones (LogVol00 para “/” y LogVol01 para swap). La idea es aumentar LogVol00 que es donde reside el sistema de ficheros. Para ello hay que hacer más grande la partición física /dev/cciss/c0d0p2. El programa gparted no lo puede hacer porque no tiene soporte para particiones formateadas con LVM2, así que habrá que hacerlo a mano.
Antes, por precaución he hecho una copia del MBR por si necesitara restaurarlo.
Lo que viene a continuación lo podemos hacer porque se dan dos condiciones favorables. La primera es que la partición que queremos ampliar es la última del disco, que tiene un inicio en el cilindro siguiente en el que termina la primera partición y tiene como cilindro final el último que había disponible en el disco antes de ampliarlo. La segunda condición es que sólo nos hace falta incrementar este último cilindro final para que la segunda y ultima partición crezca hasta el final del disco.
Entramos con “fdisk /dev/cciss/c0d0", borramos la partición 2 (c0d0p2), la creamos de nuevo con los valores por defecto, cambiamos el tipo a 8e (LVM), grabamos los cambios y salimos. Ya sé que esto es arriesgado y más con el servidor en marcha, pero ha funcionado a la perfección. Linux no deja de asombrarme, y cada día más, cuando hago este tipo de cosas :-) .
Con la orden “partprobe” avisamos al sistema operativo del cambio de tamaño de la partición. Tanto con fdisk como con gparted ya veo el nuevo tamaño.
Antes de continuar reinicio el servidor para asegurarme de que todo lo hecho hasta el momento funciona correctamente.
A continuación vamos a reconfigurar el sistema LVM para adaptarlo al nuevo tamaño.
Empezamos con “pvresize /dev/cciss/c0d0p2” para cambiar el tamaño del volumen físico. Podemos verificar que ha ido bien con “pvscan“.
Con “vgdisplay” veremos el nuevo espacio disponible (Free PE / Size). En mi caso me aparecen 68,34 Gb libres.
Ahora, aumentamos el tamaño del volumen lógico con la orden: “lvextend -L +68,34G /dev/mapper/VolGroup00-LogVol00“. Y de nuevo, podremos verificar el resultado con “vgdisplay” confirmando que VolGroup00 ha crecido y ya no queda más espacio físico disponible.
Ahora ya sólo nos queda un último paso, el sistema de ficheros ext3 que tenemos en LogVol00 aún tiene el tamaño original, así que hay que ampliarlo con la orden “resize2fs /dev/mapper/VolGroup00-LogVol00“.
Si todo ha ido bien, con “df -h” veremos ya ampliado el espacio en disco de nuestro servidor.
Una vez más, reinicio el servidor para asegurarme de que todo va bien, ya no sólo por el trabajo que acabo de hacer, sino para asegurarme también que si se va la luz (cosa muy frecuente por aquí) el servidor arrancará correctamente cuando vuelva.

Sigo pensando que se podría realizar todo el proceso online y sin reiniciar el servidor. ¿Alguno de vosotros lo ha probado y conseguido?.

Inicio de sesión automático en Windows XP

15 septiembre 2010 in General

En ocasiones interesa que un ordenador inicie sesión automáticamente en un dominio, por ejemplo en el caso de terminales de taller o punto de venta, que sólo necesitan acceso a la carpeta donde está el programa que tienen que ejecutar y poco más.

En la página de Microsoft hay un artículo que explica cómo conseguir esto.

Error GPG al actualizar repositorios

1 abril 2010 in Linux

A veces se produce un error de GPG de verificación de llave pública al actualizar un ordenador con linux debian o compatible (apt-get update).
Se ha mejorado el sistema de seguridad de verificación de paquetes y este error aparece cuando la clave pública ha caducado.
La solución está en ejecutar las dos instrucciones siguientes para importar la nueva clave:

gpg --keyserver subkeys.pgp.net --recv-keys XXXXXXXXXXXXXXXX
gpg --armor --export XXXXXXXXXXXXXXXX | sudo apt-key add -

(Hay que sustituir XXXXXXXXXXXXXXXX por la clave pública que nos indica el mensaje de error)

Si esto no funciona se puede probar a actualizar los ficheros de llaves con:

apt-get install debian-keyring debian-archive-keyring

Acceder a archivos chm desde la red

31 marzo 2010 in windows

Últimamente me encuentro con muchos ordenadores que no pueden leer el contenido de ficheros de ayuda de Windows (*.chm)
Parece ser que el problema está relacionado con la seguridad de Windows.
Para solucionarlo hay que entrar en el registro, en la rama HKLM\Software\Microsoft\HTMLHelp\1.x y crear la clave ItssRestrictions. Dentro de ella hay que crear el valor numérico (DWORD) MaxAllowedZone y asignarle el valor 1.

Consola linux: autocompletado ignorando mayúsculas/minúsculas

8 marzo 2010 in Linux

Para navegar más rápido por las carpetas de linux usando TAB para completar el camino, podemos añadir la línea siguiente al archivo /etc/inputrc:

set completion-ignore-case on

De esta manera, la ruta se irá completando correctamente ignorando las mayúsculas/minúsculas de las letras que vayamos escribiendo.

Convertir a minúsculas los nombres de archivos

29 noviembre 2009 in Linux

En ocasiones me he encontrado con manuales de instrucciones en formato HTML. Por lo general esto no suele ser un problema en Linux, a no ser que los nombres de archivos estén en mayúsculas y los enlaces que los abren en minúsculas. En Windows no pasa nada, por que no distingue entre mayúsculas y minúsculas, pero en Linux no.
Para poder leer en Linux estos manuales, lo más rápido es pasarlos al disco duro y convertir los nombres a minúsculas con la siguiente orden:
for i in `find * -depth`; do (mv $i `echo $i | sed 's%[^/][^/]*$%%'``echo $i | sed 's!.*/!!' | tr [:upper:] [:lower:]`); done
Este comando convertirá a minúsculas el nombre de todos los ficheros que se encuentren en el directorio desde el que lo ejecutemos y de todos los subdirectorios incluidos.

Vi: actualizar fichero de sólo lectura

29 octubre 2009 in Linux

Muchas veces pasa que después de editar un fichero no podemos grabar los cambios porque no tenemos permiso de escritura, y no nos damos cuenta hasta que damos la orden para guardar y salir ( :wq ) y el vi nos dice que no puede ser. Esto suele ocurrir cuando editamos algún fichero de configuración de la carpeta /etc (de los que sólo root puede modificar) con nuestra cuenta de usuario normal.
En estos casos y siempre que tengamos disponible para nuestra cuenta la opción sudo para ejecutar órdenes como administrador del sistema, podemos grabar los cambios con la siguiente orden:

:w !sudo tee %

La contraseña que nos pide es la de nuestra cuenta de usuario, no la del administrador (root).

Reparar disco duro Seagate

6 septiembre 2009 in General

Muchos discos duros Seagate, modelo 7200.11, llevan un firmware problemático que hace que de repente el disco duro deje de ser detectado por la placa base. Aunque haciendo uso de la garantía Seagate nos cambie el disco por otro, esto no es una solución aceptable porque vamos a perder todos los datos que teníamos en el disco duro estropeado.

Profundizando en el problema, resulta que al final los datos siguen estando en el disco, lo que pasa es que se pierde cierta información necesaria para su funcionamiento que se almacena en el propio disco.

Introduciendo el número de serie del disco duro en esta página de Seagate, podremos comprobar si es uno de los problemáticos.

Para no abrir el ordenador para buscar el número de serie, podemos utilizar la siguiente orden en linux para obtener este número:

hdparm -i /dev/sda (aquí hay que sustituir “sda” por el disco duro a estudiar)

Si en la página de Seagate se nos recomienda actualizar el firmware, conviene hacerles caso y actualizarlo antes de que se produzca el fallo y perdamos el acceso al disco.

Si el disco duro ya se nos ha estropeado, no hay que desesperar, en esta guía explican los pasos para recuperarlo.

En mi caso, he tenido un problema para seguir los pasos. Según se indica, se recomienda utilizar un cable de datos de móvil Nokia CA-42 o DKU-5. Yo lo he intentado con el CA-42, pero no me aparecía el correspondiente puerto COM al conectar el cable al ordenador, por lo que he tenido que construirme un adaptador serie RS232 a TTL.

El adaptador lo he hecho siguiendo este esquema utilizando una placa para prototipos (recordad que es necesario alimentar al chip MAX232 con 5V, que yo saqué cortando un alimentador para móvil). Aquí abajo se puede ver una foto de cómo me quedó el montaje.

seagate

Viendo la imágen parece que me sobran condensadores, pero es que no tenía suficientes de 1 µF y puse dos en serie de 2,2 µF para obtener uno de 1,1 µF (por ese 0,1 de diferencia no pasó nada).

“Enviar a -> Destinatario de correo” con Thunderbird

29 junio 2009 in windows

A través del explorador de Windows se pueden enviar archivos por correo electrónico fácilmente. Para ello, después de haber seleccionado el archivo a enviar y pulsado el botón derecho del ratón, nos aparece la opción Enviar a -> Destinatario de correo. Al seleccionar esta opción se abre el cliente de correo que tengamos predeterminado con un mensaje nuevo que ya lleva adjuntado el fichero que habíamos seleccionado. Solo es necesario completar los campos que nos hagan falta y enviar el mensaje.
Me he encontrado, en varios ordenadores que utilizan Mozilla Thunderbird como programa de correo, el problema de que no funciona la opción de Enviar a -> Destinatario de correo. Simplemente no hace nada.
Para solucionar el problema abrimos el registro de Windows: Inicio -> Ejecutar -> regedit ; y buscamos la rama HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Mozilla Thunderbird. Ahí nos encontraremos con la clave DLLPath y seguramente veremos que no contiene ningún valor (por eso no funciona). Sólo tenemos que hacer doble click sobre la clave DLLPath y añadir la ruta completa a la libreria mozMapi32.dll que generalmente estará en:
C:\Archivos de programa\Mozilla Thunderbird\mozMapi32.dll
.

Luchando contra el spam en los blogs

18 mayo 2009 in General

Además de todo el spam que llega por correo electrónico, me encuentro con la desagradable sopresa de que los spammers me están enviando spam a través de los comentarios de este blog.

En un primer momento pienso en activar el Akismet, sistema antispam incluido en wordpress, pero como quiero evitar falsos positivos se me ocurre la idea de incluir la clásica imágen, tan de moda hoy en día, que contiene un texto que se supone sólo pueden interpretar los humanos.  Este sistema, conocido como CAPTCHA, a parte de molesto, parece ser que no es tan infalible, pues hay programas decodificadores de captcha que pueden llegar a interpretar el texto.

Buscando por la red me encuentro con un complemento para wordpress llamado WP-Hashcash. Con este sistema, en lugar de obligar al usuario a demostrar que es humano, se interroga al cliente web para verificar que es un navegador usado por una persona y no un programa spam-bot.

Cerrar
E-mail It