Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez 1 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Índice de Contenido Selección de Sistemas de almacenamiento......................................................................................3 OwnCloud...................................................................................................................................4 Características ownCloud.......................................................................................................4 SeaFile.........................................................................................................................................5 Instalación DRBD en el entorno......................................................................................................6 Configuración inicial de DRBD .................................................................................................7 Formatear sistema de fichero linux........................................................................................8 Disco inicial (Nodo principal) ....................................................................................................9 Crear la partición en el nodo principal........................................................................................9 Obtener información sobre el estado del sistema......................................................................10 Instalacion Hearbeat debian ..........................................................................................................11 Archivo ha.cf........................................................................................................................12 Archivo haresources ............................................................................................................12 Archivo authkeys .................................................................................................................13 Arrancar y probar el cluster.......................................................................................................14 Instalación de Seafile servidor.......................................................................................................15 Instalación SeaFile Cliente........................................................................................................21 Creación script autoarranque Seafile........................................................................................24 Configuración parámetros Seafile.............................................................................................26 Cuotas de almacenamiento...................................................................................................26 Historial de versiones de ficheros........................................................................................26 Configuración del puerto Seafile..........................................................................................26 Cuota de subida y bajada......................................................................................................26 Instalación OwnCloud...................................................................................................................27 Instalación de entorno...............................................................................................................27 Mover de directorio owncloud..................................................................................................28 Comprobación replicación de Owncloud..................................................................................29 Cliente Owncloud.....................................................................................................................30 Configuración de parámetros OwnCloud..................................................................................31 Configurar Acceso Seguro al Servidor ................................................................................31 Establecer límite de subidas por web ..................................................................................32 Comprobación DRBD y Heartbeat................................................................................................33 Cliente Android SeaFile.................................................................................................................35 Configuración de red para clientes android..............................................................................35 Cliente Android Owncloud............................................................................................................37 Otros Sistemas de almacenamiento...............................................................................................38 Duplicati....................................................................................................................................38 Características Duplicati ......................................................................................................38 SyncBox....................................................................................................................................39 Características de Syncbox...................................................................................................40 Bdriver......................................................................................................................................41 Sparkle Share............................................................................................................................42 Bibligrafía......................................................................................................................................43 2 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Selección de Sistemas de almacenamiento Después de estudiar diferentes tipos de soluciones en el mercado , hemos elegido las dos más populares, las más desarrolladas y con más opciones , al final de este documento puedes encontrar otras opciones de almacenamiento. Nosotros nos vamos a centrar en Owncloud y SeaFile, los cuales tienen características muy similares. Además vamos a configurar estos dos servicios en alta disponibildad. Aunque estos servicios no tienen documentación sobre alta disponibilidad de la aplicación de almacenamiento virtual, existen algunas alternativas que se pueden implementar como: • Integración DRBD (Replicación de datos) + HeartBeat (Monitoreo de estado) Idea Principal del Proyecto La idea principal de nuestro proyecto es realizar el siguiente esquema , en el cual vamos a montar dos servicio de almacenamiento en nuestros servidores, mediante DRBD un sistema de alta disponibilidad , el cual nos permitirá que nuestros datos estén siempre disponibles sea de un servidor o de otro. Esquema principal del funcionamiento y que ocurre si nuestro uno de los sistema deja de funcionar. 3 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez • OwnCloud ownCloud es una solución comercial que basa su estrategia proclamándose como alternativa segura a Dropbox. ownCloud provee una capa segura por la cual son transmitidos los datos de la organización, ya sea desde un servidor propio o incluso sobre el mismo Dropbox. También funciona con dispositivos móviles. OwnCloud es un software libre de almacenamiento independiente a la ubicación de los datos. Es un software basado en la nube, como su nombre indica “OwnCloud” (nube propia). Además del almacenamiento de datos, también permite la sincronización de archivos entre diferentes dispositivos, de este modo tiene la posibilidad de compartirlos. Los servicios de OwnCloud que CanaryTek pone a su disposición son: reproductor de música, visor de imágenes, editor de texto plano, gestor de ficheros y marcadores. Todo esto a través de una interfaz Web. Características ownCloud • • • • • • • • Almacenamiento de archivos en una estructura de directorios convencionales Reproductor de música Administración de usuarios y grupos El intercambio de contenidos a través de grupos o direcciones URL públicas En línea editor de texto con resaltado de sintaxis y plegado de códigos Marcadores Galería de fotos Visor de PDF (usando pdf.js) S.O Cliente Móvil Codigo Libre Web Linux Mac Windows Si Si https://owncloud.com/ 4 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez • SeaFile Seafile permite construir una nube privada para compartir archivos y colaborar en red. Una vez instalado en el servidor, Seafile funciona de manera similar a Dropbox, con clientes que se sincronizan de forma transparente. Si trabajas de manera colaborativa o grupal, esta herramienta será muy útil, pues te ayudará con las revisiones de archivos, compartir archivos, te permitirá crear grupos de usuarios y hacer comentarios en cada archivo para ir comunicándose con tu equipo de trabajo. Funciona mediante la instalación de aplicaciones en los aparatos del usuario, ya sean ordenadores (Windows, Mac OS X y Linux) o dispositivos portátiles basados en iOS o Android. Pero es necesario contar con un servidor propio donde alojar los archivos, o utilizar los servicios de Amazon a través de Amazon Web Services. También permite instalar la aplicación servidor en una Raspberry Pi, un ordenador de menos de 50 euros. S.O Cliente Móvil Codigo Libre Web Linux Mac Windows Si Si http://seafile.com/en/hom e/ 5 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Instalación DRBD en el entorno ¿Qué es? y como funciona DRBD DRBD es un sistema distribuido de almacenamiento para Linux. Es un módulo para el Kernel que funciona integrando dos particiones, o dos discos completos de dos equipos distintos. Cada vez que se guarda información en el DRBD esta se escribe en el nodo principal, entonces, cada vez que pasa un lapso de tiempo definido el DRBD del nodo primario propaga la información con el DRBD del nodo secundario que la escribe en el dispositivo real. En resumen, DRBD nos sirve para que la web y los datos que queramos de nuestros dos servidores sea exactamente igual. Para hacer la sincronización es necesario que DRBD trabaje con un proceso que maneje el cluster de alta disponibilidad, o lo que es lo mismo en nuestro caso, con heartbeat. Partimos de dos máquinas Debian con conexión directa IP y configuración: Master (drbd1) hostname: ORFEO1 Dirección IP: 192.16.248.10 Replica/espejo (drbd2) hostname: ORFEO2 Dirección IP: 192.16.248.20 6 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Configuración inicial de DRBD Instalar paquete "drbd8-utils" en ambos nodos: apt-get install drbd8-utils Editar /etc/drbd.conf . Después copiarlo en la segunda máquina y reiniciamos. global { usage-count no; } common { protocol C; } resource data { on orfeo1 { device /dev/drbd1; disk /dev/sdb1; address 192.16.248.10:7789; meta-disk internal; } on orfeo2 { device /dev/drbd1; disk /dev/sdb1; address 192.16.248.20:7789; meta-disk internal; } disk { on-io-error detach; # Desconectamos el disco en caso de error de bajo nivel. } net { max-buffers 2048; #Bloques de datos en memoria antes de escribir a disco. ko-count 4; # Maximos intentos antes de desconectar. } syncer { rate 10M; # Valor recomendado de sincronización para redes de 100 Mb´s.. al-extents 257; } startup { wfc-timeout 0; # drbd init script esperará ilimitadamente los recursos. degr-wfc-timeout 120; # 2 minuteos } } 7 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Necesitaremos tener un disco completamente vacío en /dev/sdb (incluso sin particionamiento). Hacemos una partición en /dev/sdb1 (tipo Linux) Formatear sistema de fichero linux Lanzamos el siguiente comando y pulsamos la siguientes opciones marcadas: # fdisk /dev/sdb Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-209715199, default 2048): Pulsamos Enter por defecto Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): Pulsamos Enter por defecto Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. Borramos toda la información en el disco. (en ambos nodos ) dd if=/dev/zero of=/dev/sdb1 bs=1M count=128 Iniciar el servicio "drbd" en ambos nodos: /etc/init.d/drbd start Y creamos la estructura interna en el disco para drbd con los siguientes comandos en ambos nodos: drbdadm create-md data drbdadm up data (De nuevo, en ambos nodos). 8 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Disco inicial (Nodo principal) El último comando para configurar DRBD, y sólo en el nodo principal, es para iniciar el recurso y configurarlo como principal: drbdadm -- --overwrite-data-of-peer primary data Crear la partición en el nodo principal SÓLO en el nodo principal. Se replicará a los otros nodos automáticamente. . orfeo1:~# mkfs.ext3 /dev/drbd1 Su utilización es como la de una partición estándar desde ahora la montamos en el principal de este modo: orfeo1# mkdir /seafile_drbd orfeo1# mount /dev/drbd1 /seafile_drbd/ No podemos montar en el secundario el disco. Sin antes ponerlo principal. Para hacer esto, antes necesitará promoverlo a principal, y previamente, necesita degradar el primario a secundario: En el principal (orfeo1): drbdadm secondary data En el secundario (orfeo2): drbdadm primary data 9 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Vemos como ha quedado finalizado nuestro drbd: Obtener información sobre el estado del sistema Ejecutado desde el nodo del master actual (orfeo1): orfeo1:/# drbdadm state data Primary/Secondary Si se nos cae o deja de funcionar unos de los nodos probaremos con estos comandos para conectar entre ambos en caso de /Unknown en el estado. drbdadm -- --discard-my-data connect resource drbdadm connect resource 10 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Instalacion Hearbeat debian Para instalar heartbeat escribimos: # apt-get install heartbeat Esto instalara heartbeat, pero el proceso no arrancará porque no existen los archivos de configuración. Heartbeat tiene tres archivos de configuración básicos: • ha.cf : Este es el archivo de configuración principal donde definimos las variables principales del servicio. • haresources: En este archivo definiremos los servicios que tienen que tener alta disponibilidad (en nuestro caso apache) • authkeys: Este archivo contiene una clave que sera la que utilizara heartbeat para comprobar que el otro nodo es realmente el, y nadie lo suplanta. 11 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Archivo ha.cf Abrimos el primero de ellos mediante: nano /etc/ha.d/ha.cf logfile /var/log/ha-log node keepalive 2 Warntime 6 deadtime 10 bcast eth0 eth2 ping 192.168.1.1 auto_failback on # Indicamos el archivo donde se escribirá el log # La lista de los nodos del servidor # Tiempo entre latidos. # Espera una vez que los latidos no llegan # Declara el nodo muerto una vez pasados 10 segundos desde que acabó el tiempo de espera # Lanza los latidos del heartbeat por medio de broadcast a través de las interfaces eth0 y eth2 # Hacemos ping a la puerta de enlace para comprobar conectividad. # Devuelve los valores al nodo principal cuando se restaure Archivo haresources # nano /etc/ha.d/haresources Debemos modificar el archivo haresources. Ahí declaramos los servicios que queremos monitorear y que deben estar siempre disponibles. El equipo orfeo1 es el servidor principal y los otros van a verificar que no caiga. En cuanto caiga una máquina, la otra tomará el control levantando los servicios monitoreados y tomando la IP Virtual. 12 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Dentro de haresources ingresamos en una sola línea: orfeo1 IPaddr::192.16.248.30/24/eth0 drbddisk::data Filesystem::/dev/drbd1::/seafile_drbd::ext3 apache2 Voy a explicar que significa cada parte de este archivo: En primer lugar definimos cuál va a ser el nodo principal en este caso orfeo1. IPaddr::192.16.248.30 es el script que asigna la IP virtual que tendrá el cluster y el cual será el punto de acceso,también la podríamos llamar un ip flotante que será la que el Heartbeat asigne cuando una máquina caiga. Con drbddisk::data le decimos que recurso DRBD queremos brindar, luego con Filesystem::/dev/drbd1::/seafile_drbd::ext3 montamos el dispositivo virtual drbd1 en la carpeta /seafile_drbd y por último decimos que inicie el servicio apache2 para OwnCloud Archivo authkeys Se encuentra en: /etc/ha.d/authkeys Este archivo es simple, le decimos que use la clave y en la clave definimos el método de encriptación “sha” y la clave será “clavesecreta” Ahora, enviaremos los archivos de configuración mediante SCP desde ORFEO1 hacia ORFEO2 # cd /etc/ha.d/ # scp ha.cf haresources authkeys 192.16.248.20:/etc/ha.d/ Después, en ambas máquinas reinciaremos el servicio mediante: # /etc/init.d/heartbeat restart 13 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Arrancar y probar el cluster Una vez finalizada la configuración ya podemos proceder a arrancar el cluster, para ello iniciamos HeartBeat en cada uno de los nodos: # /etc/init.d/heartbeat start El propio HeartBeat reiniciará Apache, no lo hagáis manualmente: 14 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Instalación de Seafile servidor PASOS PREVIOS • Comprobar tu sistema operativo si es de 32 bits o de 64 bits uname -m • Descargar seafile ◦ Desde el navegador web:http://seafile.com/en/download/ Descomprimir el fichero en el directorio /seafile_drbd es decir el disco sdb1 montado con drbd, para que nuestros datos se prograguen al otro servidor “orfeo2” recuerda que deber tener permisos sobre esa carpeta . ▪ Para descomprimir el fichero : • mkdir /seafile_drbd/seafile (creamos la carpeta donde vamos a instalar el servidor) • Descomprimimos el archivo mediante el comando tar -xzf seafile- server_... 15 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez INSTALACIÓN SEAFILE Para esta instalación es necesario tener instalado en los Dos Nodos las siguientes dependencia si no lo tenemos la aplicación no nos dejará continuar y nos mostrará cuales paquetes nos faltan: ◦ python-setuptools ◦ python-simplejson ◦ sqlite3 Python :Es un lenguaje de programación . Sqlite3: Sistema de gestión de bases de datos relacionados en ficheros. Situarse en el directorio de instalación del servidor y ejecutar el scrip de setup ./setup-seafile.sh • Responde a las preguntas de configuración. 16 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Nos pedirá correo y contraseña “admin”. INICIAR LOS SERVIDORES • Inicar seafile . Lo tenemos que hacer siempre que arrancamos la máquina ./seafile.sh start • Iniciar Seahub. Lo tenemos que hacer siempre que arrancamos la máquina. ./seahub.sh start 8000 • Una vez realizadas estas operaciones podemos conectarnos a la aplicación web de seafile http://192,16,248,10:8000/ Esto sería el NODO1 Nos pedirá contraseña y usuario anteriormente introducido en la instalación. 17 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Vamos a recorrer el panel superior central, viendo las distintas opciones que tenemos: • My Home: Nos muestra todas las opciones disponibles que tenemos en cuanto a lo personal y lo que comparte el administrador de la cuenta. Tiene un panel a la izquierda con diferentes opciones que veremos más adelante. • Grupos: Nos deja ver los grupos a los que pertenecemos y los que hemos creado, así como la posibilidad de crear nuevos grupos. • Organización: Nos muestra la organización de bibliotecas (si tenemos alguna pública), usuarios que pertenecen a seafile y grupos creados. • Ayuda: Nos muestra la ayuda que proporciona el programa. Sobre instalación y otras opciones sobre como manejar bibliotecas y demás. Mientras estamos colocados en la pestaña de My Home podemos ver un panel, situado a la izquierda de la pantalla con diferentes opciones, hablemos un poco de ellas. • Bibliotecas: Bibliotecas que tenemos disponibles, propias, compartidas o compartida con un grupo. También nos da la posibilidad de crear una nueva biblioteca. • Marcadas: Nos muestra los archivos que fueron marcados como favoritos. • Mensajes: Muestra el historial de mensajes que hemos mantenido hasta el momento. También nos permite enviar a nosotros un nuevo mensaje con archivos incluidos. • Clientes: Muestra la última que el administrador se conectó como clientes. • Contactos: Nos permite ver los contactos que tenemos añadidos al servidor de seafile, si no hay ninguno nos permite dar de alta uno nuevo. 18 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez En la parte en la que el “Share Admin” : • Bibliotecas: Nos enseña las bibliotecas que tenemos compartidas, con quién, que permisos tiene, una breve descripción y la opción de dejar de compartir. • Folders: Las carpetas compartidas. • Archivos: Archivos compartidos. • Enlaces: Enlaces compartidos creados para carpetas o archivos,y que los clientes se puedan descargar. Vamos a crear un grupo llamado “trabajo” y creamos una nueva biblioteca para poder trabajar con ella. Nos dirigimos a “grupos” crear nueva biblioteca. 19 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez También tenemos un editor de fichero bastante sencillo pero funcional 20 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Instalación SeaFile Cliente Vamos a instalar el cliente en Linux para ello descargamos el paquete cliente de la página web. http://seafile.com/en/download/ Para instalar el paquete .deb lo haremos lanzando el siguiente comando. sudo dpkg -i seafile_2.1.2_amd64.deb Una vez instalado vemos en el menú aplicaciones el nuevo icono de seafile. Elegimos la carpeta a sincronizar en nuestro cliente Elegimos la dirección ip de la máquina servidor y el puerto , además indicamos nuestro usuario. 21 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Ya una vez dentro vemos como el cliente está conectado y comprobamos las dos librerias anteriormente compartidas . • En el cliente se puede iniciar sesión con varias cuentas y borrarlas cuando no se quieren utilizar nunca más, pero esta opción es peligrosa, ya que si se borra, se pierden todos los datos descargados, bibliotecas etc • Una vez descargadas las bibliotecas en nuestro equipo (icono nube descarga) haciendo clic sobre bibliotecas se despliega la siguiente ventana emergente: Si pulsamos en la nube se accede a una interfaz web que nos proporciona más posibilidades. Es necesario validarse para poder acceder a ella. Esta interfaz es muy práctica, nos ofrece muchos recursos disponibles. 22 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Las carpetas que están cifradas están señaladas con un pequeño candado. Una opción bastante interesante es el chat en los grupos de trabajo entre los miembros de un grupo que trabajen en la misma carpeta 23 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Creación script autoarranque Seafile Vamos a crear un script para arrancar automáticamente seafile. Primero crearemos el archivo seafile_script.sh en / Cambiaremos los permisos del archivo. chmod 750 seafile_script.sh Luego creamos un nuevo fichero en /etc/init.d/ llamado “seafile” Le cambiamos los permisos a este archivo chmod 750 /etc/init.d/seafile 24 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Y lanzamos el siguiente comando para habilitar el script. sudo update-rc.d seafile defaults y ya podemos parar el servicio con service seafile stop o iniciar con start de esta manera nos sirve para el heartbeat pueda arrancarlo. 25 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Configuración parámetros Seafile Cuotas de almacenamiento Vamos a crear una cuota para los usuarios para que tengan un tamaño máximo de almacenamiento, de esta manera podemos tener un mayor control. Para ello nos dirigimos dentro de nuestro directorio de seafile y editamos /seafile_drbd/SEAFILE/seafile-data/seafile.conf [quota] default = 2 Vamos a utilizar dos gigas por usuario. Historial de versiones de ficheros Vamos a configurar el historial de versiones de nuestro fichero es decir que podamos volver atrás si editamos un fichero. Para la configuración editamos el fichero anterior y añadimos: [history] keep_days = 4 Definimos 4 días de historial. Configuración del puerto Seafile En este caso vamos a editar el puerto de nuestro servicio Seafile . Para el caso editamos el mismo fichero anteriormente usado el seafile.conf y añadimos : [httpserver] port = 8082 Cuota de subida y bajada Editamos nuevamente el fichero y colocamos un máximo de 512mb de subida y bajada [httpserver] max_upload_size=512 max_download_dir_size=512 Para que se realicen los cambios tenemos que reiniciar el servicio seafile 26 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Instalación OwnCloud Instalación de entorno Partimos de una máquina con Debian 6 donde instalaremos los diferentes componentes, para ello primero vamos a actualizar el repositorio de paquetes y actualizar debian con los paquetes actuales para ello ejecutamos la siguiente orden: aptitude update && aptitude upgrade Ahora procedemos a instalar cada uno de los componentes para ello lanzamos la siguiente orden: aptitude install apache2 php5 mysql-server php5-mysql php5-gd Con esto deberían instalarse todos los paquetes además de resolverse las dependencias necesarias, durante el proceso de instalación de la base de datos MySQL se requerirá una contraseña para el usuario root que deberemos suministrar. Instalación owncloud en el servidor Lo primero es que vamos a instalar apache pero el sitio de publicación no será /var/www si no /seafile_drbd es decir el disco sdb o drbd1 montado en este directorio, para tener la replicación en ambos nodos. Lo primero nos dirigimos al Nodo1 o orfeo1 y lo ponemos en modo primario y montamos el disco en /seafiledrbd dentro creamos la carpeta OWNCLOUD . Ahora vamos a poner por defecto apache a funcionar en la carpeta de Owncloud Para ello editamos el sitio por defecto y añadimos nuestra nueva dirección. 27 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Primero añadimos el repositorio de owncloud , aptualizamos y lanzamos la instalación. echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ / ' >> /etc/apt/sources.list.d/owncloud.list apt-get update apt-get install owncloud Mover de directorio owncloud Esta instalación por defecto utilizará el sitio de /var/www si nos pone la carpeta en este lugar sólo tenemos que moverla a nuestro disco montado en /seafile_drbd/OWNCLOUD/ para poder tener replicación de datos. Entramos desde el navegador a la dirección de nodo1 y configuramos el directorio , lo coge por defecto , pero es la dirección /seafile_drbd/OWNCLOUD/owncloud y el usuario administrador contraseña “admin” Una vez dentro creamos el fichero prueba.txt para probar la replicación en el siguiente paso. 28 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Comprobación replicación de Owncloud Vamos a apagar el NODO1 y a poner como primario el NODO2 y comprobamos si funciona owncloud en el nodo 2. Para que funcione deberemos tener instalado y configurado apache . Es decir como sitio por defecto de apache sea /seafile_drbd/Owncloud Y tener las dependencias necesarias para owncloud. apache2 php5 mysql-server php5-mysql php5-gd ahora entramos en la direccion del nodo 2 /owncloud y vemos como también encontramos el fichero “prueba.txt” creado anteriormente en el nodo1. 29 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Cliente Owncloud La instalación en linux es sumamente sencilla, para ello solo debemos añadir owncloud a nuestros repositorios e instalarlo desde ahí, para ello ejecutamos: echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:devel/xUbuntu_12.10/ /' >> /etc/apt/sources.list.d/owncloud-client.list apt-get update apt-get install owncloud-client Tras esto tendremos el cliente instalado, y solo nos faltará lanzarlo y configurarlo con la configuración correspondiente. Elegimos la dirección con https y la carptera de owncloud Elegimos la carpeta que va ha estar sincronizada igual que en dropbox. Vemos la carpeta sincronizada con los mismos ficheros del servidor en nuestra máquina y el cliente funcionando. 30 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Configuración de parámetros OwnCloud Configurar Acceso Seguro al Servidor Para forzar el acceso seguro al servidor debemos realizar los siguientes pasos en los dos nodos: 1. Activamos en módulo ssl de apache con la orden: “a2enmod ssl”. 2. Activamos el sitio por defecto de ssl, con la orden “a2ensite default-ssl”. 3. Modificamos el fichero /etc/apache2/sites-enabled/default-ssl y establecemos la configuración que queramos de nuestro sitio Una vez realizados estos pasos debemos configurar el que viene por defecto sin SSL, y debemos añadir la siguiente línea siendo 192.16.248.30 la IP de nuestro servidor: De esta manera si intentamos acceder de forma no segura se redirigirá automáticamente al sitio seguro. Además desde la cuenta de Administrador de owncloud debemos activar la siguiente casilla de configuración. 31 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Establecer límite de subidas por web Inicialmente al intentar subir un archivo vía web tenemos preestablecido un límite de tamaño. Este límite de tamaño no está definido por Owncloud, si no por PHP de manera que si queremos modificarlo deberemos hacerlo directamente en el archivo de configuración de PHP, o sea en: /etc/php5/apache2/php.ini En este fichero debemos configurar dos directivas: “post_max_size= 'X'M” y “upload_max_filesize= 'X'M” Expresando dichos valores en MB; automáticamente se aplicará aquel cuyo valor sea menor; de manera que si queremos establecer un valor determinado configuraremos este valor en ambas directivas. Tras establecer reiniciamos el servicio apache con “service apache2 restart” y los cambios se harán en los dos nodos para que sean efectivos. También tenemos que editar la opción de administrar archivor en opciones dentro de la aplicación 32 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Comprobación DRBD y Heartbeat Vamos a comprobar el funcionamiento de la replicación de datos y servicios , para ello vamos a parar el nodo1 es decir Orfeo1 y vamos ver el log del nodo2 mientras este se para . Primero vemos el nodo uno como se encuentra levantado como primario y con el disco sdb montado. Mientras el nodo2 se encuentra en estado secundario y sin el disco montado. Vamos a parar el nodo1 y vemos el estado del nodo2 . Podemos ver como se ha puesto de primario y ha montado automaticamente el disco sdb. 33 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Creamos un archivo de texto desde el nodo2 Y encendemos el nodo1 y vemos como el archivo se pasa automáticamente al nodo1 el cual se colocará como primario. Y seguiremos viendo el mismo archivo. 34 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Cliente Android SeaFile Configuración de red para clientes android. Para utilizar el cliente android de SeaFile hemos montado un router wifi el cual es el encargado de hacer de puente entre el cliente android y las máquinas virtuales , las cuales están configuradas en bridge , además les hemos indicado que su puerta de enlace sea el router nuevo añadido. En el router hemos configurado el rango de dhcp para que reparta las direcciones en la misma red que se encuentran nuestras máquinas , de esta manera conseguimos que todos los dispositivos se puedan conectar entre sí. Iniciamos el Cliente y nos pedirá usuario contraseña y la ip y puerto de nuestro servidor. Vemos nuestra estructura de librerías que tenemos vía web y en el cliente. Entramos en Fotos y en el botón upload subimos una imagen y vemos como automáticamente se pasara a nuestro servidor . 35 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez También podemos subir otro tipo de archivo no sólo imagenes, además tenemos la opción de importar en dropbox o compartir en whatsapp , mediante twitter, correo y otras más opciones. 36 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Cliente Android Owncloud El cliente android de owncloud es de pago en Google Play , si buscamos un poco en Internet encontraremos versiones “gratis”. Elegimos la ip de nuestro servidor y si está habilitado el modo seguro nos tenemos que acordar de poner https. Una vez dentro veremos la estructura de carpetas o documentos de la cuenta del usuario introducida También disponemos de las opciones crear directorios o subir archivo y igual que seafile también podemos compartir nuestros documentos mediante watsapp , twitter , correo, dropbox, y demás 37 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Otros Sistemas de almacenamiento Primero vamos a estudiar el mercado , aquí presentamos algunas de las opciones que disponemos a la hora de crear nuestro almacenamiento privado, explicando las caracteristicas más importantes de cada uno. • Duplicati Duplicati funciona como una herramienta para el respaldo y aseguramiento de archivos. Por un lado puede conectarse con sistemas de almacenamiento en la nube como Amazon S3, Windows Skydrive, Google Drive, Rackspace, incluso con servidores personales con acceso a SSH y FTP. Por el otro, cifra cada archivo con algoritmos criptográficos estándar. Estos procesos pueden calendarizarse con relativa facilidad. Recomendado para cuando la seguridad es la prioridad máxima. Duplicati está licenciado bajo LGPL y disponible para Windows y Linux . Características Duplicati • Duplicati utiliza el cifrado GNU Privacy Guard para asegurar todos los datos antes de que se carga. • Duplicati carga una copia de seguridad completa inicial y almacena, actualizaciones incrementales más pequeños después para ahorrar ancho de banda y espacio de almacenamiento. • Un planificador mantiene copias de seguridad hasta al día de forma automática. • Archivos de copia de seguridad cifradas se transfieren a objetivos como FTP, CloudFiles, WebDAV, SSH (SFTP), Amazon S3 y otros. • Duplicati permite copias de seguridad de carpetas, tipos de documentos, como por ejemplo, documentos o imágenes, o las reglas de filtrado personalizadas. S.O Cliente Móvil Codigo Libre Web Linux Mac Windows Si (Limitado) Si http://www.duplicati.com/ 38 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez • SyncBox Se trata de una aplicación para instalar en un equipo que nos hará de servidor, de manera que podemos instalar los clientes en los equipos que están conectados con éste. De esta manera se establece una nube privada, desde donde podemos incluir y añadir todos los archivos que queramos tener con conexión desde distintos lugares. Es una aplicación sencilla de utilizar, de manera que está al alcance de cualquiera hacerlo. El siguiente aspecto es instalar los clientes que vayamos a utilizar para conectarnos al servidor. Tiene disponibles clientes para estaciones de trabajo Windows, Mac y Linux y por supuesto para móviles y tablets con sistemas operativos iOS y Android. Para conectarnos desde los clientes sólo tenemos que poner los datos de conexión que hemos definido en el servidor cuando lo hemos configurado. 39 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Características de Syncbox Además añade un servidor multimedia en nuestra red, de manera que podemos reproducir en streaming Por último tenemos la posibilidad de tener un control de versiones de los documentos, algo que resulta muy útil cuando la nube privada la estamos utilizando en un entorno de trabajo, ya sea para proyectos universitarios o de empresas. Los clientes Sychbox esta disponible para casi todas las principales plataformas, pero la aplicación del servidor es solo para Windows. Para empezar, primero descarga e instala la aplicación del servidor en tu PC. S.O Cliente Móvil Codigo Libre Web Windows Si Si http://www.isyncbox.com 40 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez • Bdriver Con Bdrive podremos crear nuestra propia nube, en la que no es necesario subir ningún archivo a ninguna parte. También podremos sincronizar nuestros dispositivos y es compatible con Windows, Mac, Android e iOS. Bdrive lo hace fácil y personalizable. Su funcionamiento es servidor-cliente, con la ventaja de que aceptará tantos clientes como queramos (móviles, tablets u otros ordenadores). Soporta sistemas Windows y Mac (aunque no hay cliente de mac aún) y en pocos pasos podremos estar compartiendo el contenido en todos nuestros dispositivos compatibles. Tan fácil como mover los archivos que nos interesen a la unidad que Bdrive nos creará. La principal pega es que no hay soporte para sistemas Linux. S.O Cliente Móvil Codigo Libre Web Mac Windows Si No http://www.bdrive. No com/en/index.html 41 Costo Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez • Sparkle Share SparkleShare crea un directorio en tu equipo al cual asocias uno o más directorios ubicados en uno o más equipos en la red (probablemente el servidor de la oficina, la universidad o que permita el acceso remoto). Estos directorios se actualizan automáticamente cada vez que alguien edita, elimina o agrega un archivo. SparkleShare tiene la opción de cifrar los archivos automáticamente. Funciona en Windows, Linux y OS X. Además de intentar reemplazar a DropBox como herramienta de colaboración, SparkleShare cuenta con este par de funciones: • Crea un directorio en tu directorio de inicio con el que puedes agregar diferentes directorios remotos, los cuales pueden ubicarse en distintos servidores. • Ofrece un sistema de notificación tipo DropBox. Con esto podrás ver lo que otros hacen de forma sincronizada y automática cuando agregues o edites archivos. • La aplicación está construida con Mono y GTK+ (implica una integración con el escritorio GNOME). S.O Cliente Móvil Codigo Libre Web Linux Mac Windows Si Si http://sparkleshare.org/ 42 Almacenamiento en la empresa y Alta disponibilidad Manuel Jesús Ubril Velázquez Bibligrafía • • • • • http://wiki.pandorafms.com/index.php? title=Pandora:Documentation_es:DRBD#Configurar_nodos_DRBD http://robertolinux.blogspot.com.es/2012/05/hearbeat-drbd.html http://www.guatewireless.org/os/linux/distros/debian/como-instalar-drbd-sobre-linuxdebian-ubuntu.html http://debian-comunicacion.blogspot.com.es/2011/12/cluster-web-alta-disponibilidad.html http://yoseman.blogspot.com.es/2011/02/drbd-replicacion-de-discos-via-red-en.html 43