Guía de Soporte y Mantenimiento del servicio de backup

Siempre nos falla un disco

Si detectamos que asiduamente se estropea el RAID, y más concretamente uno de los discos, incluso cuando estamos haciendo la sincronización, debemos comprobar que ambos discos están usando una controladora USB2.

   [root@hierro1 ~]# lspci | grep USB
   00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
   00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
   00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
   00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
   [root@hierro1 ~]# lsusb 
   Bus 001 Device 001: ID 0000:0000  
   Bus 003 Device 001: ID 0000:0000  
   Bus 002 Device 001: ID 0000:0000  
   Bus 002 Device 003: ID 051d:0002 American Power Conversion Back-UPS Pro 500/1000/1500
   Bus 002 Device 002: ID 0d3d:0001 Tangtop Technology Co., Ltd 
   Bus 004 Device 001: ID 0000:0000  
   Bus 004 Device 004: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub" 
   Bus 004 Device 006: ID 04b4:6830 Cypress Semiconductor Corp. USB-2.0 IDE Adapter
   Bus 004 Device 005: ID 04b4:6830 Cypress Semiconductor Corp. USB-2.0 IDE Adapter

Si los 2 discos usan controladores USB distintos, las velocidades de escritura serán muy dispares, y es muy probable que marquen el disco con la controladora USB1 como defectuoso. Podemos optar por comprar una tarjeta PCI (ojo con que no ponga 1 boca USB2, varias USB1).

Reconstrucción de RAID1

En caso de rotura de un espejo, tira sal hacia atrás. Y si no hay sal, lo siguiente:
  • Opción 1: Entramos en la máquina hierro en el caso de trabajar con virtualización. Ejecutar:
  hierro> cat /proc/mdstat

y verificar que uno de los discos está fallando (tendrá asignada una F). Hecho esto tratamos de añadir el disco al RAID con:

 
  hierro> mdadm --add /dev/mdX /dev/sdXX

Puede que XX no concuerde con el anterior. Si esto fuese así es muy probable que ahora tengamos asignados al RAID 3 discos en vez de dos y uno de ellos fallido. Para quitar el disco podemos hacer un remove del disco fallido de la siguiente forma:

  hierro> mdadm --remove /dev/mdX /dev/sdXX

Pudiera darse el caso de que al hacer el remove nos de un error, ya que al detectarse dinámicamente por medio de hotplup el disco estará ahora en /dev/sdYY y el que queramos borrar

remove /dev/sdXX 

ya no esté. Entonces deberemos hacer primero un:

  MAKEDEV sdXX
  hierro> mdadm --remove /dev/mdX /dev/sdXX

Si esto no nos interesa optaremos por la opción 2.

  • Opción 2: Parar md0 y volver a arrancarlo. Para esto, en el caso de trabajar sobre un servidor virtualizado, nos posicionamos en la máquina hierro y paramos antes la máquina virtual. Luego ejecutamos:
  hierro> mdadm --stop /dev/mdX

y luego:

  hierro> mdadm --assemble /dev/mdX.
  • Opción 3: Si con todo lo anterior no vale también podemos probar con:
  hierro> mdadm /dev/md0 -f /dev/sdXX
  hierro> mdadm /dev/md0 -r /dev/sdXX

y luego lo añadimos:

   hierro> mdadm /dev/md0 -a /dev/sdXX
  • Problemas a la hora de montar el RAID: Pudiera darse el caso de que a la hora de montar el raid no reconociera los dispositivos. Entonces prueba a pasárselos:
  hierro> mdadm  --assemble /dev/mdX /dev/sdXX

Si esto sí te funcionó revisa que el fichero /etc/mdadm.conf está creado correctamente. Ve a Guía de despliegue y configuración del servicio de backup para ver cómo se genera.

Cómo saber qué disco duro es quién

  • Un fichero importante es el /proc/bus/usb/devices. En el podrás saber a qué puerto físico de la máquina está conectado, velocidad, y número de serie.
  
  :  Bus=07 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#=  3 Spd=480 MxCh= 0
  D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
  P:  Vendor=059f ProdID=1013 Rev= 0.00
  S:  Manufacturer=LaCie
  S:  Product=LaCie Hard Disk
  S:  SerialNumber=200710250003079F
  C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
  I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
  E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
  E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
  • Para saber la letra ve al subdirectorio /dev/disk/by-id/ y haz un
ls -l

y verás algo como:

  lrwxrwxrwx 1 root root  9 Jun 13 12:42 usb-SAMSUNG_HD501LJ_200710250003079F -> ../../sdb
  lrwxrwxrwx 1 root root 10 Jun 13 12:42 usb-SAMSUNG_HD501LJ_200710250003079F-part1 -> ../../sdb1
  lrwxrwxrwx 1 root root  9 Jun 13 12:42 usb-SAMSUNG_HD501LJ_20071025000622AA -> ../../sdc
  lrwxrwxrwx 1 root root 10 Jun 13 12:42 usb-SAMSUNG_HD501LJ_20071025000622AA-part1 -> ../../sdc1
  • El número que aparece al final es el numero de serie del disco duro.

Usuario Backup sin acceso a todo el disco duro

  • Asegúrate que el fichero /etc/samba/smb.conf tiene la entrada:
   admin users = backup 

Gracias a esto las conexiones que se hagan como este usuario serán como root. Por cierto, recuerda hacer un reload para se cojan los cambios.

   /etc/init.d/smb reload

Mount error 11 = Resource temporarily unavailable

  • Este error se da algunas veces cuando estas haciendo copia de seguridad de una maquina windows y para ello vas montar un recurso compartido de ella en sistema de copia de seguridad, a modo de ejemplo de default.conf se pone esto:
   pre-client: mount -t cifs //192.168.120.200/D$ /snapshot -o user=copion,pass=XXXXX
   post-client: cd /root; umount /snapshot
   client: 127.0.0.1
   tree: /snapshot
  • Buscando por internet se habla de:
   mount.cifs occasionally reports error 11 (Resource temporarily unavailable) when mounting multiple 
   shares from a Windows Server 2003. The problem typically occurs when an 'old' connection (i.e. at boot
   time, maybe a few days old) to the server exists. The Windows 2003 Server is member of an AD. Shares are 
   mounted this way:
      mount //xxx/xxx /mnt -t cifs -o ip=xxx.xxx.xxx.xxx,user=xxx,domain=xxx,pass=xxx
   The error message can be circumvented by umounting all existing shares first (umount -a -f cifs). 
   The problem is not restricted to amd64 (also occurs oni386 (i586)).
   The following URL might give some relevant information: http://fixunix.com/samba/186367-samba-help-mount-error-11-can-t-find-any-info.html

Pero lo cierto es después de hacer

umount -a -f cifs

me ha seguido dando el mismo problema, como solución drástica lo que hago es reiniciar la maquina backup antes de hacer la copia para evitarlo.

Arrancar un raid en modo degrado.

  • Puede ser que nos interese arranca un raid en modo degradado, con solo un disco, para ello bastaría con ejecutar
mdadm --assemble /dev/md0 /dev/sda1

Also available in: HTML TXT