Categoría: Backups

  • Rclone (3/3): Recuperando datos

    Ya tenemos el entorno preparado y los datos salvados en la nube pero necesitamos un mecanismo que nos permita recuperar de forma rápida dichos datos.

    Propongo dos formas:

    1. Montaje de la carpeta de Google Drive encriptada como unidad de nuestro ordenador.
    2. Recuperación de los datos a través de un servidor http que nos ofrezca de forma transparente el acceso a nuestra nube.

    Montar volumen cifrado en claro

    Para montar un volumen cifrado necesitamos crear en nuestro equipo local una carpeta donde veremos el contenido de nuestra carpeta de la nube ya sin cifrar. Nos puede servir el siguiente script.

    #!/bin/sh
    
    rclone mount \
            --rc --transfers 8 \
            --volname GDrive \
            --allow-other \
            --log-level INFO \
            --buffer-size 32M \
            --vfs-cache-mode writes \
            --vfs-cache-max-size 16G \
            miGDrive_encriptado:/ /Users/miguel/transito

    Donde miGDrive_encriptado es el nombre del repositorio encriptado que creamos en Rclone (2/3) y /Users/miguel/transito es una carpeta en nuestro equipo local. Recordar que hay que dar los permisos de ejecución a nuestro script.

    $ chmod +x montar_almacenamiento_encriptado.sh

    El resultado del ejecutar el script lo podemos ver en el explorador de archivos de nuestro equipo:

    Vista de la carpeta montada en nuestro equipo
    Misma carpeta en la nube de Google

    Como podemos ver, el script de montaje nos trae a nuestro equipo la nube de Google sin encriptar de tal forma que podemos recuperar cualquier fichero que se nos antoje.

    Cuando cerremos la terminal o terminemos el comando de montaje «montar_encrypted_storage_mac.sh» con Ctrl+C se desmontará la carpeta de nuestro equipo local.

    Recuperar datos a través del navegador

    Rclone nos permite de una forma sencilla recuperar los datos de nuestra nube también a través de un servidor http (entre otros métodos).

    Para ello montaremos un script con el siguiente contenido:

    #!/bin/sh
    
    rclone serve http miGDrive_encriptado: --addr :9090

    Donde «miGDrive_encriptado» es el nombre del repositorio encriptado en la nube y «–addr :9090» es el puerto en que se montará el servidor http:

    Si navegamos ahora tendremos:

    Ahora podemos hacer uso del navegador estándar para descargar nuestros datos.

    Conclusión

    Como podemos observar Rclone es una herramienta extraordinaria, con múltiples de posibilidades. En nuestro caso la hemos usado para solventar una escenario muy particular pero las opciones son infinitas.

    Si te ha resultado mínimamente útil esta serie de post, por favor, comparte y comenta. Estaré encantado en responder.

  • Rclone (2/3): Las copias

    Ahora que ya tenemos el Id y la clave es conveniente recordar nuestro objetivo:

    Configurar una unidad en la nube de Google Drive cifrada de extremo a extremo usando Rclone.

    Cuando utilizas una nube pública, teóricamente solo tu y tu proveedor (Google en este caso) tienen acceso a tus datos. Cuando la nube pública es gestionada por una entidad superior o educacional, también el administrador de dicha entidad puede tener acceso a tus datos.

    Cuando algo está cifrado extremo a extremo, nadie más que tú puede ver los datos. Es un nivel completamente diferente de protección y privacidad, incluso el servicio que almacena tus archivos no sabe nada sobre ellos porque el descifrado solo tiene lugar en sus dispositivos.

    ¿Qué es rclone?

    Rclone se promociona como un rsync para el almacenamiento en la nube. Te permite sincronizar archivos entre su computadora y los proveedores de almacenamiento en la nube o incluso entre varios proveedores de nube que utilizan tu computadora como proxy.

    La sincronización de archivos no es lo único que hace rclone. También tiene un montón de funcionalidades que le permiten exponer y manipular los datos. Por ejemplo, puedes montar una unidad en la nube directamente en su sistema operativo y usarla como otra unidad. O puede exponer el contenido de la unidad en la nube mediante el protocolo WebDAV, FTP, HTTP o incluso DLNA.

    Instalar Rclone

    Utilizaremos la línea de comandos o shell de nuestro sistema. La forma mas sencilla en un sistema basado en linux como es Synology es:

    $ curl https://rclone.org/install.sh | sudo bash

    Esto instalará Rclone en el sistema.

    Configurar el almacenamiento remoto

    En mi caso configuraré un almacenamiento remoto en Rclone cuyo destino será la carpeta raíz del espacio Google Drive.

    $ rclone config

    Y seguimos los pasos para la configuración de Google Drive:

    Ahora es el momento de indicar el ID y la clave que obtuvimos anteriormente. Véase el post de preparativos.

    Ahora pegamos en el navegador la url que nos da la consola para dar a nuestro Rclone permisos para acceder a Google Drive. Nos dará un código el navegador que tenemos que pegar a continuación:

    Una vez configurado nuestro GDrive podemos hacer una prueba de acceso.

    $ rclone lsd miGDrive:

    Si todo ha ido bien veremos el contenido de nuestro Google Drive.

    Añadiendo capa de cifrado

    Una vez que Rclone «conoce» nuestro Google Drive, vamos a crear dentro de él una carpeta cuyo contenido va a estar encriptado. De nuevo llamaremos a Rclone para crear una configuración de carpeta encriptada.

    $ rclone config

    Y damos por finalizada la configuración. Todo lo que subamos a «miGDrive_encriptado» irá a la carpeta «encriptado» de nuestro Google Drive y estará cifrado con nuestras claves.

    Sincronización inicial

    Ya lo tenemos todo preparado para comenzar a subir datos. Para ello crearemos un script de la forma:

    #!/bin/sh
    ####################################
    #
    # Backup NAS a miGDrive_encriptado
    #
    ####################################
    echo
    echo "Sincronizando Documentos"
    rclone sync --copy-links --drive-stop-on-upload-limit --drive-chunk-size=64M --checkers=16 --transfers=8 --bwlimit=8500K -v --progress --delete-excluded /Users/miguel/Documents/ miGDrive_encriptado:/Documentos
    echo "Finalizado Documentos"
    echo

    Con los permisos apropiados para nuestro script:

    $ chmod +x rclone.sh

    Procederemos a la ejecución del script y podemos ver el proceso y el resultado:

    En la configuración de miGDrive_encriptado podemos especificar también que nuestras carpetas estén encriptadas de tal forma que ofusquemos al máximo el contenido de nuestro drive.

  • Rclone (1/3): Preparativos

    Este post pretende cubrir la siguiente necesidad:

    • NAS privado
    • Nube pública
    • Copia de seguridad encriptada

    Poseemos una NAS (Network Attachment Storage) en la oficina o en casa del cual necesitamos hacer copia de seguridad externa. Cada marca de NAS, Synology, QNap y otras cubren dicha necesidad a través de sus propios software de forma muy aceptable.

    La solución que ahora expongo nos servirá para cualquier NAS, Servidor o PC doméstico y también para cualquier sistema operativo, Windows, Mac o Linux. La nube pública «casi» puede ser cualquiera de las conocidas: Amazon, Microsoft OneDrive, Google Drive y un largo etcétera.

    La solución: rclone.org

    Rclone es un programa de línea de comandos para administrar archivos en el almacenamiento en la nube. Es una alternativa rica en funciones a las interfaces de almacenamiento web de los proveedores en la nube. Más de 40 productos de almacenamiento en la nube admiten rclone, incluidos almacenes de objetos S3, servicios de almacenamiento de archivos para empresas y consumidores, así como protocolos de transferencia estándar.

    rclone.org

    En nuestro caso particular:

    • NAS privado : DS918+ de Synology
    • Nube pública: Google Drive

    Preparativos

    Lo primero que tenemos que hacer es crear la API y la autenticación en Google Drive. Nuestro objetivo será obtener unas credenciales (ID de cliente Oauth y una clave secreta).

    Para ello accedemos a console.developers.google.com con las credenciales de nuestra cuenta Google Drive y creamos un proyecto nuevo:

    Una vez creado el proyecto, lo seleccionamos para habilitar la «API Y SERVICIOS«.

    Buscamos ahora el producto «Google Drive API» en la lista de los múltiples servicios de Google

    Y habilitamos:

    Nos interesa crear credenciales para nuestra aplicación Rclone:

    En el tipo de API, seleccionamos Google Drive API del desplegable.

    Marcamos «Datos del usuario» y pulsamos siguiente:

    La opción 2- Permisos es opcional y podemos «Guardar y Continuar«.

    Ahora toca «ID de cliente de OAuth» donde seleccionaremos «App de escritorio».

    Solo nos queda pulsar en listo y tendremos las dos claves que nos interesan ya creadas:

    Para consultar dichas claves:

  • Ghetto Tech Preview – ghettoVCB-restore.sh – Restoring VM’s backed up from ghettoVCB to ESX(i) 3.5 and 4.0+

    Table of Contents:

      • Description
      • Requirements
      • Setup
      • Usage
      • Sample Execution
      • Change Log
      • Known Issues

    Description:

    This script performs a restore of virtual machines backed up using ghettoVCB. Tasks are performed directly within the service console of the ESX(i) server involved in the restore process. This is currently a Ghetto Tech Preview that includes basic restore functionality. Two main use cases are supported in this release:

    1) Restore a VM that contains ALL VMDKs on one datastore
    2) Restore a VM that has VMDKs located on multiple datastores

    In all cases, restored VMs will have VMDKs that reside on the SAME datastore chosen for the restore process. Please ensure that there is sufficient space on the target datastore before attempting a restore operation. In the near future, restoration of VMs backed up using the compression feature of ghettoVCB will be implemented.

    (más…)

  • Creating Virtual Machine Backups in VMware with GhettoVCB

    Hi folks, like I mentioned before I’ll be showing you how to create backups using the GhettoVCB script from William Lam. First things first, please enable SSH access on your ESXi box. You can do this by following my steps in my previous blog post.

    Next, you have to download the following software for use on your computer to help you get this all accomplished.

    • Putty.exe (This is one of the more famous SSH programs out there used to connect to the ESXi server via SSH)
    • Plink.exe (This is used to run command line commands in your SSH session with the ESX server, this is integral for scheduling scripts)
    • WinSCP (This program is used to upload and download files between your ESXi server and your workstation)

    After you have downloaded these programs, please install them on your workstation. Then you can go and download the ghettoVCB.sh script from the VMware communities web site where this script is hosted at.

    After you have downloaded the script, do not edit it on a Windows computer otherwise you run the risk of introducing control characters into the script which will cause the script to fail when run on the ESXi server. Instead, just upload the script to your ESXi server using WinSCP. Please ensure that you change the transfer settings mode to text mode for the transfer.
    (más…)

  • Configuración de Time Machine (Mac os x) en un NAS no soportado nativamente

    Algunos de nosotros disponemos de dispositivos Network Attached Storage (NAS) y nos parece que el Time Capsule de Apple es demasiado caro. Esta guía te ayudará a activar Time Machine en cualquier dispositivo NAS permitiendo la funcionalidad de un Time Capsule con el hardware de tu elección.

    1. Prepara tu NAS. Asegurate que es totalmente funcional. Esta miniguia asume que tienes un disco duro NAS que funciona perfectamente y que sabes cómo configurarlo.
    2. Es deseable que asignes una dirección IP estática a tu NAS. Comprueba tu router y las guia de configuración del NAS para hacer esto.
    3. En OS X, abre un Terminal y teclea el siguiente comando para permitir que Time Machine funcione con tu NAS: defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
    4. Sal de la sesión y logéate de nuevo. No es necesario reiniciar tu máquina.
    5. Time Machine salva los backups en un formato específico y usaremos un «sparsebundle» para hacer esto. El nombre de sparsebundle name consiste en tu NombreOrdenador_DireccionMAC.sparsebundle.
    6. Para encontrar la dirección MAC de la tarjeta de red interna Ethernet teclearemos ifconfig en0 | grep ether | sed s/://g | sed s/ether// en una consola. Este comando nos devolverá una linea de salidad con la direccón MAC de nuestra tarjeta Ethernet en un formato de 14 números hexadecimales (letras y número, por ejemplo, 001ec4b8f9b3). 
Incluso si los backups los hacemos usando un interfaz de red distinta (por ejemplo AirPort: normalmente en1), el sistema usará la dirección MAC de en0 como parte del identificador del sistema.
    7. Hacemos una nuevo “sparsebundle” en el disco local (NO en el disco del Time Machine!). Este sparsebundle es una imagen de un sistema de ficheros virtual el cual copiaremos al NAS, y Time Machine accederá a él remotamente. Por defecto los sparsebundles pueden crecer hasta llenar el NAS, pero en este escenario como tenemos otras cosas en el NAS limitaremos el tamaño del sparsebundle a 70 GB. Introduzca el siguiente comando en el Terminal:
      sudo hdiutil create -size 70g -type SPARSEBUNDLE -nospotlight -volname «Backup of My Mac» -fs «Case-sensitive Journaled HFS+» -verbose ./Computername_MACaddress. Esto creará un sparse-bundle de 70 GB como sensible a mayúsculas-minúsculas, del tipo journaled HFS+ sin indexación de spotlight. Sustituye las variables en rojo por los nombres apropiados a tu sistema. Computername_MACaddress puede ser en la forma de “Ordenador-de-Miguel_001ec4b8f9b3
    8. Logúeate en tu NAS y crea una cuenta de usuario (Por ejemplo, “TimeMachine”). Puedes asignar quotas de disco si lo necesitas.
    9. En tu NAS, crea una carpeta compartida (por ejemplo, “TimeMachine”). Añade la cuenta del usuario anterior que creaste en el paso 8 y dále permisos de lectura-escritura sobre esta carpeta.
    10. En el Finder, sitúate en el menú Ir>Connectarse al Servidor. En la dirección del servidor, teclea smb://TimeMachine@ip-address-of-nas/TimeMachine. Pulsa Connect y cuando te pregunte, introduce la clave y sálvala en el anillo de claves.
    11. Ahora copia localmente el sparsebundle creado anteriormente a la compartición TimeMachine. Si no cambiaste la carpeta cuando introdujiste el comando para crear el sparsebundle, lo puedes encontrar en tu carpeta de usuario (/Users/nombreusuario).
    12. En tu NAS, comprueba que el fichero se ha copiado correctamente a la cuenta del usuario.
    13. Abre las preferencia de Time Machine, selecciona tu “TimeMachine”-carpeta como destino deseado y el backup comenzará.
    14. Nota: Para el primer backup es recomendable conectar via LAN, y obtendrás una velocidad de 10-30MB/sec.
    15. Si tu NAS te lo permite, puedes ocutar la carpeta TimeMachine para no verla en la lista de comparticiones de la red.

    Espero que les sea de ayuda.

    Traducción del original

  • Una introducción a Logical Volume Management

    La mayoria de las distribuciones de Linux modernas soportan los dispositivos LVM durante la fase de instalación y la mayoría de estas distribuciones los configuran por nosotros de forma automática. En las instalaciones tradicionales, podemos ver una particición del tipo Linux, la cual se formatea con un sistema de ficheros y se monta en un directorio del sistema. Una instalación normal. Cuando usamos LVM, necesitamos asignar la partición a un tipo Linux LVM y entonces usar las herramientas apropiadas para crear y manejar estos dispositivos. GParted no soporta particiones LVM, necesitamos otras herramientas. Si usas openSUSE, hay una excelente herramienta de configuración de LVM como parte de YaST. Hay un módulo del kernel que se requiere así como unas herramientas en línea de comandos. Es necesario instalar dichas herramientas con nuestro sistema de paquetes. El ejemplo de abajo lo hace bajo Debian.

    # modprobe dm-mod ; apt-get install lvm2

    (más…)

  • Copia de seguridad mysql

    logo_mysql_sun_aHacer copias de seguridad de bases de datos mysql no es un asunto trivial.

    Existen script como automysqlbackup.sh que solucionan esto y además bastante bien. Pero en entornos Windows no tenemos estos script tan buenos. En esto entornos hay que recurrir a las herramientas que nos provee la propia instalación de mysql o bien utilizar las herramientas MySQL Administrator o MySQL Query Browser ambas disponibles gratuitamente en las páginas de mysql.org.

    Os cuento ahora mi experiencia personal: dispongo de varias bases de datos que poseen las tablas, varias vista y algunos procedimientos almacenados. MySQL Administrator dispone de una herramienta gráfica para hacer el (más…)