天天看點

Ceph作為OpenStack後端存儲

Total PGs = (Total_number_of_OSD * 100) /max_replication_count)

1、  Create pool for OpenStack

1

2

3

4

5

<code>pg=256</code>

<code>ceph osd pool create volumes $pg   </code><code>#disk_pool</code>

<code>ceph osd pool create images $pg    </code><code>#image_pool</code>

<code>ceph osd pool create vms $pg      </code><code>#host_pool</code>

<code>ceph osd pool create backups $pg   </code><code>#backup_pool</code>

2、  setup ceph client authentication

<code>ceph auth get-or-create client.cinder mon</code><code>'allow r'</code> <code>osd </code><code>'allow class-read object_prefix rbd_children, allow rwxpool=volumes, allow rwx pool=vms, allow rx pool=images'</code>

<code>ceph auth get-or-create client.glance mon</code><code>'allow r'</code> <code>osd </code><code>'allow class-read object_prefix rbd_children, allow rwxpool=images'</code>

<code>ceph auth get-or-createclient.cinder-backup mon </code><code>'allow r'</code> <code>osd </code><code>'allow class-read object_prefixrbd_children, allow rwx pool=backups'</code>

3、Add the keyringsfor client.cinder, client.glance, and client.cinder-backup to the appropriatenodes and change their ownership

<code>ceph auth get-or-create client.glance | </code><code>ssh</code><code>{your-glance-api-server} </code><code>sudo</code> <code>tee</code> <code>/etc/ceph/ceph</code><code>.client.glance.keyring</code>

<code>ssh</code> <code>{your-glance-api-server} </code><code>sudo</code> <code>chownglance:glance </code><code>/etc/ceph/ceph</code><code>.client.glance.keyring</code>

<code>ceph auth get-or-create client.cinder | </code><code>ssh</code><code>{your-volume-server} </code><code>sudo</code> <code>tee</code> <code>/etc/ceph/ceph</code><code>.client.cinder.keyring</code>

<code>ssh</code> <code>{your-cinder-volume-server} </code><code>sudo</code> <code>chowncinder:cinder </code><code>/etc/ceph/ceph</code><code>.client.cinder.keyring</code>

4、  Nodes running nova-compute need the keyring file for thenova-compute process

<code>ceph auth get-or-create client.cinder | </code><code>ssh</code><code>{your-nova-compute-server} </code><code>sudo</code> <code>tee</code> <code>/etc/ceph/ceph</code><code>.client.cinder.keyring</code>

5、  Create a temporary copy of the secret key on the nodes runningnova-compute:

6

7

8

9

10

11

12

13

14

<code>ceph auth get-key client.cinder &gt; client.cinder.key</code>

<code>ceph auth get-key client.cinder | </code><code>ssh</code><code>{your-compute-node} </code><code>tee</code> <code>client.cinder.key</code>

<code>uuidgen</code>

<code>4f859b95-406e-49f6-9ff8-d6e04f7ba1ef</code>

<code>cat</code> <code>&gt; secret.xml &lt;&lt;EOF</code>

<code>&lt;secret ephemeral=</code><code>'no'</code> <code>private=</code><code>'no'</code><code>&gt;</code>

<code> </code><code>&lt;uuid&gt;4f859b95-406e-49f6-9ff8-d6e04f7ba1ef&lt;</code><code>/uuid</code><code>&gt;</code>

<code> </code><code>&lt;usage </code><code>type</code><code>=</code><code>'ceph'</code><code>&gt;</code>

<code>   </code><code>&lt;name&gt;client.cinder secret&lt;</code><code>/name</code><code>&gt;</code>

<code> </code><code>&lt;</code><code>/usage</code><code>&gt;</code>

<code>&lt;</code><code>/secret</code><code>&gt;</code>

<code>EOF</code>

<code>sudo</code> <code>virsh secret-define --</code><code>file</code> <code>secret.xml</code>

<code>sudo</code> <code>virsh secret-</code><code>set</code><code>-value --secret e05983be-9251-44cb-9738-198bf9ec2d7e --base64 $(</code><code>cat</code> <code>client.cinder.key)&amp;&amp; </code><code>rm</code> <code>client.cinder.key secret.xml</code>

6、  Configuring Glance

<code>vi</code> <code>/etc/glance/glance-api</code><code>.conf</code>

<code>[DEFAULT]</code>

<code>...</code>

<code>default_store=rbd</code>

<code>rbd_store_user=glance</code>

<code>rbd_store_pool=images</code>

<code>show_image_direct_url=True</code>

7、  Configuring Cinder

<code>vi</code> <code>/etc/cinder/cinder</code><code>.conf</code>

<code>volume_driver=cinder.volume.drivers.rbd.RBDDriver</code>

<code>rbd_pool=volumes</code>

<code>rbd_ceph_conf=</code><code>/etc/ceph/ceph</code><code>.conf</code>

<code>rbd_flatten_volume_from_snapshot=</code><code>false</code>

<code>rbd_max_clone_depth=5</code>

<code>glance_api_version=2</code>

<code>rbd_user=cinder</code>

<code>rbd_secret_uuid=e05983be-9251-44cb-9738-198bf9ec2d7e</code>

8、  Configuring Cinder Backup

<code>backup_driver=cinder.backup.drivers.ceph</code>

<code>backup_ceph_conf=</code><code>/etc/ceph/ceph</code><code>.conf</code>

<code>backup_ceph_user=cinder-backup</code>

<code>backup_ceph_chunk_size=134217728</code>

<code>backup_ceph_pool=backups</code>

<code>backup_ceph_stripe_unit=0</code>

<code>backup_ceph_stripe_count=0</code>

<code>restore_discard_excess_bytes=</code><code>true</code>

9、  Configuring Nova

<code>vi</code> <code>/etc/nova/nova</code><code>.conf</code>

<code>libvirt_images_type=rbd</code>

<code>libvirt_images_rbd_pool=vms</code>

<code>libvirt_images_rbd_ceph_conf=</code><code>/etc/ceph/ceph</code><code>.conf</code>

<code>libvirt_inject_password=</code><code>false</code>

<code>libvirt_inject_key=</code><code>false</code>

<code>libvirt_inject_partition=-2</code>

<code>libvirt_live_migration_flag=</code><code>"VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST"</code>

10、  Restart OpenStack

<code>service openstack-glance-api restart</code>

<code>service openstack-nova-compute restart</code>

<code>service openstack-cinder-volume restart</code>

10、Test

<a href="http://s4.51cto.com/wyfs02/M02/82/D7/wKiom1diUZSwzwvCAAB4S7KW8mY156.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M02/82/D7/wKiom1diUZSR-w-7AAB8KkOVu2I873.png" target="_blank"></a>

本文轉自Jacken_yang 51CTO部落格,原文連結:http://blog.51cto.com/linuxnote/1789924,如需轉載請自行聯系原作者

繼續閱讀