cloud storage

Anuncio
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
Descargar