Transcript
Page 1: GlusterFS As an Object Storage

keith @ nttpc.co.jp �

Page 2: GlusterFS As an Object Storage

GlusterFS’s Three Es�

!  Elastic

!  Endurable

!  Easy-to-build/use/customize

Page 3: GlusterFS As an Object Storage

Three types of storage basis�

Page 4: GlusterFS As an Object Storage

GlusterFS as File based storage�

!  NFS version 3

! Gluster Native (FUSE)

!  CIFS (with Samba)

Page 5: GlusterFS As an Object Storage

GlusterFS as Block based storage�

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

Page 6: GlusterFS As an Object Storage

GlusterFS as Object storage�

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

Page 7: GlusterFS As an Object Storage

Why Object Storage?�

<- Petabytes of Unstructured data�

Massive archives <- that are active�

Page 8: GlusterFS As an Object Storage

Why Object Storage?�

Page 9: GlusterFS As an Object Storage

Installation�

Page 10: GlusterFS As an Object Storage

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

Page 11: GlusterFS As an Object Storage

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�

Page 12: GlusterFS As an Object Storage

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�

Page 13: GlusterFS As an Object Storage

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/ �

Page 14: GlusterFS As an Object Storage

GlusterFS services�

The finished construction�

http client�

Swift�

memcached �

GlusterFS�

proxy�

container�

account�

object�

Page 15: GlusterFS As an Object Storage

What you can do�

Page 16: GlusterFS As an Object Storage

What you can do�

!  Authentication

!  Account level operations

!  Container level operations

!  Object level operations�

Page 17: GlusterFS As an Object Storage

Authentication�

!  Authentication and Returning !  Auth-token

!  Storage-Url�

Page 18: GlusterFS As an Object Storage

Account level operations�

!  Displaying Container Information

!  Displaying Account Metadata�

Page 19: GlusterFS As an Object Storage

Container level operations�

!  Creating Container

!  Displaying Objects of a Container

!  Displaying Container Metadata Information

!  Deleting Container

!  Updating Container Metadata

!  Setting ACLs on Container�

Page 20: GlusterFS As an Object Storage

Object level operations�

!  Creating or Updating Object

!  Copying Object

!  Displaying Object Information

!  Displaying Object Metadata

!  Updating Object Metadata

!  Deleting Object�

Page 21: GlusterFS As an Object Storage

DEMO �

Page 22: GlusterFS As an Object Storage

Thanks! �


Recommended