sshfs

Si tienes un datacenter montado con pocos recursos, lo mas probable es que el sistema de backups se realice en discos duros externos, que tengas pocos y de gran tamaño.
El problema está en cuando la diógenes tecnológica haga que tengas muchos hierros de poco procesamiento (quad cores o como mucho algun dual quad core xeon) y tengas que tener los servicios repartidos en varias maquinas. El problema está cuando el numero de hierros es superior al numero de discos duros al que hacer los backups.

Tienes varias formas de compartir un disco duro en red o hacer backups remotos:
– HFS
– samba (lo descarto por feo, viejo, comer mucho ancho de banda y recordarme a windows)
– rsync sobre scp

La cuestión es que se me murió una máquina que tenía un disco duro enchufado, pero por motivos de espacio no puedo conectar el disco duro a la nueva maquina, así que la solución ha sido conectar el disco duro a otra maquina y hacer el backup por red.

Como los informáticos somos unos perezosos de pega, tenía que modificar los scripts de backup y quería evitarlo, así que me pregunté, si rsync por scp es tan cojonudo, hay posibilidad de conectar un disco duro remoto por ssh en lugar de hacerlo por HFS? y efectivamente se puede, con sshfs :D

Así que tenemos una maquina con proxmox y lo que era la máquina física se ha virtualizado en un contenedor.
Los contenedores openvz tienen algunas limitaciones, pero conociéndolas, puedes salvar cualquiera de estos problemas :) luego explico como y el porqué!

Vamos a instalar pues sshfs en la maquina FÍSICA

root@burnell:~# apt-get install sshfs

Ahora compartimos las claves con el servidor el cual tenemos el disco duro remoto conectado

# cd /root/.ssh
# ssh-keygen -t rsa
# ssh-copy-id -i id_rsa.pub root@10.139.39.76

La sintaxis para conectar el disco duro remoto es esta (en la maquina remota tenemos el disco montado en /mnt/hd y en la local queremos montarlo también en /mnt/hd):

# mkdir /mnt/hd
# sshfs root@10.139.39.76:/mnt/hd/ /mnt/hd

Si queremos que se monte el disco duro remoto al arrancar el sistema tenemos 2 opciones, o añadirlo en /etc/fstab

sshfs#root@10.139.39.76:/mnt/hd/ /mnt/hd

O hacer un script.

En este caso, prefiero crear un script, ya que quiero añadir otro comando para montar el disco duro remoto dentro del contenedor. Para que el script se ejecute al arrancar el sistema lo vamos a llamar desde /etc/inittab.

# cd /root/scripts
# vi mount_remote_backup_disk.sh

#!/bin/bash

sshfs root@10.139.39.76:/mnt/hd/ /mnt/hd
mount -n -t simfs /mnt/hd /var/lib/vz/root/100/mnt/hd -o /mnt/hd


# vi /etc/inittab
/root/scripts/mount_remote_backup_disk.sh

Y listos, ahora ya podemos volver a ejecutar los scripts de backup como si el disco duro estuviese conectado físicamente a la maquina!

2 Comments

  1. Para backups yo tambien he usado sshfs, y en algun caso incluso curlftpfs, que permite montar un servidor FTP remoto en el filesystem. Lo que me queda por probar es el passthrough de un dispositivo USB a un CT de OpenVZ.

    Como ultimamente me he aburrido un poco de Proxmox, estoy pensando en probar Xen en produccion para los servicios de la LAN de casa. Hasta ahora solo he usado Xen para aprender como funciona.

    Respon
  2. Para backups yo tambien he usado sshfs, y en algun caso incluso curlftpfs, que permite montar un servidor FTP remoto en el filesystem. Lo que me queda por probar es el passthrough de un dispositivo USB a un CT de OpenVZ.

    Como ultimamente me he aburrido un poco de Proxmox, estoy pensando en probar Xen en produccion para los servicios de la LAN de casa. Hasta ahora solo he usado Xen para aprender como funciona.

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.