Your SlideShare is downloading. ×
0
OPENSTACK
STORAGE ARCHITECTURE

Dan Radez
Sr. Software Engineer, Red Hat
dradez@redhat.com
irc: radez
Red Hat's Community OpenStack

openstack.redhat.com
Storage Components
●

Database

●

Glance

●

Nova

●

Cinder

●

Swift
Component Architecture
Database :: MySQL / MariaDB
Store Options
●

Local Storage (no HA)

●

Shared Storage

●

Replicated Storage
Database :: MySQL / MariaDB
Local Storage

DB Node
Database :: MySQL / MariaDB
Shared Storage

Pacemaker
Active / Passive Failover

FIP: 10.10.10.123

DB Node*

DB Node

Sto...
Database :: MySQL / MariaDB
Shared Storage

Pacemaker
Active / Passive Failover

X

FIP: 10.10.10.123

DB Node

DB Node*

...
Database :: MySQL / MariaDB
Replicated Storage
Pacemaker
Active / Passive Failover
FIP: 10.10.10.123

DB Node*

DB Node*

...
Database :: MySQL / MariaDB
Replicated Storage
Pacemaker
Active / Passive Failover

X

DB Node

FIP: 10.10.10.123

DB Node...
Database :: MySQL / MariaDB

Pacemaker Disclaimer

3 node minimum
for quorum
Glance: Image Management
Glance: Image Management
Store Backends
●

Local (mounted)

●

Swift

●

Cinder

●

more...

/usr/lib/python2.7/site-packa...
Glance: Image Management
Use GlusterFS to back Glance
# yum install -y glusterfs-fuse

# mkdir /srv/openstack
# vim /etc/f...
Glance: Image Management
Configure OpenStack
# vim /etc/glance/glance-api.conf
filesystem_store_datadir=/srv/openstack/gla...
Nova: Instance Management
Nova: Instance Management
Use GlusterFS to back Nova
# yum install -y glusterfs-fuse

# mkdir /srv/openstack
# vim /etc/fs...
Cinder: Block Storage
Cinder: Block Storage
Drivers
●

LVM

●

NFS

●

GlusterFS

●

more...

/usr/lib/python2.7/site-packages/cinder/volume/dri...
Cinder: Block Storage

Example: Multiple Storage Types
Dependencies
# yum install -y glusterfs-fuse

Configuration
# vim /...
Cinder: Block Storage
Configuration
#vim /etc/cinder/cinder.conf
enabled_backends=my_lvm,my_glusterfs
[my_lvm]
volume_grou...
Cinder: Block Storage
Restart cinder & verify
# service openstack-cinder-scheduler restart
# service openstack-cinder-volu...
Cinder: Block Storage
Create cinder volume types
# cinder type-create lvm
# cinder type-key lvm set volume_backend_name=LV...
Cinder: Block Storage
Compute configuration (experimental)
# vim /etc/nova/nova.conf
debug=False
qemu_allowed_storage_driv...
Swift: Object Storage
Swift: Object Storage
Storage Backends
●

Swift Storage

●

GlusterFS

●

more...
Review
Resources
●

●

RDO: openstack.redhat.com
https://access.redhat.com/knowledge/docs/enUS/Red_Hat_OpenStack

●

OpenStack.or...
Upcoming SlideShare
Loading in...5
×

OpenStack Tokyo Meeup - Gluster Storage Day

612

Published on

November 2012 Tokyo OpenStack meetup was dedicated to using Gluster storage. This presentation showed the fuse mount method to integrating gluster into OpenStack. There are new drivers that have been developed that make mounting gluster volumes to instances more efficient. This presentation doesn't show how to use them.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
612
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
57
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "OpenStack Tokyo Meeup - Gluster Storage Day"

  1. 1. OPENSTACK STORAGE ARCHITECTURE Dan Radez Sr. Software Engineer, Red Hat dradez@redhat.com irc: radez
  2. 2. Red Hat's Community OpenStack openstack.redhat.com
  3. 3. Storage Components ● Database ● Glance ● Nova ● Cinder ● Swift
  4. 4. Component Architecture
  5. 5. Database :: MySQL / MariaDB Store Options ● Local Storage (no HA) ● Shared Storage ● Replicated Storage
  6. 6. Database :: MySQL / MariaDB Local Storage DB Node
  7. 7. Database :: MySQL / MariaDB Shared Storage Pacemaker Active / Passive Failover FIP: 10.10.10.123 DB Node* DB Node Storage iSCSI or NFS * MySQL service is running
  8. 8. Database :: MySQL / MariaDB Shared Storage Pacemaker Active / Passive Failover X FIP: 10.10.10.123 DB Node DB Node* Storage iSCSI or NFS * MySQL service is running
  9. 9. Database :: MySQL / MariaDB Replicated Storage Pacemaker Active / Passive Failover FIP: 10.10.10.123 DB Node* DB Node* Master Slave Master / Slave Replication * MySQL service is running
  10. 10. Database :: MySQL / MariaDB Replicated Storage Pacemaker Active / Passive Failover X DB Node FIP: 10.10.10.123 DB Node* Master Master / Slave Replication * MySQL service is running
  11. 11. Database :: MySQL / MariaDB Pacemaker Disclaimer 3 node minimum for quorum
  12. 12. Glance: Image Management
  13. 13. Glance: Image Management Store Backends ● Local (mounted) ● Swift ● Cinder ● more... /usr/lib/python2.7/site-packages/glance/store
  14. 14. Glance: Image Management Use GlusterFS to back Glance # yum install -y glusterfs-fuse # mkdir /srv/openstack # vim /etc/fstab gluster1:/openstack /srv/openstack glusterfs defaults,_netdev 0 0 # mount -a # mkdir -p /srv/openstack/glance/images/ # chown -R glance:glance /srv/openstack/glance/
  15. 15. Glance: Image Management Configure OpenStack # vim /etc/glance/glance-api.conf filesystem_store_datadir=/srv/openstack/glance/images/ # vim /etc/glance/glance-cache.conf filesystem_store_datadir=/srv/openstack/glance/images/ # grep "/var/lib/glance" /etc/glance/* glance-api.conf:#scrubber_datadir=/var/lib/glance/scrubber glance-api.conf:#image_cache_dir=/var/lib/glance/image-cache/ glance-cache.conf:#image_cache_dir=/var/lib/glance/image-cache glance-scrubber.conf:#scrubber_datadir=/var/lib/glance/scrubber # service openstack-glance-api restart # service openstack-glance-registry restart
  16. 16. Nova: Instance Management
  17. 17. Nova: Instance Management Use GlusterFS to back Nova # yum install -y glusterfs-fuse # mkdir /srv/openstack # vim /etc/fstab gluster1:/openstack /srv/openstack glusterfs defaults,_netdev 0 0 # mount -a # mkdir -p /srv/openstack/instances # chown -R nova:nova /srv/openstack/instances # vim /etc/nova/nova.conf instances_path=/srv/openstack/instances # service openstack-nova-compute restart
  18. 18. Cinder: Block Storage
  19. 19. Cinder: Block Storage Drivers ● LVM ● NFS ● GlusterFS ● more... /usr/lib/python2.7/site-packages/cinder/volume/drivers
  20. 20. Cinder: Block Storage Example: Multiple Storage Types Dependencies # yum install -y glusterfs-fuse Configuration # vim /etc/cinder/shares.conf gluster1:openstack gluster2:openstack (gluster_host.domain.com:gluster_volume_name)
  21. 21. Cinder: Block Storage Configuration #vim /etc/cinder/cinder.conf enabled_backends=my_lvm,my_glusterfs [my_lvm] volume_group = cinder-volumes volume_driver = cinder.volume.drivers.lvm.LVMISCSIDriver volume_backend_name = LVM [my_glusterfs] volume_driver = cinder.volume.drivers.glusterfs.GlusterfsDriver glusterfs_shares_config = /etc/cinder/shares.conf glusterfs_sparsed_volumes = false volume_backend_name = GLUSTER
  22. 22. Cinder: Block Storage Restart cinder & verify # service openstack-cinder-scheduler restart # service openstack-cinder-volume restart # mount | grep cinder gluster1:openstack on /var/lib/cinder/... type fuse.glusterfs gluster2:openstack on /var/lib/cinder/... type fuse.glusterfs
  23. 23. Cinder: Block Storage Create cinder volume types # cinder type-create lvm # cinder type-key lvm set volume_backend_name=LVM # cinder type-create glusterfs # cinder type-key glusterfs set volume_backend_name=GLUSTER Create cinder volume using type # cinder create --volume-type glusterfs --display-name test 1
  24. 24. Cinder: Block Storage Compute configuration (experimental) # vim /etc/nova/nova.conf debug=False qemu_allowed_storage_drivers=gluster # service openstack-nova-compute restart
  25. 25. Swift: Object Storage
  26. 26. Swift: Object Storage Storage Backends ● Swift Storage ● GlusterFS ● more...
  27. 27. Review
  28. 28. Resources ● ● RDO: openstack.redhat.com https://access.redhat.com/knowledge/docs/enUS/Red_Hat_OpenStack ● OpenStack.org ● TryStack.org ● Puppetlabs.com ● Djangoproject.com ● http://radez.fedorapeople.org/TokyoMeetup_slides.pdf
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×