Clonar un disco con errores

Cuando los sistemas funcionan a diario es normal que con el tiempo los discos empiezan a dar errores, para ello tenemos a un buen aliado que se llama S.M.A.R.T. que nos avisa cuando la salud de un disco duro no es buena y cuando empiezan a salir errores, la recomendación es parar el disco y reemplazarlo.

Esta vez el disco que tengo tiene las configuraciones enteras de un sistema operativo y reinstalar y reconstruir el sistema operativo desde 0 sería mucho trabajo, así que la opción por la que he optado es clonar el disco duro a otro disco duro que no tiene errores (comprobado con badblocks!).

Al hacer el dd se me ha cortado a medio proceso porque se ha encontrado con la parte del disco defectuosa, así que he tenido que añadir un par de opciones para omitir los errores y seguir con el clonado:

# dd if=/dev/sda |pv |dd of=/dev/sdb conv=noerror,sync

El disco duro que estoy tratando de recuperar, realmente tiene varios sectores defectuosos que con dd no hay forma de clonar, así que he tenido que usar otra herramienta gddrescue

# apt-get install gddrescue
# ddrescue -d -r3 /dev/sda /dev/sdb clonacion.log

Con el -d le decimos a ddrescue que haga un acceso directo al disco e ignore el cache del kernel (clonación bit a bit)
Con el -r3 le indicamos que pruebe hasta 3 veces la lectura de los sectores defectuosos

Después de un buen rato finalmente el disco ha sido clonado con éxito y el …

Debian: Los discos extraíbles se montan como RO para el usuario

El otro día conseguí solucionar una cosa que es un tanto molesta y un infierno para un usuario no experimentado al cual le decimos que linux es lo mejor :P

Lo que nos encontramos es que al conectar un lápiz usb o un disco duro externo usb, root tiene acceso a rw al dispositivo, pero el usuario sólo tiene ro.

El motivo es que cuando hacemos la instalación del sistema por USB nos añade un par de líneas en /etc/fstab y lo correcto es que le dejemos a udev montar estos dispositivos y no hacerlo por /etc/fstab, así que la solución consiste en comentar o borrar las líneas referentes a los medios extraíbles de fstab

#/dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0
#/dev/sdb2       /media/usb1     auto    rw,user,noauto  0       0

Rápido, sencillo y eficaz! :)…

Particiones gpt

Cuando nos encontramos con discos duros grandes, es posible que queramos hacer particiones de más de 2,2Tb, el sistema de particionado MBR (el que se viene usando toda la vida, con 4 particiones primarias) se nos queda pequeño y no es posible gestionar particiones de más de 2,2Tb, para ello tenemos que usar otro tipo de particiones, las GPT o GUID, que soporta particiones de hasta 9,4Zb (1 zettabyte = 1 bilión de terabytes) además de algunas mejoras como la definición de la tabla de particiones al principio y al final del disco.
El numero de particiones primarias que nos permite GPT es de 128.

Si quieres más información sobre este tipo de particiones:

Tabla de particiones GUID

Punto de montaje: FTP

Hace un rato que me estoy peleando en montar un recurso compartido de windows 7 con una Debian stable pero no hay forma, no hablan el mismo idioma :( incluso tratando de forzar el cifrado de la contraseña a 128bits nada de nada, así que lo que he hecho ha sido montar un servidor FTP filezilla en el windows y he hecho el punto de montaje en el GNU/Linux que es el que va a ofrecer posteriormente la conectividad a los usuarios por FTP dentro de la red guifi.

Primero de todo vamos a instalar el curlftpfs:

# apt-get install curlftpfs

Ampliación particion LVM con vmware

El escenario es de una máquina virtual montada sobre particiones LVM formateadas en ext3. La problemática está en que ya no hay mas espacio en las physical volumes, para ello tenemos 2 posibilidades, la primera añadirle un disco nuevo:

Teniendo /dev/sdd como nuevo disco:

# pvcreate /dev/sdd
# vgextend VG02 /dev/sdd

podemos poner directamente discos o particiones (sdd o sdd1).

La otra forma, mas típica de maquinas virtuales, es de asignar mas espacio al disco logico de la maquina virtual, en este caso de vmware (contamos que ya tenemos el disco /dev/sdc).

Una vez ampliado el espacio (da igual si con la maquina virtual apagada o encendida), reiniciamos la máquina para que el sistema detecte el cambio de disco.

A continuación le decimos a lvm que detecte los cambios en los physical volumes:

# pvresize /dev/sdc

Esto se verá repercutido automáticamente en el tamaño disponible en el physical volume y ya podremos asignar mas espacio en el logical volume:

# umount /dev/mapper/VG02-lv_var
# lvextend -L+10G /dev/mapper/VG02-lv_var
# e2fsck -f /dev/mapper/VG02-lv_var
# resize2fs /dev/mapper/VG02-lv_var
# mount -a

et voilà.…

Reiserfs filecheck

Cuando hacemos un redimensionamiento de una partición reiserfs es posible que con el gparted o los comandos de fsck que solemos usar no nos sirvan. Para ello hay otra herramienta específica para solucionar errores de particiones formateadas en reiserfs.

Normalmente las particiones ext se arreglan con un fsck -a /dev/sdaN, siendo N un numero, pero al hacer esta acción encima un disco reiserfs nos dará el siguiente error:…

tune2fs

Cuantas veces has reiniciado el ordenador y ha empezado a hacerse el dichoso fdisk? además en la informática hay una regla básica, la cantidad de prisa es inversamente proporcional a la lentitud de la realización de un proceso.

Para ello tenemos el tune2fs que ya viene instalado en el sistema. Con tune2fs podremos cambiar el numero de veces o tiempo que se hace cada fsck, además de saber el estado de los mounts.…

servidor de ficheros nfs

En windows está samba/cifs, pues en gnu/linux está nfs, con una transferencia de datos mucho mas elevada a su competidor en windows. Aunque gnu/linux soporta particiones samba, si vamos a trabajar en un entorno con maquinas gnu/linux no está de mas montar este servicio en el servidor de ficheros.…

gestionar lvm

Venga, la continuación del post del miércoles pasado, un pequeño manualillo de como funcionan los lvm y de como administrarlos.

La ventaja del lvm es que puedes crear particiones de tamaño ilimitado, simplemente es necesario que tu maquina soporte los discos suficientes para definir el tamaño ilimitado.

Otra de las ventajas es que se le pueden poner el nombre deseado a las particiones, en lugar de las aburridas sda1, sda2, sdb1, etc. que nos ofrece el fdisk.

Sigamos como si las particiones lvm fuesen meros pedazos de plastilina.

Tenemos una caja (el ordenador) con varios paquetes de plastilina (cada uno de los discos duros), y tenemos la mesa donde trabajaremos (volume group (VG)).

Encima de la mesa podremos trabajar nuestra plastilina (physical volume (PV)) y agruparla para hacer las figuras (logical volume (LV)).

De “volume groups” solo podremos crear uno. De la misma forma que podemos separar la plastilina y agruparla crearemos los “physical volumes” y le daremos forma con los “logical volume”.

Con esta representación para niños, quiero decir que hay los volume groups, que agrupan a los physical volumes y dentro los volume group.

Basta ya de explicaciones cutres y entramos en materia:

La mejor forma de entender como funciona lvm es con los comandos:

# pvscan
PV /dev/sdb1 VG vg1 lvm2 [465.66 GB / 455.66 GB free]
PV /dev/sda5 VG servidor1 lvm2 [67.51 GB / 0 free]
Total: 2 [533.17 GB] / in use: 2 [533.17 GB] / in no VG: 0 [0 ]

# vgscan
Reading