Deploying OpenStack Object StorageJuan J. Martínez <email@example.com> 10-11 September 2011http://www.usebox.net/jjm/ University Club, Oxford
What is OpenStack?Open Source software for “building clouds” ● OpenStack Object Storage (Swift) Storage ● OpenStack Compute (Nova) ● OpenStack Image Service (Glance) IaaS ● Incubating projects: Keystone, Dashboard, Crowbar, ... Image Service PaaS?
What is Swift?Open Source software for creating redundant,scalable object storage using clusters ofstandardized servers to store petabytes ofaccessible data. Object Storage Real File System ● Not a real file system ● open, read, write, seek, close ● RESTful HTTP API ● chdir, mkdir, rmdir ● Blob and metadata (name, content ● remove, rename type, date-time, size, MD5) ● chmod, chown, access ● Support for pseudo-hierarchical ● etc directories
Swift Architecture 3 Different Listing entities: Zone 3 Replicas In DIFFERENT Zones Accounts Containers Objects Partitions Zone ListingThe Ring: location of an entity in the cluster Zone● Three rings (were intended for the Elves)● Weights can be used to balance the distribution● Three different logical levels Drives
Swift Interfaces Client OpenStack API HTTP (Rackspace Cloud Files) FTP/SFTP CDN FTP/SFTP Public Auth Proxy Server Private Auth Other clients: Storage Node Storage Node S3 Proxy Storage Node Storage Nodehttps://github.com/chmouel/ftp-cloudfshttps://github.com/Memset/sftpcloudfs DMZ
Swift Operations● Managing the rings (adding/removing devices, zones, search fordevices, rebalance the ring)● Upgrading services (one zone at a time)● Handling driver failure (unmount; optionally remove it from the ring,mount a new EMPTY drive)● Zone failure (temporal: nothing!)● Detecting failing disks (device audit)● Object auditor (manually after a system crash) What could possibly go wrong?
Any questions? Thanks for your attention! http://openstack.org/Juan J. Martínez <firstname.lastname@example.org> 10-11 September 2011http://www.usebox.net/jjm/ University Club, Oxford