backup.home

Mi servidor doméstico de copias de seguridad «profesionales».

Porque después de entender que lo que fallaba del servidor era el botón de encendido (y los leds del frontal) todo lo que tuve que hacer fue desguazar otro equipo que estaba a punto de tirar y emplear su propio botón para conectarlo a la placa base.

Gracias a mi falta de método para comprobar la avería ahora tengo una placa base y un procesador idénticos que compré este verano a un alemán, así como una fuente de alimentación también nueva por si acaso fallaba algo más. Y no, los guardo como repuestos, pero ha sido emplear un dinero que me vendría muy bien aquí y ahora.

El caso es que la máquina ya está funcionando con casi seis terabytes de almacenamiento entre discos que he ido requisando de aquí y de allí y a los que he dedicado parte para copias de sistemas remotos.

root@matraz:/extra# tree -d -L 2
 .
 ├── backuppc
 │   ├── conf
 │   ├── cpool
 │   ├── log
 │   ├── pc
 │   └── pool
 ├── backups
 │   ├── domus
 │   ├── taquiones
 │   ├── venexma
 │   ├── vistanieve
 │   └── zeine
 └── lost+found
 13 directories
 root@matraz:/extra# 

Directorio backuppc

El directorio backuppc está ocupado por el programa del mismo nombre y es el que atiende a la URL http://backup.home y al que sólo le faltan ciertos detalles para ser más cómodo y fiable:

  • Certificado digital para conexiones seguras que seguramente tendrá que ser con una CA interna dado que .home no vale fuera.
  • Script para informar por correo después de las copias porque el programa envía mensajes solo cuando no ha podido hacerlas durante varios días y es necesario consultar el interfaz web para saber qué tal han ido las demás.
  • Conexiones con redes internas como las de la empresa (VPN) aunque aún no he decidido que estén abiertas de continuo para esa máquina o se abran antes de cualquier copia. Los túneles SSH también funcionan pero dado que hay una máquina de entrada y salto resulta complicado mantener varias conexiones al alcance del usuario backuppc.

Directorio backups

En el que se incluyen directorios específicos para temas (domus para la red interna, vistanieve para la mancomunidad, …) y donde estoy dejando libertad para emplear lo que se quiera: rsync, borg, …

Un ejemplo de ahora para la red doméstica es:

root@matraz:/extra# tree -d -L 2 backups/
 backups/
 ├── domus
 │   └── portico.home
 ├── taquiones
 ├── venexma
 ├── vistanieve
 └── zeine

La zona dedicada a la red casera tiene un directorio que la máquina portico.home emplea a su gusto para copias. El resto iré ampliándolo según tenga tiempo de conectarlo con cualquier sistema de copias.

El equipo

root@matraz:/extra# lscpu
 Arquitectura:                        x86_64
 modo(s) de operación de las CPUs:    32-bit, 64-bit
 Orden de los bytes:                  Little Endian
 Tamaños de las direcciones:          36 bits physical, 48 bits virtual
 CPU(s):                              4
 Lista de la(s) CPU(s) en línea:      0-3
 Hilo(s) de procesamiento por núcleo: 1
 Núcleo(s) por «socket»:              4
 «Socket(s)»                          1
 Modo(s) NUMA:                        1
 ID de fabricante:                    GenuineIntel
 Familia de CPU:                      6
 Modelo:                              58
 Nombre del modelo:                   Intel(R) Core(TM) i5-3550 CPU @ 3.30GHz
 Revisión:                            9
 CPU MHz:                             1648.914
 CPU MHz máx.:                        3700,0000
 CPU MHz mín.:                        1600,0000
 BogoMIPS:                            6799.33
 Virtualización:                      VT-x
 Caché L1d:                           32K
 Caché L1i:                           32K
 Caché L2:                            256K
 Caché L3:                            6144K
 CPU(s) del nodo NUMA 0:              0-3
 Indicadores:                         fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
root@matraz:/extra# lsblk 
 NAME   MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
 sda      8:0    0   3,7T  0 disk  
 └─md1    9:1    0   3,7T  0 raid1 /srv
 sdb      8:16   0 931,5G  0 disk  
 ├─sdb1   8:17   0  23,3G  0 part  /
 ├─sdb2   8:18   0     1K  0 part  
 ├─sdb5   8:21   0   9,3G  0 part  /var
 ├─sdb6   8:22   0     4G  0 part  [SWAP]
 ├─sdb7   8:23   0   1,9G  0 part  /tmp
 └─sdb8   8:24   0   893G  0 part  /home
 sdc      8:32   0   3,7T  0 disk  
 └─md1    9:1    0   3,7T  0 raid1 /srv
 sdd      8:48   0   2,7T  0 disk  
 └─sdd1   8:49   0   2,7T  0 part  /extra
 sr0     11:0    1     2K  0 rom