Estás navegando por el archivo de Linux.

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?.

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

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).

Guardar configuración de iptables

16 marzo 2009 in Linux

Las reglas creadas con el comando iptables se almacenan en RAM.

Para que se guarden permanentemente y así sean efectivas al reiniciar el ordenador, hay que almacenarlas en el fichero /etc/sysconfig/iptables

No es necesario modificar manualmente este fichero, basta con ejecutar el comando service iptables save después de haber creado o modificado las reglas.

Si no está disponible la orden service, también funciona: /etc/init.d/iptables save

Subversion: svnserve sobre xinetd

18 febrero 2009 in Linux

Para ejecutar el servidor svnserve sobre xinetd y así dar servicio de svn a clientes a través de la red, hay que seguir los siguientes pasos:

Crear el archivo /etc/xinetd.d/svn con el siguiente contenido:

# default: on
# Subversion server
service svn
{
socket_type = stream
protocol = tcp
user = root
wait = no
disable = no
server = /usr/bin/svnserve
server_args = -i
port = 3690
}

Hay que asegurarse de que en el fichero /etc/services existan las siguientes lineas:

svn 3690/tcp # Subversion
svn 3690/udp # Subversion

A continuación hay que reiniciar el servicio xinetd mediante /etc/init.d/xinetd restart

Wake On Lan (WOL) en Linux Ubuntu 8.10

17 enero 2009 in Linux

Para activar la opción WOL en la tarjeta de red hay que ejecutar la orden:
ethtool -s eth0 wol g
El problema es que al apagar el ordenador se pierde esta configuración. Una solución es preparar un script para que ejecute esta orden al iniciar y al apagar el equipo, asegurándonos así que la tarjeta siempre estará preparada. Hay que crear un fichero de nombre wakeonlan en el directorio /etc/init.d con el siguiente contenido:
#!/bin/bash
ethtool -s eth0 wol g
exit

A continuación le damos permisos de ejecución con:
chmod a+x /etc/init.d/wakeonlan
Y para que se ejecute al iniciar y apagar el equipo hacemos:
update-rc.d -f wakeonlan defaults

Webcam Microdia en Linux Ubuntu 8.10

11 enero 2009 in Linux

La webcam Vivanco (Microdia) no trae drivers para Linux (para variar).

Buscando por google encuentro esto donde explican cómo hacerla funcionar.

Impresora Oki B4100 en Linux

9 enero 2009 in Linux

No hay controladores para la impresora B4100 de Oki para Linux

La solución está en utilizar los de la impresora HP Laserjet 1100 usando Foomatic + hpijs

Lo explican en: http://www.openprinting.org/show_printer.cgi?recnum=Okidata-B4100

Cerrar
E-mail It