Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática CLOUD STORAGE Autores: José Asta Alarcón CLOUD STORAGE José Asta Alarcón Ingeniero Técnico Informático de Sistemas [email protected] Tanto la memoria de este trabajo como el software desarrollado se distribuyen bajo la licencia GNU GPL v3. La Licencia Pública General GNU (GNU GPL) es una licencia libre, sin derechos para software y otro tipo de trabajos. Las licencias para la mayoría del software y otros trabajos prácticos están destinadas a suprimir la libertad de compartir y modificar esos trabajos. Por el contrario, la Licencia Pública General GNU persigue garantizar su libertad para compartir y modificar todas las versiones de un programa y asegurar que permanecerá como software libre para todos sus usuarios. Cuando hablamos de software libre, nos referimos a libertad, no a precio. Las Licencias Públicas Generales están destinadas a garantizar la libertad de distribuir copias de software libre (y cobrar por ello si quiere), a recibir el código fuente o poder conseguirlo si así lo desea, a modificar el software o usar parte del mismo en nuevos programas libres, y a saber que puede hacer estas cosas. Para obtener más información sobre las licencias y sus términos puede consultar: • http://www.gnu.org/licenses/gpl.html (Licencia original en inglés) • http://www.viti.es/gnu/licenses/gpl.html (Traducción de la licencia al castellano) Se ha realizado el presente trabajo para la obtención del título de Máster Propio en Administración, Comunicaciones y Seguridad Informática por la Universidad de Almería http://masteracsi.ual.es ÍNDICE INTRODUCCIÓN ............................................................................................................................................................ 9 CAPÍTULO 1 INTRODUCCIÓN A CLOUD COMPUTING ................................................................................ 11 1.1 BENEFICIOS DE LA TECNOLOGÍA CLOUD COMPUTING ................................................................... 12 1.2 RIESGOS DE LA TECNOLOGÍA CLOUD COMPUTING .......................................................................... 13 1.3 RELACIÓN ENTRE VIRTUALIZACIÓN Y CLOUD COMPUTING......................................................... 13 1.4 CLASIFICACIONES DE UNA CLOUD .......................................................................................................... 13 1.5 OPENSTACK ..................................................................................................................................................... 14 1.5.1 OpenStack Compute ..................................................................................................................................... 15 1.5.2 OpenStack Storage ........................................................................................................................................ 16 1.5.3 OpenStack Networking ................................................................................................................................. 17 CAPÍTULO 2 SISTEMAS DE ALMACENAMIENTO .......................................................................................... 19 2.1 INTRODUCCIÓN .................................................................................................................................................... 19 2.2 DAS (DIRECT ATTACHED STORAGE) ................................................................................................................. 19 2.3 NAS (NETWORK ATTACHED STORAGE)............................................................................................................. 19 2.3.1 Beneficios de usar un sistema NAS .............................................................................................................. 21 2.4 SAN (STORAGE AREA NETWORK)...................................................................................................................... 21 2.5 CLOUD STORAGE ........................................................................................................................................... 23 CAPÍTULO 3 CLOUD STORAGE PRIVADOS ..................................................................................................... 25 3.1 DESCRIPCIÓN .................................................................................................................................................. 25 3.2 SUGARSYNC ..................................................................................................................................................... 25 3.3 DROPBOX .......................................................................................................................................................... 27 3.4 GOOGLE DRIVE .............................................................................................................................................. 29 3.5 SKYDRIVE ......................................................................................................................................................... 30 3.6 COMPARATIVA ............................................................................................................................................... 31 TABLA 3-1. COMPARATIVA DE CLOUD STORAGE PRIVADOS..................................................................... 31 CAPÍTULO 4 CLOUD STORAGE OPEN SOURCE ............................................................................................. 33 4.1 DESCRIPCIÓN .................................................................................................................................................. 33 4.2 UBUNTU ONE.................................................................................................................................................... 33 4.2.1 USO DE UBUNTU ONE ............................................................................................................................. 34 4.3 SYNCANY .......................................................................................................................................................... 39 4.4 OWNCLOUD ..................................................................................................................................................... 40 4.5 COMPARATIVA ............................................................................................................................................... 43 8 CLOUD STORAGE TABLA 4-1. COMPARATIVA DE CLOUD STORAGE OPEN SOURCE ............................................................. 43 CAPÍTULO 5 OWNCLOUD ..................................................................................................................................... 45 5.1 INTRODUCCIÓN .............................................................................................................................................. 45 5.2 OWNCLOUD ALOJADO EN UN PROVEEDOR DE SERVICIOS ............................................................. 45 5.2.1 CREACIÓN DE UN CUENTA DE USUARIO DE OWNCUBE ................................................................ 46 5.2.2 ADMINISTRACIÓN DE LA CUENTA ...................................................................................................... 48 5.2.3 UTILIZACIÓN POR PARTE DE LOS USUARIOS ................................................................................... 49 5.3 OWNCLOUD ALOJADO EN UN SERVIDOR PROPIO .............................................................................. 52 5.3.1 INSTALACIÓN Y CONFIGURACIÓN (ADMIN) ..................................................................................... 58 5.3.2 UTILIZACIÓN POR PARTE DE LOS USUARIOS ................................................................................... 70 5.3.3 PRUEBAS..................................................................................................................................................... 71 CAPÍTULO 6 CONCLUSIONES Y TRABAJO FUTURO .................................................................................... 81 CAPÍTULO 7 ANEXOS ............................................................................................................................................. 83 7.1 ANEXO I. INSTALACIÓN DE LA DISTRIBUCIÓN UBUNTU PARA EL SERVIDOR ................................. 83 7.2 ANEXO II. COMANDOS BÁSICOS EDITOR VI................................................................................................. 92 TABLA 7-1. COMANDOS BÁSICOS DEL EDITOR VI .......................................................................................... 92 BIBLIOGRAFÍA ............................................................................................................................................................ 93 INTRODUCCIÓN La información es el recurso fundamental en el cual se basan todos los recursos informáticos, y por tanto, el tratamiento de la misma es vital para las empresas, las cuales necesitan disponer de la misma de una manera precisa y sin demora. El almacenamiento de los datos, hasta hace relativamente poco, se realiza únicamente mediante el uso de dispositivos Hardware localizados o identificados por el propietario de la información, ya fuesen dichos dispositivos el propio PC o unidad de almacenamiento masivo, o se utilizase un servidor alojado en un centro de procesamiento de datos de confianza. Con el despliegue de las nuevas tecnologías basadas en la nube “cloud computing” y más concretamente los servicios de almacenamiento desarrollado sobre esta tecnología de computing, denominado “cloud storage”, el concepto de almacenamiento ha cambiado sustancialmente. Haciendo uso de los servicios de “cloud storage”, el propietario de la información no se ha de preocupar de donde se almacenan sus datos físicamente, ni tendrá que preocuparse de aumentar la capacidad de sus dispositivos de almacenamiento, y principalmente, se garantiza la disponibilidad de sus datos independientemente de su localización geográfica, accediendo a dichos datos mediante el uso de cualquier dispositivo apto para mantener una conexión a la red. En los siguientes capítulos se profundizará en estos conceptos, describiendo distintas alternativas a este tipo de servicio y prestando una especial dedicación a las aplicaciones o proveedores de “cloud storage open source”. El libro se divide en los siguientes capítulos: • Capítulo 1. Introducción a cloud computing. En el primer capítulo, se define qué se entiende como “cloud computing” o computación en la nube, conceptos necesarios para la buena comprensión de uno de sus servicios: cloud storage, y que será el objeto de estudio de la totalidad de este documento. • Capítulo 2. Cloud Storage o cloud de almacenamiento. En este capítulo se definirán las distintas tecnologías de almacenamiento, profundizando en el almacenamiento en la nube. Se mostraran distintas soluciones en el mercado, tipificándolos entre plataformas privadas o de código abierto, centrándonos especialmente en estas últimas. • Capítulo 3. Cloud Storage privado. En este capítulo estudiaremos diversas herramientas open source, disponibles en la red, para almacenamiento en la nube realizando una comparativa de dichas herramientas. 10 CLOUD STORAGE • Capítulo 4. Cloud Storage Open Source. En este capítulo estudiaremos diversas herramientas open source, disponibles en la red, para almacenamiento en la nube realizando una comparativa de dichas herramientas. • Capítulo 5. Owncloud. Estudiaremos todo el proceso que ha de seguirse para configurar Owncloud, utilizando un proveedor de servicios, así como, utilizando un servidor propio en el cual instalaremos y configuraremos la plataforma de código libre. A la finalización de este capítulo, el lector ha de ser capaz de desplegar este servicio. • Capítulo 6. Conclusiones. Este capítulo servirá para recopilar todo lo estudiado durante el documento, y servirá para que el autor exprese sus propias impresiones sobre el almacenamiento basado en tecnologías en la nube. • Capítulo 7. Anexos. Se mostrará un anexo sobre la instalación de una distribución haciendo uso de VMWare Workstation. Además se indicaran los comandos básicos para la utilización del editor de texto vi, utilizado para la configuración del servidor. Capítulo 1 INTRODUCCIÓN A CLOUD COMPUTING Cloud Computing es una tecnología de la información, compuesta por servidores, almacenamiento, redes e incluso software, que es proporcionada como un servicio dentro de una red. La tecnología de la información en la nube puede ser implementada como arquitectura, plataforma, software e incluso procesos de negocio como un servicio. Una de las características más destacadas de los entornos cloud computing es que ellos incluyen una API (Application Programming Interface) que permite su manipulación. Esto es una potente característica que proporciona un mayor nivel de flexibilidad que los que podían obtenerse mediante el uso de datacenters empresariales. La capacidad de programar infraestructura en ellos mismos es una de las capacidades del cloud computing que permiten desarrollar entornos dinámicos que pueden ser creados, escalados, actualizados o eliminados en pocos minutos, tareas que podían requerir horas, días o semanas en infraestructuras. Nota Una nube es un conjunto de máquinas y servicios Web que implementan cloud computing La naturaleza programable de una infraestructura cloud permite que frecuentemente se use dicha arquitectura para aplicaciones que ejecutan trabajos por lotes, batch, que son aplicaciones que consumen grandes recursos de servidor en paralelo, ejecutando estas a horas de débil tráfico en la red. Cloud computing proporciona a las organizaciones más flexibilidad en términos de donde se ejecutan sus aplicaciones, Esto es debido en parte a las plataformas estándar que proporcionan los proveedores de servicio cloud y también a la disciplina de embalaje que cloud computing impone a los desarrolladores. Ahora una compañía podría ejecutar aplicaciones en un datacenter empresarial, una nube, en múltiples nubes, o en una arquitectura hibrida de ambas. Existe una gama de implementaciones en la nube. Una nube puede ser implementada por un proveedor de servicio (cloud pública) o en un datacenter empresarial (cloud privada) que localizará un gran número de recursos y capacidades que permitirán que las aplicaciones puedan escalarse en cientos de servidores en un corto espacio de tiempo. Modelos emergentes como el de la virtualización permite a los clientes reservar capacidad y trabajar con recursos específicos dentro de una nube, incrementando la capacidad de gestionar niveles de coste y servicio. Las nubes hibridas, adicionalmente, pueden optimizar los beneficios de una organización combinando los elementos necesarios en clouds públicas, clouds privadas y datacenter empresariales. 12 CLOUD STORAGE El acceso a los recursos implementados en una nube por parte de un usuario se llevará a cabo mediante una solicitud de acceso a un determinado conjunto de servicios web, que gestionaran un conjunto de recursos informáticos (máquinas, redes, unidades de almacenamiento, sistemas operativos, entornos de desarrollo de aplicaciones, programas de aplicación, etc.). Cuando se otorgan unos recursos a un determinado usuario, dichos recursos están plenamente dedicados al usuarios solicitante de los mismos hasta que este los libera. Por tanto el acceso a los recursos implementados en una cloud será transparente para el usuario, es decir, accederá a los mismos independientemente de donde se localicen los recursos informáticos físicos. 1.1 BENEFICIOS DE LA TECNOLOGÍA CLOUD COMPUTING Cloud computing puede ofrecer muchos beneficios a largo plazo. Dependiendo del caso de uso, las organizaciones de tecnología de la información que usan cloud computing tienen potencial para obtener algunos o todos los beneficios de reducción de costes, reducción de riesgo, incrementar la flexibilidad y mejorar la agilidad de los procesos del negocio. • Reducción de costes mediante el uso del modelo de pago por servicio, donde al cliente se le factura únicamente por los ciclos de computación, tráfico de red, o almacenamiento usado actualmente. La nube puede ser usada para procesos con un aumento de carga de trabajo, o prototipo para una nueva aplicación, todo sin tener que justificar y adquirir nuevos equipos. Otros factores que pueden influir para bajar el coste son los beneficios de estandarización, integridad operacional, consistencia y elasticidad que los entornos de cloud computing pro fomentan. • Reducción del riesgo de capital ya que es el proveedor del servicio el que adquiere el equipamiento actual y no el cliente, trasladando el riesgo a dicho proveedor de servicio. En el caso de las nubes privadas, el riesgo se traslada desde el cliente individual de la organización al centro de tecnología de la información (donde se centraliza la implementación de cloud computing). • Incremento de la flexibilidad debido al hecho de que las necesidades temporales y transitorias pueden ser satisfechas sin realizar nuevas inversiones en hardware. • Mejora de la agilidad del negocio debido al hecho de que cloud computing es un mecanismo ligero para desarrollar nuevas y existentes aplicaciones rápidamente. Por tanto, cloud computing es la plataforma perfecta para desarrollar nuevas aplicaciones, aumentando las aplicaciones existentes proporcionándoles una mayor capacidad, o realojarlas completamente. Estos beneficios no están totalmente garantizados, la obtención de estos requiere una completa compresión del entorno cloud computing, toando las decisiones apropiadas, y optimizando las aplicaciones correctamente para su ejecución en la nube. Fallos de optimización en la nube pueden convertir los beneficios en desventajas e incluso en riesgos. Por ejemplo, una aplicación desarrollada para permitir automáticamente su crecimiento, pero que por el contrario no permita decrecer automáticamente si se da el caso, incrementaría los costes en un modelo de coste por uso. Incluso, el modelo de pago por uso en sí mismo no significa menor coste, la adquisición y alojamiento de hardware físico y la reserva de espacio en la nube, podría tener un menor precio que el ofertado por el modelo pago por uso. CAPÍTULO 1. INSTALACIÓN Y CONFIGURACIÓN 1.2 13 RIESGOS DE LA TECNOLOGÍA CLOUD COMPUTING Junto con las ventajas del cloud computing, existen también riesgos que deben ser cuidadosamente evaluados y mitigados. No todas las aplicaciones pueden ejecutarse en una nube, o ejecutarse correctamente en la nube. Esto es importante para hacer una valoración de como de apropiado es una aplicación para el cloud computing, el esfuerzo necesario para la optimización de la nube, así como las ventajas que proporciona un determinado proveedor de servicios ha de ser considerado. Estos riesgos incluyen: • Riesgos de negocio al alojar una aplicación en la nube, donde, por ejemplo, los acuerdos para el nivel de servicio no son comunes aún. • Barreras arquitectónicas o técnicas que pueden impedir que una aplicación se ejecute en la nube. • Temas regulatorios o de confiabilidad, incluyendo el control sobre el negocio especifico, clientes o datos personales. • Falta de visibilidad en las políticas de seguridad y los procesos por parte del proveedor de servicio en la nube. El nivel de transparencia varía entre distintos proveedores. Una completa valoración del riesgo podría determinar la decisión de no alojar una aplicación en la nube, o no optimizar esta para la nube, a causa del coste o el riesgo que conlleva. Cuanto mayor sea el riesgo, más cuidado se debe tener para determinar si una aplicación puede implementarse en la nube y el enfoque de la migración de dicha aplicación a la nube. 1.3 RELACIÓN ENTRE VIRTUALIZACIÓN Y CLOUD COMPUTING La Virtualización es la posibilidad de ejecutar “máquinas Virtuales” mediante un híper visor. Una máquina virtual es una implementación software de una máquina, que posee su propio núcleo, sistema operativo, soporte de librerías y aplicaciones. Un híper visor proporciona una abstracción de la máquina física subyacente. Múltiples máquinas virtuales pueden ejecutarse simultáneamente en un único híper visor. El desacoplamiento de la máquina virtual del hardware físico permite que una misma máquina pueda ser iniciada en diferentes máquinas físicas. Así, la virtualización es vista como un facilitador de cloud computing, permitiendo a los proveedores de cloud computing la flexibilidad necesaria para mover y asignar los recursos de computación solicitados por el usuario donde estén disponibles los recursos físicos. 1.4 CLASIFICACIONES DE UNA CLOUD Una cloud se puede clasificar en “tipos de nube” o en “estilo de servicios”: • Tipos de nubes. Clasifica a las nubes a razón del acceso y control a las mismas respecto al uso y aprovisionamiento virtual y físico de los recursos. o Nube Pública 14 CLOUD STORAGE Una nube que se implemente mediante un proveedor de servicios en la nube, y que por tanto, los recursos Hardware son proporcionados por dicho proveedor, y estos son transparentes para los clientes. o Nube Privada Una nube privada se denomina a la implementación de los servicios de cloud computing en Hardware propio de la organización, donde existirá una centralización de los recursos para dar servicio al resto de la organización. o Nube Hibrida Una nube que hace uso de ambas tecnologías, almacenando la parte más sensible dentro de las propias instalaciones de la organización. • Estilos de servicios: o Infraestructura como Servicio (IaaS) Las nubes de estilo “Infraestructura como Servicio” facilitan el acceso a las colecciones de recursos hardware virtualizados, incluyendo máquinas, red y almacenamiento. Con la IaaS, los usuarios montan su propio clúster virtual en el que ellos son responsables de instalar, mantener y ejecutar su conjunto propio de software. o Plataforma como Servicio (PaaS) Las nubes de estilo “Plataforma como Servicio” facilitan el acceso a una programación o entorno de ejecución con computación escalable y estructuras de datos integradas en el mismo. Con PaaS, los usuarios desarrollan y ejecutan sus propias aplicaciones en un entorno ofrecido por el proveedor de servicios. o Software como servicio (SaaS) Las nubes de estilo “Software como Servicio” ofrecen acceso a las colecciones de aplicaciones software y programas. El proveedor de SaaS ofrece a los usuarios acceso a programas de aplicaciones específicas, controladas y ejecutadas en la infraestructura del proveedor. Saas es referido con frecuencia como “Software bajo demanda”. Además se considera que existe un nuevo estilo de computación en la nube denominado” Proceso como servicio”, que consiste en alojar los procesos de negocio de una organización en una cloud computing. 1.5 OPENSTACK Openstack es un software de código abierto para la creación de nubes privadas y públicas desarrollado por la comunidad. CAPÍTULO 1. INSTALACIÓN Y CONFIGURACIÓN 15 OpenStack es un sistema operativo en la nube, escalable que controla grandes reservas de computación, almacenamiento y recursos de red a través de un datacenter, gestionando todo a través de un panel de control que proporciona a los administradores control sobre el sistema, dotando a sus usuarios de recursos a través de una interfaz Web. OpenStack ofrece, como puede comprobarse en la imagen anterior, una gestión de todos los servicios disponibles en la nube, computación, networking y almacenamiento. 1.5.1 OpenStack Compute El sistema operativo en la nube OpenStack habilita a las empresas y los proveedores de servicios ofrecer recursos de computación, bajo demanda, de aprovisionamiento y gestión de grandes redes de máquinas virtuales. Los recursos de computación son accesibles a través de APIS para desarrollo de aplicaciones en la nube y mediante una interfaz Web para administradores y usuarios. La arquitectura de computación se ha diseñado para escalar horizontalmente, permitiendo a las compañías una nube económica. La arquitectura de OpenStack proporciona flexibilidad para el diseñar una nube propia, sin requerir hardware o software propietario y la capacidad de integración con sistemas heredados y tecnologías de terceros. Está diseñado para gestionar y automatizar reservas de recursos de computación y puede trabajar con la mayoría de las tecnologías de virtualización existentes, así como metal desnudo y configuraciones de alto rendimiento (configuraciones HPC). Los administradores con frecuencia despliegan la máquina OpenStack usando uno de los múltiples hipervisores compatibles en un entorno virtualizado. KVM y XenServer son opciones populares para la tecnología de hipervisor y recomendado para la mayoría de casos. La tecnología de contenedor Linux tal como LXC es también soportado para escenarios donde los usuarios desean minimizar la sobrecarga de virtualización y lograr una mayor eficiencia y rendimiento. Además de los diferentes hipervisores, OpenStack soporta arquitecturas ARM y alternativas de Hardware. 16 CLOUD STORAGE 1.5.2 OpenStack Storage Además de la tradicional tecnología de almacenamiento empresarial, muchas organizaciones tienen variedad de necesidades de almacenamiento de variable rendimiento y presupuesto. OpenStack tiene soporte para ambos, Object Storage y Block Storage, con muchas opciones desarrolladas para cada uno dependiendo del uso de cada caso. Object Storage es ideal para un coste efectivo, almacenamiento escalable. Proporciona una distribución completa, acceso a la plataforma de almacenamiento a través de una API que puede ser integrada directamente en las aplicaciones o usada para backup, archivado y conservación de datos. Block Storage permite a los dispositivos de bloque ser expuestos y conectados para calculas los casos de ampliación de almacenamiento, mejorar el rendimiento y la integración con la plataforma de almacenamiento empresarial, tal como NetApp, Nexenta y SolidFire. • Características Object Storage o OpenStack proporciona redundante, objetos de almacenamiento escalable usando clústeres o servidores estandarizados con capacidad de almacenamiento de petabytes de datos. o Object Storage no es un sistema de ficheros tradicional, sino un sistema de almacenamiento distribuido para datos estáticos tal como imágenes de máquinas virtuales, almacenamiento de fotos, email, backups y archivos. Al no poseer un “cerebro” central o punto de control maestro proporciona una gran escalabilidad o Objetos y ficheros son escritos en múltiples unidades de discos extendidos a los lardo de los servidores del centro de datos, siendo el software OpenStack el responsable de asegurar la replicación de datos y la integridad de todo el clúster. o Clústeres de almacenamiento escalables horizontalmente simplemente agregando nuevos servidores. Si un servidor o disco duro falla, OpenStack replica su contenido desde otros nodos activos a nuevas ubicaciones en el clúster. Debido a que OpenStack utiliza la lógica de software para asegurar la replicación y distribución de datos a través de diferentes dispositivos, pueden ser usadas unidades de disco y servidores más baratos. • Características Block Storage o OpenStack proporciona un nivel de dispositivos de almacenamiento de bloque persistente para uso con instancias OpenStack. o El sistema de almacenamiento de bloque gestiona la creación, montaje y desmontaje de los dispositivos de bloque en los servidores. Volúmenes de almacenamiento en bloque se integran plenamente en OpenStack y el panel de control permite para los usuarios en la nube, gestionar sus propias necesidades de almacenamiento. o Además de usarse un simple servidor de almacenamiento Linux, tiene soporte para numerosas plataformas de almacenamiento, incluidas Ceph, NetApp, Nexenta y SolidFire. o El almacenamiento de bloque es apropiado para rendimiento en escenarios sensibles tal como almacenamiento de bases de datos, sistemas de ficheros expandibles o proveedores de servicio con acceso a nivel de almacenamiento de bloque en bruto. o La administración de instantáneas ofrece una potente funcionalidad para realizar copas de seguridad en los datos almacenados en los volúmenes de almacenamiento de bloque. Las instantáneas se pueden restaurar o ser usadas para crear un nuevo volumen de almacenamiento en bloque. CAPÍTULO 1. INSTALACIÓN Y CONFIGURACIÓN 1.5.3 17 OpenStack Networking Las redes de los datacenter actuales contienen más dispositivos que nunca, servidores, equipos de redes, sistemas de almacenamiento y dispositivos de seguridad, muchos de los cuales se dividen en máquinas virtuales y redes virtuales. El número de direcciones IP, configuraciones de enrutamiento y reglas de seguridad pueden crecer rápidamente a millones. Tradicionalmente la gestión técnica de redes está a la altura de proporcionar una verdadera escalabilidad, automatizando el enfoque para la gestión de las redes de próxima generación. Al mismo tiempo, los usuarios esperan más control y flexibilidad con más rápido aprovisionamiento. Las redes OpenStack es un sistema extensible, escalable y basado en la API para la gestión de redes y direcciones IP. Al igual que otros aspectos del sistema operativo cloud, que puede ser utilizado por los administradores y usuarios para aumentar el valor de los activos del centro de datos ya existentes. Las redes OpenStack aseguran que la red no será el cuello de botella o el factor limitante en un despliegue en la nube y ofrece a los usuarios de autoservicio real, incluso a través de sus configuraciones de red. • Características Networking o OpenStack proporciona flexibles modelos de red para adaptarse a las necesidades de diferentes aplicaciones o grupos de usuario. Los modelos estándar incluyen redes planas o VLAN para la separación de servidores y tráfico. o Las redes OpenStack gestionan direcciones IP, permitiendo especificar direcciones IP estáticas o DHCP. o Las IP flotantes permiten que el tráfico sea desviado dinámicamente a cualquiera de los recursos informáticos disponibles, permitiendo redirigir el tráfico durante el mantenimiento o en caso de fallo. o Los usuarios pueden crear sus propias redes, tráfico de control y conectar servidores y dispositivos en una o más redes. o La arquitectura conectable permite a los usuarios tomar ventaja de los productos engranados o avanzados servicios de redes de vendedores compatibles. o Los administradores aprovechar las redes definidas por software (SDN), la tecnología OpenFlow permite altos niveles de multi-tenencia y gran escala. o Las redes OpenStack tienen un framework de extensión adicional que permite servicios adicionales de red, tal como sistema de detección de intrusiones (IDS), balanceo de carga, cortafuegos y redes virtuales privadas (VPN) para ser desarrolladas y gestionadas. Capítulo 2 SISTEMAS DE ALMACENAMIENTO 2.1 INTRODUCCIÓN En la actualidad existen distintas alternativas de almacenamiento, sobre todo enfocando dicho almacenamiento hacía el ámbito empresarial, a continuación vamos a describir las distintas alternativas existentes. 2.2 DAS (DIRECT ATTACHED STORAGE) Es el método tradicional de almacenamiento, que consiste en la conexión física de un dispositivo de almacenamiento a un servidor o computadora, que es el encargado de la gestión y la transferencia de los datos de dicho dispositivo. 2.3 NAS (NETWORK ATTACHED STORAGE) Los dispositivos de almacenamiento que optimizan el concepto de compartición de archivos a través de la red han sido denominados como “Network Attachment Storage (NAS)”. Las soluciones NAS utilizan la consolidada tecnología de red IP a través de una “Local Area Network (LAN)”. La información es enviada 20 CLOUD STORAGE para y desde un dispositivo NAS a través de una LAN y usando TCP/IP. Para la compartición de archivos a través de una LAN, los sistemas NAS usan protocolos como son NFS, CIFS, etc. Al ser los dispositivos de almacenamiento direccionables a través de una LAN, el almacenamiento es liberado de un servidor específico proporcionando una conectividad “any-to-any” usando dicha LAN. En principio, muchos usuarios ejecutaran múltiples sistemas operativos accediendo a los ficheros a través de un dispositivo de almacenamiento remoto, accesible a través de la red mediante el uso de un protocolo de acceso común. Un dispositivo de almacenamiento no puede unirse directamente a la red. Él necesita “inteligencia” que gestione la transferencia y la organización de los datos que se almacenan o almacenaran en dicho dispositivo. La “inteligencia” es proporcionada por un servidor dedicado que se une a los dispositivos de almacenamiento comunes. Un NAS está compuesto por tanto, por un servidor, un sistema operativo y almacenamiento que es compartido a través de la red por muchos otros servidores y clientes. Así, un NAS es un dispositivo y no una arquitectura de red, y el almacenamiento que comparte es interno o unido a dicho dispositivo (NAS). Los sistemas NAS son muy utilizados en entornos distribuidos, ya que como se puede interpretar de la definición anterior, permiten centralizar grandes cantidades de información, facilitando el acceso a ésta desde distintas localizaciones. Un sistema NAS puede hacer uso de soluciones RAID para obtener una mayor capacidad y redundancia de los datos. Actualmente existen soluciones NAS tanto hardware como software. Respecto a las versiones software existen distribuciones Linux, distribuciones BSD como FreeNAS, NASLite y Openfilter, así como distribuciones LiveCD. © RA-MA 2.3.1 CAPÍTULO 2. SISTEMAS DE ALMACENAMIENTO 21 Beneficios de usar un sistema NAS Algunos de los beneficios que proporciona el uso de sistemas NAS son los siguientes: 2.4 • Agrupación de recursos • Explotación de la infraestructura existente • Fácil de implementar • Distintas opciones. Independencia al escoger servidor y dispositivos de almacenamiento según las necesidades • Conectividad • Escalabilidad • Compartición de archivos heterogéneos • Backup mejorado • Gestión mejorada SAN (STORAGE AREA NETWORK) “Storage Network Industry Association (SNIA) define el Storage Area Network (SAN, Área de Almacenamiento en Red), como una red cuyo objetivo principal es la transferencia de datos entre sistemas de computadores y elementos de almacenamiento. 22 CLOUD STORAGE Una SAN se compone de una infraestructura de comunicación, que proporciona conexiones físicas, y una capa de gestión, que organiza las conexiones, elementos de almacenamiento, y sistemas de computadores para que la transferencia sea segura y robusta. También puede ser un sistema de almacenamiento, que consta de elementos de almacenamiento (unidades de disco o cinta), sistemas informáticos y aplicaciones, además de todo el software de control para comunicarse a través de una red. Nota La definición aportada por SNIA no identifica el término SAN con la tecnología de “Fibra Óptica”. Cuando el término SAN se utiliza en relación con la tecnología de fibra óptica, usa para denominarlo “SAN de fibra óptica”. De acuerdo con esta definición, una red basada en Ethernet cuyo objetivo principal es facilitar el acceso a los elementos de almacenamiento sería considerada una SAN. Dicho en términos simples, una SAN es un organismo especializado, de alta velocidad de red que conecta servidores y dispositivos de almacenamiento. Una SAN permite conexiones “any-to-any” a través de una red, usando elementos de interconexión como routers, gateways, hubs, switches y directores. Se elimina la tradicional conexión dedicada entre un servidor y el almacenamiento, y el concepto de que el servidor, de manera efectiva, “posee y gestiona” los dispositivos de almacenamiento. También elimina cualquier restricción a la cantidad de datos que un servidor puede tener acceso, anteriormente limitado por el número de dispositivos conectados al servidor. En su lugar, una SAN introduce flexibilidad en las redes permitiendo que un servidor, o varios servidores heterogéneos, compartan una utilidad de almacenamiento común, que puede comprender muchos dispositivos de almacenamiento, incluyendo discos, cintas y almacenamiento óptico. Además la unidad de almacenamiento puede encontrarse alejada físicamente de los servidores que la utilicen. © RA-MA CAPÍTULO 2. SISTEMAS DE ALMACENAMIENTO 23 Puede ser vista como una extensión del concepto de almacenamiento, que permite a los dispositivos de almacenamiento y servidores ser interconectados usando elementos similares que una red de área local y una red de área extensa. SAN crea nuevos métodos para conectar almacenamiento y servidores. Estos nuevos métodos pueden permitir grandes mejoras en disponibilidad y rendimiento. Las SAN son usadas para campos de almacenamiento compartido y las bibliotecas de cintas con múltiples servidores, y son usadas por clústeres de servidores para conmutación por error. Se puede utilizar para evitar cuellos de botella tradicionales de la red, esto facilita la alta velocidad de transferencia de datos entre servidores y dispositivos de almacenamiento en cualquiera de los siguientes tres tipos: • Server to Storage Este es el tradicional modelo de interacción con dispositivos de almacenamiento. La venta es que un mismo dispositivo de almacenamiento puede ser accedido en serie o en paralelo por múltiples servidores. • Server to Server Una SAN se puede utilizar para la alta velocidad y alto volumen de comunicaciones entre servidores. • Storage to Storage Permite el movimiento de datos sin la intervención del servidor, liberando así ciclos de procesamiento del servidor para otras actividades como procesamiento de aplicaciones, backup o duplicación se dispositivos remotos a través de la SAN. 2.5 CLOUD STORAGE El almacenamiento en la nube o cloud storage es un nuevo modelo de almacenamiento eficiente, que proporciona seguridad a los datos que en él se almacenan debido a la independencia de los datos y demás información de los propios equipos. Esta característica permite que los datos estén siempre disponibles independientemente del equipo de trabajo, protegiendo de esta manera estos ante indisponibilidad de dichos equipos, así como proporcionando acceso a la información desde cualquier ubicación o dispositivo. El cloud storage, evidentemente, necesitará de recursos de disco, estos recursos pueden pertenecer a distintos proveedores que han de garantizar la disponibilidad y backup de los datos, o servidores propios, en tal caso han de adoptarse las medidas oportunas para la protección y disponibilidad de los mismos, según la criticidad de los datos y las leyes de protección de los mismos vigentes. El aumento de las necesidades de disco, tanto en ámbitos empresariales como personales, está provocando que la solución de almacenamiento en la nube se implante en numerosas empresas y usuarios, que contratan almacenamiento con distintos proveedores pagando sólo el coste por uso del servicio disminuyendo así la adquisición y mantenimiento de nuevas infraestructuras. Existen actualmente variedad de compañías que se dedican a dotar de este servicio a los usuarios y empresas, tales como Dropbox, SugarSync, etc., a su vez, existen opciones de almacenamiento en la nube open source, es decir, software de código abierto que permite adaptar la tecnología de almacenamiento en la 24 CLOUD STORAGE nube a las distintas necesidades de los usuarios. Este código libre es usado por compañías que ofrecen a los usuarios servicios de almacenamiento haciendo uso de este software, como es el caso de Owncube. La alternativa de uso de almacenamiento en la nube mediante software libre haciendo uso de un servidor propio, proporciona gran versatilidad y adaptación a los usuarios y a las empresas, ya que pueden adaptar el software creado bajo esta licencia a las necesidades propias, así como garantizar la localización de sus datos. Esta alternativa necesitará la inversión en infraestructura por parte de la empresa que permita su despliegue. Algunas de estas alternativas de software libre son Owncloud, Ubuntu One, etc. El acceso a la información almacenada en una plataforma cloud puede hacerse por varias vías. Por un lado, se puede acceder directamente al espacio de almacenamiento mediante protocolos comunes (por ejemplo WebDAV) y trabajar con este espacio de igual forma que si lo estuviéramos haciendo con un disco duro local. Otra posibilidad es acceder al espacio de almacenamiento utilizando una interfaz Web, que permite de una forma sencilla, “subir” ficheros a la nube o borrar documentos. La mayoría de interfaces Web actuales para este tipo de servicios, permiten “drag and drop”, facilitando la subida de archivos. Las plataformas de cloud storage profesionales también permiten el acceso a través de una API especialmente construida, y ofrecen funciones básicas que permiten copiar archivos, borrarlos o moverlos por medio de programación. De esta manera se pueden integrar las ventajas del almacenamiento remoto en cualquier aplicación empresarial que se ejecute en los terminales de los usuarios. El sistema de almacenamiento se convierte en el soporte o infraestructura del sistema de información o ficheros implantado. La empresa se despreocupa de los límites físicos y almacena la información que necesita, sin límites. Nota En caso de implantar el servicio de almacenamiento en la nube para la empresa en un servidor propio, la capacidad de almacenamiento estará limitada a la capacidad de las unidades de disco administradas en dicho servidor. En los siguientes capítulos examinaremos algunas de las características de almacenamiento en la nube de distintas tecnologías, tanto privadas como de software libre. Capítulo 3 CLOUD STORAGE PRIVADOS 3.1 DESCRIPCIÓN Existen proveedores que brindan sus servidores y sus unidades de disco para el uso de clientes, para que estos puedan almacenar en ellos sus datos y por tanto, acceder a los mismos desde cualquier dispositivo con conexión a Internet. El software desarrollado es de código cerrado, es decir, el cliente no tendrá acceso a este y por tanto no podrá realizar modificaciones sobre el desarrollo software de la plataforma de almacenamiento en la nube. Los servicios que ofrecen este tipo de proveedores son similares, siendo principalmente la disponibilidad, compartición de archivos, sincronización de directorios mediante la instalación de un cliente de la plataforma usada un dispositivo. La capacidad de almacenamiento y servicios que pueden disfrutar los usuarios difiere de un proveedor a otro, siendo común ofertar una determinada capacidad de almacenamiento sin coste a los usuarios cuando estos crean su cuenta. A continuación describiremos algunos de los proveedores de cloud storage privados del mercado. 3.2 SUGARSYNC SugarSync permite sincronizar los directorios escogidos. El software de SugarSync trabaja en segundo plano, almacenando los datos más importantes para que estos siempre estén disponibles y actualizados, independientemente de la localización y el dispositivo, ya que se accede a los datos a través de Internet. 26 CLOUD STORAGE © RA-MA SugarSync permitirá realizar gestiones y ediciones sobre los documentos cuando el equipo se encuentra “offline”, sincronizando los datos de los directorios designados para almacenar en la nube, cuando esté conectado a la red el dispositivo, salvando posibles cambios realizados cuando el dispositivo se encuentra sin conexión. También permite trabajar a varios usuarios sobre un mismo directorio, permitiendo la colaboración en línea. Los cambios realizados por cualquier miembro del equipo son automáticamente sincronizados y disponibles para el resto del equipo. El uso de SugarSync le asegura una copia de seguridad de los datos en caso de avería de un equipo, permitiendo su restauración una vez solventado el problema, así como la migración de los mismos a otro equipo. Permite control de versiones, en caso de tener que recuperar una antigua versión de documento. SugarSync guardará automáticamente las 5 versiones previas a la actual. Existen distintos clientes para hacer uso del almacenamiento en la nube que ofrece SugarSync a través de dispositivos móviles, así como un cliente para la plataforma Windows y Mac. SugarSync ofrece actualmente a sus clientes cuando crean su cuenta una capacidad de almacenamiento gratuito de 5 Gb. A continuación mostramos la imagen de la interfaz del cliente de SugarSync para Windows. © RA-MA 3.3 CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 27 DROPBOX Dropbox es una plataforma de almacenamiento privada en la nube. Dropbox te permite compartir directorios con otros usuarios de Dropbox, sincronizar directorios, siendo accesibles dichos documentos desde cualquier ubicación y dispositivos. El uso de Dropbox, consiste en almacenar en un determinado directorio los archivos que quiere que se almacenen en el espacio de almacenamiento ofrecido por el proveedor. Dropbox ofrece a sus usuarios una capacidad de 5Gb sin coste, al crear una cuenta, mientras que oferta a su vez soluciones más avanzadas, tanto de capacidad como de soporte, está última enfocada hacia un mundo más profesional donde los datos suelen ser extremadamente críticos. 28 CLOUD STORAGE © RA-MA La interfaz Web de la plataforma le muestra los directorios compartidos con otros usuarios, así como su carpeta pública. La carpeta pública de Dropbox es una utilidad para compartir archivos a través de la red, para ello se han de alojar los archivos que quieren compartirse en la misma, estos archivos ahí alojados, tendrán asiganado un enlace público y por tanto podrá ser compartidos con cualquier persona a la que se le envíe dicho enlace, aunque esta no disponga de una cuenta de Dropbox. Al instalar el cliente, se obtiene la opción de sincronización de los archivos alojados en su espacio de almacenamiento en la nube, descargando en el directorio que se crea al realizar la instalación dichos archivos, por lo que se podrá trabajar con ellos aunque no se disponga de conexión, una vez que estos han sido sincronizados,actualizando dichos archivos cuando se vuelva a estar online. © RA-MA 3.4 CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 29 GOOGLE DRIVE Plataforma de almacenamiento en la nube que ofrece la compañía google. Esta compañía permite almacenar gratuitamente en su infraestructura cloud hasta 5 Gb. Entre las funcionalidades que ofrece la plataforma, destacan: • Compartir y publicar archivos • Sincronizar archivos • Acceso a los archivos desde cualquier ubicación y dispositivo • Aplicaciones para móviles Se puede acceder a la aplicación a través de su cuenta de google, sin necesidad de realizar un nuevo registro, así como tratar todos los archivos a través de su interfaz Web. EL look and feel de la interfaz Web de la Google Drive, así como su menú puede verse a continuación. 30 CLOUD STORAGE © RA-MA Entre las opciones que ofrece la platafroma de google, se encuentran la de señalar elementos destacados, actividad, recientes, etc. Para sincronizar archivos entre un equipo y el almacenamiento en la nube es necesario descargar la aplicación cliente, el enlace puede observarse en la parte inferior izquierda de la imagen anterior. 3.5 SKYDRIVE SkyDrive es la solución de almacenamiento en la nube de Microsoft, y que por tanto será accesible, con una cuenta previa de Hotmail, MSN, etc. SkyDrive ofrece 7 Gb de almacenamiento gratuito en la nube y sus características son similares a las plataformas de almacenamiento estudiadas anteriormente. • Almacenamiento y compartición de archivos. • Sincronización de directorios. • Aplicaciones para dispositivos móviles. La interfaz Web de la plataforma de Microsoft, puede verse a continuación, accesible además mediante un vínculo desde la cuenta de Hotmail. © RA-MA 3.6 CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 31 COMPARATIVA Tabla 3-1. Comparativa de Cloud Storage Privados BACKUP DROPBOX SUGARSYNC Free Storage Backup con recuperación Backup de varias carpetas del sistema Cambios y subidas en tiempo real Versionado de ficheros ACCESO A FICHEROS Navegador Web Ipad app Iphone app BB app Windows phone Android app Symbian app Kindle fire Mobile Website Outloock plugin GOOGLE 2 Gb 5 Gb 7 Gb 5 Gb Si Si No Si No Si No No Si Si Si Si Si Si No Si SUGARSYNC SKYDRIVE Si Si Si Si No Si No No Si Si No Si Si Si No Si No Si No No DROPBOX SUGARSYNC SKYDRIVE Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No No No Si No Si No No Si Si Si Si No No Si No No Si Si Si Si No Si No No SINCRONIZACIÓN VARIOS PC DROPBOX Sync carpeta plataforma Selección de directorios para sync Seleccionar directorios para sync con otros dispositivos Sync carpetas compartidas entre usuarios Subida/sync desde email SKYDRIVE GOOGLE GOOGLE DRIVE DRIVE DRIVE 32 CLOUD STORAGE © RA-MA COMPARTICIÓN Y COLABORACIÓN DROPBOX SUGARSYNC SKYDRIVE Si Si Si Si Si Si Si Si No Si Si Si PLATAFORMAS DROPBOX SUGARSYNC SKYDRIVE Windows Mac OSX App Abiertas para integración con terceros Si Si Si Si Si Si Si Si Si Si Si Si Ficheros de gran tamaño Compartición de directorios Backup de otras carpetas del sistema GOOGLE GOOGLE DRIVE DRIVE Capítulo 4 CLOUD STORAGE OPEN SOURCE 4.1 DESCRIPCIÓN Hemos de entender por “Cloud Storage Open Source” un software, que gestiona un almacenamiento ubicado en una determinada unidad de disco accesible a través de Internet, desarrollado bajo licencia GPL. Los desarrollos bajo esta licencia proporcionan el código fuente, permitiendo la modificación y por tanto la actualización del software para adquirir unas determinadas funcionalidades. Todas las modificaciones de código fuente “open source” son automáticamente amparadas por la misma licencia GPL, por tanto será también código “open source”. Los proyectos open source son desarrollados mediante comunidades de programadores que intercambian libremente código fuente. Algunas de las plataformas existentes para la gestión de archivos en la nube, de código libre son “Owncloud”, “Ubuntu One” y “Syncany”. A continuación describiremos estas plataformas. 4.2 UBUNTU ONE Ubuntu One es una nube personal que permite almacenar cualquier documento digital, permitiendo acceder a ellos independientemente de la localización y del dispositivo. Ubuntu One es un proyecto open source desarrollado por la comunidad de Ubuntu. Para utilizarlo es necesario instalar su cliente, en la distribución Ubuntu actual viene instalado por defecto, y crear una cuenta con unas credenciales de acceso. 34 CLOUD STORAGE © RA-MA Ubuntu One permite almacenar en sus unidades de disco hasta 5 Gb de almacenamiento sin ningún tipo de coste. La plataforma permite la sincronización entre distintos dispositivos y el almacenamiento en la nube, compartir ficheros y directorios y acceder al servicio a través de móvil. Ubuntu One establece una serie de tarifas, que se muestran a continuación, para aquellos usuarios que requieran una capacidad de almacenamiento para sus ficheros, superior a los 5 Gb o que soliciten su servicio de música mediante streaming. Nota En la distribución actual de Ubuntu el servicio se encuentra disponible para su instalación. 4.2.1 USO DE UBUNTU ONE Como hemos comentado anteriormente, la actual versión de Ubuntu cuenta en su menú con la aplicación “Ubuntu One”. Instalaremos la aplicación y observaremos brevemente sus características. © RA-MA CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 35 Para ello en primer lugar instalaremos la plataforma de almacenamiento en la nube, una vez la seleccionemos desde el menú, y configuraremos nuestra cuenta, así como, las carpetas que sincronizaremos con el almacenamiento en la nube ofrecido por Ubuntu. La interfaz de trabajo desde el cliente instalado en Ubuntu mostrará el directorio escogido para la sincronización, y según nuestras opciones de sincronización, mostrará además o no, todos los directorios y ficheros alojados en nuestra nube de almacenamiento. 36 CLOUD STORAGE © RA-MA Las opciones de configuracióon que permite la plataforma, consisten en delimitar tanto la subida como la descarga de ficheros, así como opciones de sincronización del directorio escogido anteriormente con el almacenamiento en la nube. En nuestro caso sincronizaremos todos los directorios y archivos alojados en la nube. Accedemos a nuestro espacio en la nube a partir de un navegador Web, y agregamos un directorio y un archivo, a fin de comprobar que estos se sincronizaran en la carpeta que configuramos para tal efecto a partir del cliente recien instalado. © RA-MA CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 37 Comprobamos en nuestro cliente que se ha copiado el directorio y el archivo que acabamos de alojar en nuestro servicio en la nube. 38 CLOUD STORAGE © RA-MA Otra de las opciones que ofrece Ubuntu One, es la de compartir un drectori. Incluso mediante correo electrónico. Ubuntu One dispone de distintas aplicaciones para dispositivos móviles, entre las que se encuentra la app gratuita y accesibles desde “play store” para las distribuciones “android”. © RA-MA 4.3 CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 39 SYNCANY Syncany es un proyecto de desarrollo de una nube de almacenamiento de código abierto e intercambio de archivos. Permitirá a los usuarios hacer copias de seguridad y compartir ciertos directorios almacenados en su equipo, usando ciertos tipos de almacenamiento. Syncany básicamente es similar a Dropbox o JungleDisk, con la salvedad de que es open source y provee encriptación y más flexibilidad en términos de almacenamiento y proveedores. • Encriptación de datos: Syncany encripta los ficheros localmente por lo que cualquier almacenamiento en línea puede ser utilizado. • Almacenamiento arbitrario: Syncany usa una plug-in basado en sistemas de almacenamiento. Puede ser usado con cualquier tipo de almacenamiento remoto. Syncany se encuentra actualmente en desarrollo, aunque soportará los siguientes tipos de almacenamiento, aunque podría incluir otros debido a su actual estado de desarrollo: • Directorio Local • FTP • IMAP • Almacenamiento de Google • Amazon S3 • Rackspace Cloud Files • WebDAV 40 CLOUD STORAGE 4.4 • Álbumes Web Picassa • Windows share • Box.net • SFTP/SSH © RA-MA OWNCLOUD Owncloud es un proyecto de desarrollo de una nube de almacenamiento de código abierto desarrollado por su propia comunidad. La plataforma Owncloud ha sido implementada por algunos proveedores de servicio, como es el caso de Owncube, permitiendo el acceso a los ficheros almacenados en la infraestructura de Owncube haciendo uso de la plataforma Owncube y su interfaz Web (solo se modifica levemente el look and feel, mostrando Owncube en lugar de Owncloud), o de los clientes que Owncloud ha desarrollado tanto para Windows, Mac, Linux y aplicaciones móviles android, e ios. Además de ofrecer estos servicios, similares a los ofrecidos por Dropbox, SugarSync o UbuntuOne, Owncloud permite instalar tu propia nube de almacenamiento en un servidor, siendo por tanto el administrador de la nube de almacenamiento, lo que posibilita agregar usuarios, asignar cuotas de disco, instalar o desinstalar todas las aplicaciones disponibles, etc. La plataforma ofrece una serie de características en su última versión, que enumeramos a continuación: • Acceso a los datos almacenados en un servidor Owncloud permite almacenar archivos, directorios, contactos, galerías fotográficas, calendario, etc. en un servidor. El almacenamiento en la nube ofrecido por Owncloud proporciona el acceso, a los datos almacenados en dicho servidor, en cualquier lugar, en el momento que se precise, a través de cualquier PC, Netbook, dispositivos móviles con conexión a la red. Owncloud cuenta con distintas aplicaciones de usuario para el acceso a los datos, así como su propia interfaz para conexiones a los mismos a través de un navegador Web. • Sincronización de datos Owncloud proporciona la utilidad de mantener los archivos, contactos, galerías fotográficas, calendarios, etc. sincronizado entre distintos dispositivos. Este uso de Owncloud permite la obtención de la última versión del dato, haciendo uso de las distintas aplicaciones móviles para comunicarse con el servidor o cliente Web para sincronizar una determinada carpeta en su escritorio. • Compartición de datos © RA-MA CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 41 Owncloud permite la compartición de datos con otros usuarios, siempre que se le proporcione el correspondiente acceso a los mismos. • Control de versiones La plataforma de almacenamiento en la nube Owncloud en su nueva versión, Owncloud 4, cuenta con un módulo que en caso de ser habilitado, almacenará automáticamente las distintas versiones de los datos almacenados en el servidor. Este módulo es de gran utilidad en carpetas de uso compartido en las cuales, cualquier usuario cuenta con los privilegios necesarios para realizar modificaciones. La activación de este módulo le permitiría acceder a una versión posterior a la modificación de dicho dato. • Cifrado de datos Owncloud contiene un módulo que en caso de activación, cifra todos los datos almacenados en el servidor con la contraseña de acceso a Owncloud del propio usuario. Este módulo es de gran utilidad si se almacenan los datos en un disco duro no confiable, externo al servidor Owncloud. Añadiendo, además, una conexión SSL, se protegerán los datos mientras viajan por la red. • Drag and Drop Owncloud permite arrastrar los archivos desde su ubicación en el disco duro local, al directorio en el cual se pretenden almacenar los mismos a través de un navegador Web. Los archivos arrastrados a un determinado directorio serán alojados automáticamente al servidor. • Themening Se ha desarrollado una nueva funcionalidad para Owncloud, que permite la utilización de estilos e imágenes, sustituyendo las fuentes, colores e iconos de la interfaz establecida por defecto. • Visor de archivos ODF Owncloud cuenta con un módulo que permite visualizar los documentos con formato ODF en el propio navegador Web, sin necesidad de descarga de los mismos. • API para el desarrollo de aplicaciones Nueva API definida públicamente que permite desarrollas nuevas funcionalidades para Owncloud de una manera más sencilla. Permite añadir funciones en un punto de integración estable para futuras versiones. • Migración y Backup Owncloud permite mover fácilmente cuentas de usuario entre distintas estancias Owncloud, permitiendo el hecho de tener una copia de seguridad, en caso de necesidad. • Seguimiento de Tareas Owncloud cuenta con un módulo que permite sincronizar fácilmente las listas de tareas pendientes. 42 CLOUD STORAGE • © RA-MA Application Store Owncloud permite agregar aplicaciones existentes, para ello, simplemente se ha de acceder a la administración de la herramienta y seleccionar dicha aplicación o módulo. Una vez seleccionada, esta se instala automáticamente en la plataforma de Owncloud. • Compartición de Calendario La plataforma de almacenamiento en la nube Owncloud, ofrece un calendario que puede ser compartido por los usuarios o grupos que se expresen. Esta utilidad permite compartir acontecimientos de manera prácticamente inmediata. • Notificaciones cuando se comparte un archivo La nueva versión de Owncloud permite notificar a los demás que se ha compartido un archivo, facilitando el traspaso de datos y documentación de los mimos. • Galería Owncloud permite compartir las galerías de fotos con cualquier dirección de correo electrónico elegida. • Unificación de almacenamientos externos Esta es una característica experimental en la nueva versión de Owncloud que permite, en caso de estar habilitado este módulo, obtener en un mismo directorio Owncloud, todos los datos que se tengan almacenados en distintos almacenamientos externos, utilizando una única interfaz para acceder a todos ellos. • LOG Owncloud permite habilitar una utilidad para que la aplicación escriba en el registro syslog. • Administración de usuarios almacenados en un directorio La nueva versión de la plataforma Owncloud permite a los administradores administrar usuarios y grupos a partir de un servicio de directorio LDAP o Active Directory. Una vez visualizadas algunas de las características más importantes de la plataforma de almacenamiento en la nube de código abierto Owncloud, implantaremos y usaremos la plataforma utilizando un proveedor de servicios de almacenamiento, así como, instalándola en un servidor propio, en el cual configuraremos dicho servidor para que la plataforma pueda ser desplegada y utilizada por distintos usuarios. © RA-MA 4.5 CAPÍTULO 4. CLOUD STORAGE OPEN SOURCE 43 COMPARATIVA Tabla 4-1. Comparativa de Cloud Storage Open Source BACKUP UBUNTU ONE OWNCUBE Free Storage Backup de varias carpetas del sistema Cambios y subidas en tiempo real Versionado de ficheros 5 Gb 5 Gb Capacidad Servidor (configurable) Si Si No Si Si Si No No Si SINCRONIZACIÓN VARIOS PC UBUNTU ONE Sync carpeta plataforma Selección de directorios para sync Seleccionar directorios para sync con otros dispositivos Sync carpetas compartidas entre usuarios Subida/sync desde email ACCESO A FICHEROS Navegador Web Ipad app Iphone app BB app Windows phone Android app OWNCLOUD OWNCUBE OWNCLOUD Si Si Si No Si No Si Si No Si Si No No Si No UBUNTU ONE OWNCUBE OWNCLOUD Si Si Si Si Si No Si Si Si Si Si Si No No No Si Si Si 44 CLOUD STORAGE © RA-MA COMPARTICIÓN Y COLABORACIÓN UBUNTU ONE Ficheros de gran tamaño Compartición de directorios Backup de otras carpetas del sistema PLATAFORMAS Windows Mac OSX App Abiertas para integración con terceros OWNCUBE OWNCLOUD Si Si Si Si Si Si Si Si Si UBUNTU ONE OWNCUBE OWNCLOUD Si No Si Si Si Si Si Si Si Capítulo 5 OWNCLOUD 5.1 INTRODUCCIÓN En este capítulo desarrollaremos nuestro propio espacio de almacenamiento en la nube haciendo uso de la plataforma “Owncloud”. Esta plataforma, como hemos visto en el capítulo anterior, ha sido desarrollada por una comunidad bajo licencia GPL, accesible a través de su página oficial http://www.Owncloud.org. Owncloud permite, además de implementar nuestro propio almacenamiento en la nube, administrar dicho espacio, agregando o eliminando usuarios, asignando cuotas de disco a los mismos, configurar una serie de módulos que ofrecen distintas utilidades como son la sincronización de los datos, personalización de la herramienta, visualización de documentos ODF, etc. 5.2 OWNCLOUD ALOJADO EN UN PROVEEDOR DE SERVICIOS Existen distintos proveedores de servicio de almacenamiento en la nube, que utilizan la plataforma de código libre “Owncloud”. A continuación visualizaremos como podemos hacer uso de Owncloud a través de uno de estos proveedores, como es el caso de Owncube. 46 CLOUD STORAGE 5.2.1 © RA-MA CREACIÓN DE UN CUENTA DE USUARIO DE OWNCUBE Para obtener el servicio Owncloud alojado en un proveedor de servicios compatibles, únicamente hemos de acceder a la URL de la plataforma Owncloud de código abierto http://Owncloud.org/ y seleccionar la opción “Rent from provider”: Se muestran a continuación todos los proveedores compatibles con la plataforma, en nuestro caso crearemos una cuenta en el proveedor Owncube, seleccionando la opción que ofrece un espacio de almacenamiento totalmente gratuito, a fin de observar las utilidades ofrecidas por el proveedor haciendo uso de la plataforma Owncloud. Como puede verse a continuación, y en la descripción de la propia licencia GPL, puede hacerse uso del software de código libre, y solicitar una remuneración por ello, al ofrecer un servicio mediante el uso de dicho software. En este caso Owncube oferta, según el volumen de datos requeridos para almacenar en sus unidades de disco implementadas en la nube, haciendo uso de la plataforma de almacenamiento en la nube de código libre Owncloud. © RA-MA CAPÍTULO 5. OWNCLOUD 47 Nos registramos insertando un nombre de usuario y un password, y accedemos logandonos en la página Web del proveedor de servicio para acceder al espacio de disco contratado con dicho proveedor: 48 CLOUD STORAGE © RA-MA La interfaz ofrecida desde la cual podemos gestionar la subida y descarga de información de Owncube, en este claso al implementar Owncloud es la propia de la plataforma a excepción de la denominación del servidor en la barra superior, puede verse a continuación. 5.2.2 ADMINISTRACIÓN DE LA CUENTA Al crear una cuenta para obtener almacenamiento en la nube ofrecido por el proveedor de servicios Owncube, el usuario tiene la opción de administrar unicamente la opción “personal” de la interfaz de usuario proporcionada por Owncube, ya que el administrador de la plataforma será el propio proveedor de servicios, estando por tanto las utilidades de la plataforma limitadas a las configuraciones realizadas por este. © RA-MA 5.2.3 CAPÍTULO 5. OWNCLOUD 49 UTILIZACIÓN POR PARTE DE LOS USUARIOS Owncloud, como puede verse en las imágenes, proporciona una interfaz Web intuitiva del uso del servicio de almacenamiento en la nube. Los datos que sean “subidos a la nube” se almacenaran físicamente en las unidades de disco gestionadas por el proveedor de servicio, en este caso Owncloud, y por tanto no se dispondrá de acceso físico al Hardware. Este hecho puede ser considerado un riesgo según la propia criticidad de los archivos a almacenar, y ha de tenerse en cuenta las políticas de seguridad que proporciona el proveedor de servicios en la nube, para determinar si hemos de contratar o no sus servicios. Como el objetivo del documento es utilizar un servidor propio haciendo uso de la plataforma Owncloud, no vamos a valorar el sistema de almacenamiento (capacidad, disponibilidad, sistemas de backup, etc.) ofrecido por el proveedor según el servicio contratado con el mismo, pero es algo imprescindible en caso de escoger esta opción para almacenar los datos, ya sean personales o de nuestra compañía y según la criticidad de los mismos, en la nube. Para hacer uso del servicio, hemos de logarnos en la interfaz web del proveedor de servicios https://Owncube.com/, accediendo a su interfaz. Si queremos crear un directorio, archivo de texto o enlace a una URL, hemos de pulsar el botón Nuevo, mientras que para alojar algún archivo que se encuentr almacenado en nuestro dispositivo, hemos de pulsar sobre la flecha situada a la derecha del botón nuevo. En nuestro caso vamos a generar una carpeta denominada “proyectofindemasteracsi” y agregaremos en ella la ficha del proyecto de master que estamos llevando a cabo y que se encuentra almacenado en el equipo desde el cual estamos accediendo a nuestra cuenta Owncube: 50 CLOUD STORAGE © RA-MA Owncube, al ser una instancia de Owncloud, utiliza las aplicaciones propias de dicha plataforma. Las aplicaciones instaladas por el proveedor no son modificables por el usuario, ya que este no cuenta con privilegios de administrador. Owncube instala por defecto, entre otras, el visor de documentos PDF, ATNotes, permite reproducir un archivo de audio desde el navegador Web, muestra la galería de imágenes, etc. A continuación se muestran una serie de imágenes del uso de algunas de estas utilidades incluidas en la instancia de Owncloud ofrecida por Owncube. • Reproductor de archivos de audio © RA-MA CAPÍTULO 5. OWNCLOUD • Visualización de la galería de imágenes almacenadas en la nube. • Creación de notas 51 Los usuarios cuentan además con aplicaciones móviles para acceder a los datos almacenados en la plataforma Owncloud, válida para nubes implementadas y administradas por proveedores que implemente el código libre de la plataforma, como es el caso de Owncloud. Para ello ha de instalar la correspondiente app en el terminal móvil e indicar la ruta del servidor donde se ha almacenado la información, así como, los datos de acceso. 52 CLOUD STORAGE © RA-MA En el próximo apartado instalaremos nuestra propia instancia de la plataforma Owncloud, actuando como administrador de la misma y configurando todas las características que la plataforma de almacenamiento en la nube permite. 5.3 OWNCLOUD ALOJADO EN UN SERVIDOR PROPIO Realizaremos la instalación de Owncloud en un servidor virtual, en el cual se ha instalado el sistema operativo de libre distribución basado en Unix “Ubuntu”. Pueden verse los pasos seguidos para la instalación de dicho sistema operativo en el Anexo I. Con objeto de realizar pruebas posteriores a la instalación, crearemos una sencilla arquitectura de red, con clientes tanto Unix como Windows que, a través del servidor puedan acceder a la plataforma OWNCLOUD, y por tanto, hacer uso del Cloud Storage que dicha plataforma ofrece. El esquema de red que utilizaremos constará de un router, que dotará de conexión a un servidor en el cual se instalará la plataforma OWNCLOUD y a un cliente. A su vez, el servidor actuará como router de dos clientes. © RA-MA CAPÍTULO 5. OWNCLOUD 53 El propósito de este esquema de red, es visualizar la disponibilidad de la información almacenada en la nube, es accesible desde distintos equipos, ubicados en distintas redes. En caso de indisponibilidad de una de las redes de la arquitectura o de uno de los equipos clientes, se podría seguir trabajando desde otro equipo siempre que la información este almacenada en la nube y el servidor esté disponible, para esto es aconsejable que se realicen backups de los datos almacenados en el servidor (aconsejable es utilizar deduplicación de datos, que previene la redundancia de los mismos), montar un sistema RAID que otorgue una mayor disponibilidad y seguridad de los datos o un servidor de alta disponibilidad. La instalación del host que realizará los servicios de router, en este caso utilizaremos la distribución de código libre “fedora”, es similar a la instalación del sistema operativo del servidor, “Ubuntu”. Los pasos de la instalación de la distribución utilizada para el servidor puede verse en el Anexo I. Para que dicha distribución pueda ejercer las funciones de router, necesitara la instalación de dos tarjetas de red, una desde la que tendrá acceso a Internet, y una segunda tarjeta que configuraremos para que servidor y clientes puedan comunicarse entre sí y a su vez, conectarse a Internet a través del propio servidor. Una vez instalada la distribución, y comprobado que la máquina tiene salida a Internet, hemos de agregar, como hemos apuntado anteriormente, una segunda tarjeta de red. Para ello simplemente apagamos la máquina virtual y editamos la misma agregando una nueva tarjeta de red configurada como NAT. Una vez agregada iniciamos de nuevo la máquina virtual. 54 CLOUD STORAGE © RA-MA Configuramos por tanto esta segunda tarjeta de red, a la que se conectaran servidor y clientes. Para ello lo primero que hemos de hacer es asignar una dirección IP y una submascara de red, que en nuestro caso será 10.0.0.1 y 255.255.255.0 respectivamente. Una vez asignada la dirección que actuará como puerta de enlace de servidor y clientes, configuramos IPTABLES para permitir la salida a Internet de los equipos que se conecten a través de esta tarjeta, y por lo tanto al router. Para ello ejecutamos los siguientes comandos: Para evitar escribir sudo en todas las sentencias, nos logamos como root, ejecutando el siguiente comando, e insertando posteriormente la respectiva contraseña de administrador usuario@ubuntu:~$ su Modificamos la variable ip_forward de “0” (desactivada) a 1. Esta variable configurará nuestra máquina como router. root@ubuntu:/home/usuario# echo “1” >/proc/sys/net/ipv4/ip_forward El siguiente paso será configurar nuestro firewall haciendo uso de iptables. En primer lugar limpiamos la configuración actual de dicho firewall. root@ubuntu:/home/usuario# iptables –F root@ubuntu:/home/usuario# iptables –t nat -F © RA-MA CAPÍTULO 5. OWNCLOUD 55 Indicamos que la red interna tiene salida a Internet por NAT root@ubuntu:/home/usuario# iptables –t nat –A POSTROUTING –s 10.0.0.0/24 –d 0/0 –j MASQUERADE A continuación permitimos todo el tráfico de la red interna, denegando el resto: root@ubuntu:/home/usuario# iptables –A FORWARD –s 10.0.0.0/24 –j ACCEPT root@ubuntu:/home/usuario# iptables –A FORWARD –m state --state RELATED,ESTABLISHED –j ACCEPT root@ubuntu:/home/usuario# iptables –A FORWARD DROP Una vez configurado el tráfico, salvamos los cambios. En nuestro caso, al utilizar la distribución fedora, para guardar los cambios hemos de ejecutar la siguiente sentencia: root@ubuntu:/home/usuario# iptables-save >/etc/syconfig/iptables Y modificamos la variable net.ipv4.ip_forward, estableciéndola a 1, en el fichero /etc/sysctl.conf, para que nuestra máquina continúe actuando como router en caso de reinicio. 56 CLOUD STORAGE © RA-MA Una vez configurado el router, hemos de configurar el servidor, que cuenta con la instalación de una distribución Ubuntu, y que según el anterior esquema de red, realizará funciones de enrutador. Al tratarse de una distribución basada en debian, como es el caso de Ubuntu, y para no tener que configurar el firewall cada vez que iniciemos la máquina, generaremos un Script con la configuración de firewall y lo añadiremos para que se ejecute al iniciarse el sistema operativo. Aunque antes de generar dicho script hemos de modificar, al igual que en el caso anterior el archivo net.ipv4_foward ubicada en el directorio /etc/sysctl.conf. Nota Se ha de tener en cuenta que dicho archivo no viene habilitado por defecto, por lo que hemos de habilitarlo, además de realizar el mismo cambio que en el caso anterior. También existe la posibilidad de simplemente añadir la siguiente sentencia al script, sin necesidad de modificar manualmente en el fichero la variable net.ipv4_forward: Echo “1” >/proc/sys/net/ipv4/ip_forward © RA-MA CAPÍTULO 5. OWNCLOUD 57 Una vez que hemos declarado nuestro servidor como enrutador, accedemos a la carpeta de usuario y creamos un directorio en el cual generaremos nuestro script: root@ubuntu:/home/usuario# mkdir script root@ubuntu:/home/usuario/script# vi iptables.sh Editamos el fichero con las siguientes sentencias y lo guardamos: #!/bin/sh iptables –F iptables –t nat –F iptables –t nat –A POSTROUTING –s 10.0.10.0/24 –d 0/0 –j MASQUERADE iptables –A FORWARD –s 10.0.10.0/24 –j ACCEPT iptables –A FORWARD –m state –state RELATED,ESTABLISHED –j ACCEPT iptables –A FORWARD DROP Asignamos permisos de ejecución para el archivo recientemente creado: root@ubuntu:/home/usuario/script# chmod +x iptables.sh Copiamos el archivo en el directorio /etc/init.d para que sea ejecutado cada vez que se inicie el sistema operativo: root@ubuntu:/home/usuario/script# cp iptables.sh /etc/init.d Para que se ejecute el script sin necesidad de reiniciar la máquina, ejecutamos la siguiente sentencia: root@ubuntu:/home/usuario# update-rc.d iptables.sh defaults Una vez configurados tanto router, como los servicios de router del propio servidor, hemos de configurar la conexión de red de las distintas máquinas cliente. Para ello simplemente asignamos manualment una dirección IP correspondiente al router (includio el servidor ya que también actua como router) al que han de conectarse. En este caso serán direcciones de la forma 10.0.0.X para los clientes que se conecten directamente al router, y direcciones de la forma 10.0.10.X para los clientes que se conecten al servidor en el cual instalaremos la plataforma Owncloud. 58 CLOUD STORAGE 5.3.1 © RA-MA INSTALACIÓN Y CONFIGURACIÓN (ADMIN) 5.3.1.1 Instalación Para poder utilizar la plataforma Owncloud, es necesaria la instalación previa de una serie de componentes en la distribución escogida para el servidor, en nuestro caso Ubuntu. Estos componentes software corresponden a un servidor Web (apache), un sistema de Gestión de Base de Datos (MySQL) y una serie de paquetes que permitan la transferencia de archivos. Para ello se han de ejecutar las siguientes sentencias en un terminal con permisos de administrador, o haciendo uso del comando “sudo” previamente al resto del comando e introducir la contraseña que acredita a su usuario como administrador del sistema. usuario@ubuntu:~$ sudo apt-get install apache2 usuario@ubuntu:~$ sudo apt-get install libapache2-mod-php5 usuario@ubuntu:~$ sudo apt-get install php5 php5-common php5-gd curl libcur3 libcurl4-openssl-dev php5-curl mysql-server php5-mysql php5-sqlite Nota Los comandos anteriores varían según la distribución utilizada para el servidor. © RA-MA CAPÍTULO 5. OWNCLOUD 59 Nota Aunque Ubuntu omite el usuario administrador por motivos de seguridad, podemos activarlo asignándole a este una password válida. Para ello hemos de ejecutar en consola el siguiente comando: usuario@ubuntu:~$ sudo passwd root Una vez generada esta contraseña podemos acceder con el usuario administrador al ejecutar desde consola el comando. usuario@ubuntu:~$ Su Nota Durante la instalación del Sistema de Gestión de Base de Datos MySQL, se le solicitara al usuario la inclusión de un password, que se ha de introducir una vez terminada la instalación para crear la cuenta de “OWNCLOUD” junto con el nombre de usuario por defecto, siempre que no se haya realizado ningún tipo de modificación, de la cuenta que acabamos de generar de MySQL, root. 60 CLOUD STORAGE © RA-MA Descargamos la última versión estable de la plataforma Owncloud, para ello accedemos a la página oficial de dicha plataforma: http://www.owncloud.org/support/install Descomprimimos el fichero y posteriormente copiamos el directorio recientemente descomprimido en el directorio de apache /var/www. Para ello hacemos uso de los siguientes comandos: usuario@ubuntu:~$ tar –xjf /home/usuario/Download/owncload-latest.tar.bz2 usuario@ubuntu:~$ sudo cp –r /Owncloud /var/www © RA-MA CAPÍTULO 5. OWNCLOUD 61 Asignamos al usuario administrador de apache privilegios sobre el directorio recientemente copiado, para la distribución Ubuntu dicho usuario es www-data, para ello nos situamos en el directorio correspondiente, y ejecutamos el siguiente comando: usuario@ubuntu:~$ cd /var/www usuario@ubuntu:~$ sudo chown –R www-data:www-data Owncloud Nota El usuario por defecto de apache difiere según la distribución utilizada, siendo “www-data” para ubuntu, debian, etc. y “apache” para distribuciones como fedora, red hat, etc. El siguiente paso es permitir todas las directivas en los ficheros .htacces, para ello hemos de modificar el fichero “default”, ubicado en el path: /etc/apache2/sites-availables, utilizando un editor de texto. En nuestro caso hemos escogido el editor vi debido a que se encuentra instalado en todas las distribuciones basadas en Unix. Añadiremos además como anexo la relación de comandos básicos necesarios para la utilización de este editor. Ejecutamos el siguiente comando, una vez situados en el path correspondiente, para abrir el fichero con vi, y realizar las modificaciones pertinentes: usuario@ubuntu:~$ cd /etc/apache2/sites-available usuario@ubuntu:~$ sudo vi default Una vez que hemos accedido al fichero, hemos de localizar la siguiente línea en el mismo AllowOverride None Y modificarla por la sentencia que puede verse a continuación, que permitirá situar todas las directivas en los ficheros .htacces: AllowOverride All 62 CLOUD STORAGE © RA-MA Cargamos los módulos de lectura y escritura, para ello ejecutamos los siguientes comandos: usuario@ubuntu:~$ sudo a2enmod rewrite usuario@ubuntu:~$ sudo a2enmod headers Para permitir el acceso utilizando SSL, es decir un protocolo seguro de conexión (permitirá conexiones del tipo https://...), ejecutamos los siguientes comandos antes de reiniciar el servicio Web apache en nuestro servidor. usuario@ubuntu:~$ sudo a2enmod ssl usuario@ubuntu:~$ sudo a2ensite default-ssl Ahora sí, reiniciamos nuestro servidor Web para que todos los cambios aplicados surjan efecto. Para reiniciar nuestro servidor, hemos de ejecutar el comando que puede verse a continuación. usuario@ubuntu:~$ sudo service apache2 restart Una vez reiniciado nuestro servicio Web, damos por finalizada la configuración de la plataforma Owncloud, así como, todos los paquetes necesarios para su correcto funcionamiento. Comprobamos por tanto, que dicha plataforma es accesible desde el propio servidor en el cual se ha instalado a través de un navegador Web. Para ello insertamos la siguiente URL en la barra de direcciones del navegador Web, y se ha de visualizar la pantalla de login de la plataforma Owncloud. http://localhost/Owncloud © RA-MA CAPÍTULO 5. OWNCLOUD 63 Una vez accesible la plataforma Owncloud, hemos de crearnos una cuenta para acceder a la misma, y como apuntamos anteriormente, se han de insertar el usuario y la contraseña correspondiente a la cuenta del Sistema de Gestión de Base de Datos MySQL que creamos durante la instalación, así como el nombre de la tabla de la Base de datos donde se almacenaran los mismos. 64 CLOUD STORAGE © RA-MA Una vez completados los datos de acceso, pulsamos Finish Setup para dar por finalizada la instalación, y acceder a la plataforma Owncloud. 5.3.1.2 Configuración La interfaz de Owncloud, para el usuario administrador de la aplicación, muestra en la esquina inferior izquierda un icono que se corresponde con la configuración de la instancia, pulsar dicho icono provoca el despliegue del menú de configuración. El menú de configuración de Owncloud ofrece las siguientes opciones de administración: © RA-MA • CAPÍTULO 5. OWNCLOUD 65 Personal Desde esta pantalla se gestionan todos los datos personales del usuario, en este caso el administrador. Esta pantalla es mostrada también en las opciones de configuración de los usuarios sin privilegios de administrador. Entre las funciones que pueden realizarse en esta pantalla destacan el cambio de contraseña del usuario, selección de idioma, zona horaria, importar e importar usuario. Además presenta la URL a la cual se ha de apuntar para conectar Owncloud a un gestor de archivos (WebDAV) y direcciones para sincronizar el calendario con otros equipos o dispositivos. • Usuarios Desde esta pantalla, el administrador de la instancia Owncloud puede crear nuevo usuarios y grupos, así como asignarles una cuota de disco específica. 66 CLOUD STORAGE • © RA-MA Aplicaciones La pantalla de aplicaciones muestra el listado de las mismas con las que cuenta la instancia en la actual versión. Las aplicaciones se activan o desactivan seleccionándolas en el listado mostrado y pulsando el correspondiente botón para su activación o desactivación. En la siguiente imagen se aprecia cómo se ha habilitado la aplicación ATNotes. © RA-MA CAPÍTULO 5. OWNCLOUD 67 La propia interfaz que proporciona la aplicación recientemente instalada “ATNotes”, puede verse a continuación, así como, puede apreciarse la inserción de un vinculo en el menu de la instancia para que esta sea accesible. Además en la parte superior de la interfaz de la aplicación puede apreciarse la opción de añadir aplicaciones. Esta opción está destinada a desarrollos a medida para el servidor Owncloud, para ello al pulsar en dicho botón, el navegador te mostrará la página en la cual se especifica cómo se ha de cargar una aplicación para la instancia Owncloud. Puede además, acceder a aplicaciones desarrolladas y publicadas por otros usuarios. Su instalación consiste en descargar dicha apps desde el servidor en el que se encuentra Owncloud (o subirlo al propio Owncloud para acceder desde el servidor), descomprimir el fichero y copiarlo en el directorio /var/www/Owncloud/apps. 68 CLOUD STORAGE • © RA-MA Administrador Owncloud cuenta con una pantalla de administración, en la cual se pueden establecer: - Tamaño máximo de subida Habilitar la descarga en .zip, y especificar el tamaño máximo de los mismos Permitir re-sharing (volver a compartir) Activar compartición con todo el mundo Exportar la instancia Owncloud Activar versionado de ficheros Activar encriptación (seleccionando formato de ficheros excluidos de dicha encriptación) Nivel de Registro (LOG) © RA-MA • CAPÍTULO 5. OWNCLOUD 69 Ayuda Como última opción de este menú, se muestra una sección de ayuda. Esta opción se encuentra disponible también para los usuarios que no cuentan con los privilegios de administrador. 70 CLOUD STORAGE 5.3.2 © RA-MA UTILIZACIÓN POR PARTE DE LOS USUARIOS Para la utilización de la instancia de Owncloud que hemos instalado en el servidor, los usuarios han de poseer una cuenta, es decir, el administrador de la instancia ha de dotarles de “user and password”. Una vez logado, el usuario dispondrá de todas las aplicaciones que han sido instaladas por el administrador. Además, tendrá la posibilidad de configurar los datos personales de su cuenta, para ello ha de pulsar sobre el icono de configuración y posteriormente seleccionar la opción personal. © RA-MA CAPÍTULO 5. OWNCLOUD 71 Un usuario puede entonces realizar distintas acciones, siempre limitado a la configuración del administrador de la instancia, como son subidas, agregar notas, gestionar su calendario, acceder a su cuenta desde una aplicación cliente, etc. En el próximo apartado realizaremos algunas de estas opciones permitidas desde la cuenta de usuario. 5.3.3 PRUEBAS Anteriormente, hemos visto cómo se alojaban directorios y archivos en Owncloud, cuando hacíamos uso de las unidades de disco proporcionadas por el proveedor de servicio Owncube. Por tanto no mostraremos de nuevo como se crean y alojan nuevos directorios y archivos para evitar la redundancia. Aunque si veremos en esta sección algunas de las características configuradas en nuestra plataforma. • Visualización de una imagen alojada en nuestro espacio de almacenamiento, en este caso nuestro propio servidor. 72 CLOUD STORAGE • Galería de imágenes de Owncloud. • Agregar contactos. © RA-MA © RA-MA CAPÍTULO 5. OWNCLOUD 73 • Reproducir los archivos de audio alojados en la nube. • Calendario en el cual se sincronizan datos, como puede ser el cumpleaños de nuestros contactos. 74 CLOUD STORAGE • Creación de notas. • Visualización de archivos PDF. © RA-MA © RA-MA CAPÍTULO 5. OWNCLOUD 75 A continuación vamos a probar como se accede a nuestro espacio en la nube a partir de una aplicación cliente, para ello en primer lugar, descargamos el cliente desde la página oficial de la plataforma Owncloud, http://www.owncloud.com, y lo instalamos en nuestro equipo: Ejecutamos el ejecutable descargado y seguimos los pasos de instalación. 76 CLOUD STORAGE © RA-MA Introducimos los datos de nuestro servidor, así como nuestras credenciales de usuario para conectar el cliente con la plataforma Owncloud instalada en nuestro servidor. Nos muestra la advertencia de que hemos incluido el protocolo "https" al introducir el path de nuestro servidor. Como hemos instalado este servicio cuando configuramos nuestro servidor, podemos utilizar este protocolo seguro para la conexión. © RA-MA CAPÍTULO 5. OWNCLOUD 77 El cliente nos muestra los resultados de la conexión, en este caso correctos. Se sincroniza el directorio creado automáticamente con nuestro servidor, además podemos sincronizar nuevos directorios en nuestra nube pulsando el botón “Add sync”. Insertamos en el directorio creado automáticamente" clientesync" archivos para ver que estos se envían automáticamente al directorio creado. 78 CLOUD STORAGE © RA-MA Accedemos desde otra ubicación, y observamos la creación de la carpeta sincronizada en el cliente Windows Xp, así como el resto de directorios y archivos creados anteriormente. Otro tipo de cliente disponible para Owncloud, es un cliente para dispositivos móviles, en este caso veremos la interfaz de entrada de una aplicación para el sistema operativo “android” que puede encontrarse en Play Store. Tanto la aplicación como su uso son exactamente igual que en el caso visto anteriormente correspondiente a Owncloud haciendo uso del proveedor de servicio Owncube, con la salvedad de la ruta del servidor, en este caso https://10.0.0.19. © RA-MA CAPÍTULO 5. OWNCLOUD 79 Como última prueba, visualizaremos como se almacenan los archivos y directorios en nuestro servidor. Capítulo 6 CONCLUSIONES Y TRABAJO FUTURO Los sistemas en la nube, permiten obtener rápidamente capacidad de disco, acceso y disponibilidad para los usuarios y entes empresariales, evitando la realización de inversiones de riesgo en la adquisición de nuevos equipos, evitando precisar la capacidad de disco necesaria actualmente, así como la previsión de crecimiento a futuro de los niveles de datos. Además el uso de esta tecnología ofrece una garantía de Backup de los datos en caso de indisponibilidad del equipo de trabajo. El proveedor ha de garantizar los Backup y la disponibilidad de sus servidores. La computación en la nube, y por tanto también los sistemas de almacenamiento en la nube, puede verse de manera negativa por los usuarios debido al hecho de que los datos, aplicaciones, procesos de negocio, etc. están ubicados fuera de la propia corporación. Este hecho hace necesario la realización de un estudio exhaustivo de la compañía en la que va a depositar sus datos, así como las medidas de backup, privacidad de los datos, y políticas de seguridad que han de respetar las leyes de protección de datos vigentes (LOPD). Para aquellos casos en los cuales exista una determinada información extremadamente critica, y cuyo poseedor estime que no debe depositarla en un proveedor externo a esta, existe la posibilidad de establecer servicios cloud híbridos, centralizando en la propia empresa aquellos datos e informaciones que así sean considerados e invirtiendo únicamente en la adquisición de equipos e infraestructuras para dichos datos, realizando un estudio del crecimiento de los mismos para realizar dicha inversión. A esta inversión hay que sumarle el mantenimiento y el gasto energético de los equipos Hardware. El resto de datos, menos sensibles pueden almacenarse utilizando un proveedor de servicios que otorgue escalabilidad de la información y flexibilidad a la empresa, pagando sólo por el uso de los recursos necesarios. Capítulo 7 ANEXOS 7.1 ANEXO I. INSTALACIÓN DE LA DISTRIBUCIÓN UBUNTU PARA EL SERVIDOR A continuación se mostraran los pasos que han de seguirse para la instalación de la distribución Ubuntu correspondiente al servidor, donde se instalaran posteriormente el servidor Web Apache, el sistema de Gestión de Base de Datos MySQL, paquetes que permitan la transferencia de archivos y la plataforma OWNCLOUD. En primer lugar descargamos desde la página oficial de Ubuntu la última distribución estable y la almacenamos en el disco duro de la máquina anfitrión. Una vez que disponemos de la distribución que vamos a instalar en nuestro servidor, ejecutamos VMWare y escogemos la opción de crear una nueva máquina virtual. Posteriormente seleccionamos la opción “Custom”. 84 CLOUD STORAGE © RA-MA Dejamos la compatibilidad de la herramienta VMWare que viene seleccionada por defecto, es decir, la última versión del Software instalado en el equipo. El siguiente paso es escoger donde se encuentra la imagen de la instalación de la distribución que estamos instalando, en este caso Ubuntu. Para ello escogeremos instalar desde disco, si la imagen se ha quemado en un CD/DVD y este se encuentra insertado en el lector de nuestra computadora, o seleccionaremos file e insertaremos la ruta completa en la cual se encuentra nuestra imagen de instalación. Una vez indicada la ubicación de la distribución o sistema operativo a instalar, pulsamos siguiente. © RA-MA CAPÍTULO 7. ANEXOS 85 Establecemos el nombre de usuario así como la contraseña del usuario con permisos de administrador. En este caso, al tratarse de la instalación de la distribución Ubuntu, la cuenta de root se enconstrará deshabilitada por defecto, por lo que para instalar software, hemos de insertar la contraseña insertada para nuestro usuario con privilegios de administrador (por defecto el usuario no cuenta con ello, tendra que pedir anteponiendo a sus sentencias el comando “sudo” y posteriormente insertando dicha contraseña). 86 CLOUD STORAGE © RA-MA Asignamos una denominación para la máquina virtual que estamos creando. Escogemos el número de procesadores y los núcleos de dichos procesadores. © RA-MA CAPÍTULO 7. ANEXOS 87 Seleccionamos la memoria RAM de la máquina virtual, en este caso dotaremos nuestra máquina con la memoria RAM indicada por la herramienta VMWare como recomendada. Configuramos el tipo de red, para este apartado seleccionaremos Network Address Translation (NAT) Para los siguientes criterios de configuración, seleccionaremos las opciones que vienen dadas por defecto por VMWare. 88 CLOUD STORAGE © RA-MA © RA-MA CAPÍTULO 7. ANEXOS Seleccionamos la capacidad del disco duro virtual del servidor. 89 90 CLOUD STORAGE © RA-MA Asignamos el nombre de nuestro fichero creado para el inicio de nuestra máquina virtual. A continuación se mostrará una pantalla resumen de la configuración escogida para la instalación de la máquina virtual. © RA-MA CAPÍTULO 7. ANEXOS 91 Pulsamos “Finish” y se ejecutará automáticamente, si tenemos marcado el check que puede apreciarse en la imagen anterior, la instalación de la distribución. A continuación hemos de seguir los pasos de instalacion de la propia distribución, en este caso, Ubuntu 12.04 LTS. 92 CLOUD STORAGE 7.2 © RA-MA ANEXO II. COMANDOS BÁSICOS EDITOR VI A continuación presentaremos los comandos básicos para la utilización del editor de texto vi. El conocimiento de estos comandos es de gran utilidad, debido a que el editor vi se encuentra instalado por defecto en todas las distribuciones basadas en Unix. Tabla 7-1. Comandos básicos del editor vi Nombre URL Esc Regresa al modo de comando u Deshace el último comando . Repite el último :w Guarda los cambios realizados :w newfile Guarda el texto en el archivo “newfile” :x,yw newfile Guarda líneas desde “x” hasta “y” en “newfile” :q! Salir sin guardar los cambios :wq Guarda los cambios realizados y sale del editor de texto N Mueve a línea N N+ Baja N líneas NSube N líneas ^D Baja una pantalla ^U Sube una pantalla k Sube una línea j Baja una línea ^ Inicio $ Final del archivo Nw N Palabras hacía delante Nb Regresa N palabras w Una palabra hacia delante b Regresa una palabra e Fin de palabra h Regresa al espacio anterior l Avanza un espacio Flechas Espacio a la derecha, izquierda, arriba o abajo una línea BIBLIOGRAFÍA A continuación es listada la documentación y páginas Web que han servido de referencia bibliográfica complementaria durante el desarrollo del proyecto. 1. Julio Gómez. Administración de Sistemas Operativos GNU/Linux, editorial: StarBook, ISBN: 97884-92650-46-0. 2. Julio Gómez, Francisco Gil, Eugenio Sánchez, Francisco Méndez. Administración avanzada de Sistemas Operativos, editorial: Ra-Ma, ISBN: 978-84-9964-007-5. 3. Jon Tate, Fabiano Lucchese, Richard Moore. Introduction to Storage Area Networks. IBM RedBooks. July 2006 4. Roland Tretou, Ingo Fuchs, Julian García Bayo, Glenn Korn, Rok Rebolj, Volker Seidel. The IBM TotalStorage NAS Integration Guide. IBM RedBooks. March 2003. 5. Sun Microsystems. Introduction to Cloud Computing Architecture. White Paper 1st Edition. June 2009. 6. Sun Microsystem. Optimizing applications for cloud computing enviroments. White Paper. November 2009 7. Eucalyptus, http://www.eucalyptus.com/ (último acceso: Septiembre de 2012). 8. Owncloud, http://www.owncloud.org/ (último acceso: Septiembre de 2012). 9. Owncloud, http://www.owncloud.com/ (último acceso: Septiembre de 2012). 10. Dropbox, http://www.dropbox.com/ (último acceso: Septiembre de 2012). 11. Syncany, www.syncany.org (último acceso: Septiembre de 2012). 12. Ubuntu One, https://one.ubuntu.com (último acceso: Septiembre de 2012). 13. SugarSync, http://www.sugarsync.com (último acceso: Septiembre de 2012). 14. Owncube, https://www. owncube.com (último acceso: Septiembre de 2012). 15. SkyDrive, https://skydrive.live.com/ (último acceso: Septiembre de 2012). 16. Google Drive, https://drive.google.com/ (último acceso: Septiembre de 2012). 17. OpenStack, http://www.openstack.org/ (último acceso: Septiembre de 2012). 18. Ana Cristina Guerrero Alemán, Elisa Karina Mena Maldonado. Implementación de un Prototipo de Cloud Computing de Modelo Privado para ofrecer Infraestructura como Servicio. Escuela Politécnica Nacional Quito. February 2011. Máster en Administración, Comunicaciones y Seguridad Informática http://masteracsi.ual.es