GlusterFS As an Object Storage

Preview:

DESCRIPTION

A presentation for Lightning Talk Nite on Nov. 2nd 2011 in NTTPC Communications. The demo was that I wrote a demo client in Ruby on site in real time.

Citation preview

keith @ nttpc.co.jp �

GlusterFS’s Three Es�

!  Elastic

!  Endurable

!  Easy-to-build/use/customize

Three types of storage basis�

GlusterFS as File based storage�

!  NFS version 3

! Gluster Native (FUSE)

!  CIFS (with Samba)

GlusterFS as Block based storage�

! iSCSI (with iSCSI Enterprise Target) !  … unofficial way to use.�

GlusterFS as Object storage�

! RESTful interface !  c.f. NTTPC WebAPI “T4” since 2008�

Why Object Storage?�

<- Petabytes of Unstructured data�

Massive archives <- that are active�

Why Object Storage?�

Installation�

Installation on CentOS 5�

#  tar xzf gluster-glusterfs-v3.3.0qa14-0-g4235f7a.tar.gz

# mv gluster-glusterfs-14eb7f1 glusterfs-3git #  cd glusterfs-3git

#  ./configure

#  cd .. #  tar czf glusterfs-3git.tar.gz glusterfs-3git

#  rpmbuild -ta glusterfs-3git.tar.gz

Installation on CentOS 5�

#  rpm -Uvh /usr/src/redhat/RPMS/x86_64/glusterfs-*

# modprobe fuse #  tar xzf gluster-object-storage-3.3beta2.tar.gz

#  cd UFO

#  ./centos_install.sh�

Installation on CentOS 5�

#  Enter external IP for Storage-Server: 10.1.0.0 #  Enter Super Admin key:********

#  Enter FileSystem (Press Enter for default Glusterfs):

#  Enter Object server port (Press Enter for default 6010):

#  Enter Container server port (Press Enter for default 6011):

#  Enter Account server port (Press Enter for default 6012): #  Enter '1' for https '2' for 'http' (Recommended is https):1

#  Do you want to generate certificate/key for https(y/n): y�

Preparation of GlusterFS�

#  for i in `seq 1 4`; do gluster peer probe svr$i; done

#  gluster volume create auth svr1:/tmp/auth …

#  gluster volume start auth

#  gluster volume create data svr1:/tmp/data …

#  gluster volume start data

#  gluster-object-prep -K super_admin_key -A https://10.1.0.0:443/auth/

#  gluster-object-add-user -a -K super_admin_key -A https://10.1.0.0:443/auth/ data datauser datauser_password

#  gluster-object-list -K super_admin_key -A https://10.1.0.0:443/auth/ �

GlusterFS services�

The finished construction�

http client�

Swift�

memcached �

GlusterFS�

proxy�

container�

account�

object�

What you can do�

What you can do�

!  Authentication

!  Account level operations

!  Container level operations

!  Object level operations�

Authentication�

!  Authentication and Returning !  Auth-token

!  Storage-Url�

Account level operations�

!  Displaying Container Information

!  Displaying Account Metadata�

Container level operations�

!  Creating Container

!  Displaying Objects of a Container

!  Displaying Container Metadata Information

!  Deleting Container

!  Updating Container Metadata

!  Setting ACLs on Container�

Object level operations�

!  Creating or Updating Object

!  Copying Object

!  Displaying Object Information

!  Displaying Object Metadata

!  Updating Object Metadata

!  Deleting Object�

DEMO �

Thanks! �

Recommended