OpenStack

Trabajo con Objetos

Alberto Molina Coballes / @alberto_molina y José Domingo Muñoz Rodríguez / @Pledin_JD

Theme by reveal.js

  1. Conceptos previos
  2. Contenedores y objetos. Utilización desde Horizon
  3. Manejo de objetos desde swift cli
  4. Acceso anónimo a objetos

Conceptos previos

OpenStack Swift

  • Swift es un almacén de objetos distribuido y altamente escalable. Se utiliza para almacenar grandes cantidades de datos de forma segura y económica.
  • La diferencia fundamental entre el almacenamiento de objetos y un sistema de ficheros tradicional es que los objetos no pueden anidarse y no se puede asignar a cada objeto permisos y propietarios de forma individual.
  • El almacenamiento de objetos es ideal para almacenar grandes ficheros multimedia o archivos grandes como copias de seguridad.
  • La comunicación con OpenStack Swift se hace mediante una sencilla API RESTful. Es posible utilizar una API compatible con Amazon S3 si se desea.

Terminología

  • Contenedor: Equivalente a un directorio en un sistema de ficheros, sirve para organizar objetos, pero tiene una diferencia fundamental con el directorio: No se pueden anidar contenedores
  • Objeto: Elemento que se almacena, suele estar relacionado con un fichero o archivo, pero además incluye una serie de metadatos.
  • ACL: Utilizada para gestionar los permisos que otros usuarios pueden tener sobre cada contenedor, no sobre cada objeto. De momento, las ACLs sólo pueden definirse desde la línea de comandos.

Objetos con Horizon

  • Crear varios contenedores desde Horizon
  • Subir y bajar objetos desde Horizon

Objetos con Swift CLI

  • Utilizar swift desde la línea de comandos: list, stat, download, upload
  • Permitir acceso anónimo a un contenedor

Objetos


#Listar contenedores
$ swift list
#Listar objetos dentro de un contenedor
$ swift list CONTENEDOR
# Subir un objeto
$ swift upload CONTENEDOR NOMBRE_FICHERO
# Bajar un objeto
$ swift download CONTENEDOR NOMBRE_OBJETO
# Actualizar metadatos de contenedor u objetos
$ swift post ARGUMENTOS