{"id":19557,"date":"2023-12-12T15:45:58","date_gmt":"2023-12-12T12:45:58","guid":{"rendered":"https:\/\/kifarunix.com\/?p=19557"},"modified":"2024-03-10T15:27:26","modified_gmt":"2024-03-10T12:27:26","slug":"part-3-integrate-openstack-with-ceph-storage-cluster","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/part-3-integrate-openstack-with-ceph-storage-cluster\/","title":{"rendered":"Part 3: Integrate OpenStack with Ceph Storage Cluster"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1049\" height=\"589\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-n-ceph-1.png?v=1702384922\" alt=\"Integrate OpenStack with Ceph Storage Cluster\" class=\"wp-image-19578\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-n-ceph-1.png?v=1702384922 1049w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-n-ceph-1-768x431.png?v=1702384922 768w\" sizes=\"(max-width: 1049px) 100vw, 1049px\" \/><\/figure>\n\n\n\n<p>This is the part 3 of our guide on how to integrate OpenStack with Ceph Storage Cluster. In cloud computing, OpenStack and <a href=\"https:\/\/docs.ceph.com\/en\/reef\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ceph<\/a> stand as two prominent pillars, each offering distinct yet complementary capabilities. While OpenStack provides a comprehensive cloud computing platform, Ceph delivers distributed and scalable storage services.<\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/part-1-integrate-openstack-with-ceph-storage-cluster\/\" target=\"_blank\" rel=\"noreferrer noopener\">Part 1: Integrating OpenStack with Ceph Storage Cluster<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/part-2-integrate-openstack-with-ceph-storage-cluster\/\" target=\"_blank\" rel=\"noreferrer noopener\">Part 2: Integrating OpenStack with Ceph Storage Cluster<\/a><\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table of Contents<\/h2><nav><ul><li><a href=\"#part-3-integrating-open-stack-with-ceph-storage-cluster\">Part 3: Integrating OpenStack with Ceph Storage Cluster<\/a><ul><li><a href=\"#install-ansible-galaxy-requirements\">Install Ansible Galaxy requirements<\/a><\/li><li><a href=\"#boostrap-open-stack-nodes-with-kolla-deploy-dependencies\">Boostrap OpenStack Nodes with Kolla Deploy Dependencies<\/a><\/li><li><a href=\"#run-pre-deployment-checks-on-the-nodes\">Run pre-deployment checks on the nodes<\/a><\/li><li><a href=\"#deploy-multinode-open-stack-and-integrate-with-ceph-storage-using-kolla-ansible\">Deploy Multinode OpenStack and Integrate with Ceph Storage using Kolla-Ansible<\/a><\/li><li><a href=\"#generate-open-stack-admin-credentials\">Generate OpenStack Admin Credentials<\/a><\/li><li><a href=\"#install-open-stack-command-line-administration-tools\">Install OpenStack command line administration tools<\/a><\/li><li><a href=\"#confirm-open-stack-glance-and-cinder-backend-stores\">Confirm OpenStack Glance and Cinder Backend Stores<\/a><\/li><\/ul><\/li><li><a href=\"#administering-open-stack\">Administering OpenStack<\/a><ul><li><a href=\"#administering-open-stack-from-command-line\">Administering OpenStack from Command Line<\/a><\/li><li><a href=\"#administering-open-stack-from-horizon\">Administering OpenStack from Horizon<\/a><\/li><li><a href=\"#create-open-stack-image-and-confirm-storage-location\">Create OpenStack Image and Confirm Storage Location<\/a><\/li><li><a href=\"#create-an-instance-with-a-volume-on-open-stack-and-verify-on-ceph\">Create an Instance with a Volume on OpenStack and Verify on Ceph<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"part-3-integrating-open-stack-with-ceph-storage-cluster\">Part 3: Integrating OpenStack with Ceph Storage Cluster<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"install-ansible-galaxy-requirements\">Install Ansible Galaxy requirements<\/h4>\n\n\n\n<p>The Kolla Ansible Galaxy requirements are a set of Ansible roles and collections that are required to deploy OpenStack using Kolla Ansible.<\/p>\n\n\n\n<p>To install them, run the command below;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kolla-ansible install-deps<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"boostrap-open-stack-nodes-with-kolla-deploy-dependencies\">Boostrap OpenStack Nodes with Kolla Deploy Dependencies<\/h4>\n\n\n\n<p>You can now start to deploy Multinode OpenStack using Kolla-ansible playbooks.<\/p>\n\n\n\n<p><strong>Again, ensure that your virtual environment is activated.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source $HOME\/kolla-ansible\/bin\/activate<\/code><\/pre>\n\n\n\n<p>Bootstrap your OpenStack nodes with kolla deploy dependencies using&nbsp;<code><strong>bootstrap-servers<\/strong><\/code>&nbsp;subcommand.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kolla-ansible -i multinode bootstrap-servers<\/code><\/pre>\n\n\n\n<p>This is what the bootstrap command do;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customisation of&nbsp;<code>\/etc\/hosts<\/code><\/li>\n\n\n\n<li>Creation of user and group<\/li>\n\n\n\n<li>Kolla configuration directory<\/li>\n\n\n\n<li>Package installation and removal<\/li>\n\n\n\n<li>Docker engine installation and configuration<\/li>\n\n\n\n<li>Disabling firewalls<\/li>\n\n\n\n<li>Creation of Python virtual environment<\/li>\n\n\n\n<li>Configuration of Apparmor<\/li>\n\n\n\n<li>Configuration of SELinux<\/li>\n\n\n\n<li>Configuration of NTP daemon<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"run-pre-deployment-checks-on-the-nodes\">Run pre-deployment checks on the nodes<\/h4>\n\n\n\n<p>Execute the command below to run the pre-deployment checks for hosts.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kolla-ansible -i multinode prechecks<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>...\nPLAY RECAP ******************************************************************************************************************************************************************************************\ncompute01                  : ok=52   changed=0    unreachable=0    failed=0    skipped=46   rescued=0    ignored=0   \ncompute02                  : ok=50   changed=0    unreachable=0    failed=0    skipped=44   rescued=0    ignored=0   \ncontroller01               : ok=132  changed=0    unreachable=0    failed=0    skipped=162  rescued=0    ignored=0   \ncontroller02               : ok=132  changed=0    unreachable=0    failed=0    skipped=154  rescued=0    ignored=0   \ncontroller03               : ok=132  changed=0    unreachable=0    failed=0    skipped=154  rescued=0    ignored=0\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"deploy-multinode-open-stack-and-integrate-with-ceph-storage-using-kolla-ansible\">Deploy Multinode OpenStack and Integrate with Ceph Storage using Kolla-Ansible<\/h4>\n\n\n\n<p>If everything is fine, proceed to deploy multinode OpenStack and integrate with Ceph Cluster using Kolla-ansible;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kolla-ansible -i multinode deploy<\/code><\/pre>\n\n\n\n<p>The process might take a while as it involves building containers for different OpenStack services.<\/p>\n\n\n\n<p>Sample recap output after deployment is done;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>PLAY [Apply role skyline] ***************************************************************************************************************************************************************************\nskipping: no hosts matched\n\nPLAY RECAP ******************************************************************************************************************************************************************************************\ncompute01                  : ok=128  changed=78   unreachable=0    failed=0    skipped=107  rescued=0    ignored=0   \ncompute02                  : ok=117  changed=76   unreachable=0    failed=0    skipped=102  rescued=0    ignored=0   \ncontroller01               : ok=468  changed=317  unreachable=0    failed=0    skipped=303  rescued=0    ignored=1   \ncontroller02               : ok=324  changed=224  unreachable=0    failed=0    skipped=286  rescued=0    ignored=1   \ncontroller03               : ok=324  changed=224  unreachable=0    failed=0    skipped=286  rescued=0    ignored=1 \n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"generate-open-stack-admin-credentials\">Generate OpenStack Admin Credentials<\/h4>\n\n\n\n<p>Generate OpenStack admin user credentials file (<code>openrc<\/code>) using the command below;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kolla-ansible post-deploy<\/code><\/pre>\n\n\n\n<p>This command generates the admin credentials file,&nbsp;<code><strong>\/etc\/kolla\/admin-openrc.sh<\/strong><\/code>.<\/p>\n\n\n\n<p>To be able to use OpenStack command line tools, you need to activate the credentials using the command below;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source \/etc\/kolla\/admin-openrc.sh<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"install-open-stack-command-line-administration-tools\">Install OpenStack command line administration tools<\/h4>\n\n\n\n<p>You can now install OpenStack command line administration tools. You need to do this from the virtual environment on the control node.source $HOME\/kolla-ansible\/bin\/activate<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install python-openstackclient -c https:\/\/releases.openstack.org\/constraints\/upper\/2023.1<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install python-neutronclient -c https:\/\/releases.openstack.org\/constraints\/upper\/2023.1<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install python-glanceclient -c https:\/\/releases.openstack.org\/constraints\/upper\/2023.1<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install python-heatclient -c https:\/\/releases.openstack.org\/constraints\/upper\/2023.1<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"confirm-open-stack-glance-and-cinder-backend-stores\">Confirm OpenStack Glance and Cinder Backend Stores<\/h4>\n\n\n\n<p>You can use <code>glance stores-info<\/code> and <strong><code>cinder get-pools<\/code><\/strong> to check the backend storage;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>glance stores-info<\/code><\/pre>\n\n\n\n<pre class=\"scroll-sz\"><code>+----------+----------------------------------------------------------------------------------+\n| Property | Value                                                                            |\n+----------+----------------------------------------------------------------------------------+\n| stores   | [{\"id\": \"http\", \"read-only\": \"true\"}, {\"id\": \"rbd\", \"default\": \"true\"}, {\"id\":   |\n|          | \"cinder\"}]                                                                       |\n+----------+----------------------------------------------------------------------------------+\n<\/code><\/pre>\n\n\n\n<p>There are three storage backends configured in Glance: &#8220;http,&#8221; &#8220;rbd,&#8221; and &#8220;cinder.&#8221;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The &#8220;http&#8221; backend is configured as read-only.<\/li>\n\n\n\n<li>The &#8220;rbd&#8221; backend is set as the default.<\/li>\n\n\n\n<li>The &#8220;cinder&#8221; backend is also part of the configured stores.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cinder get-pools<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>+----------+-----------------------+\n| Property | Value                 |\n+----------+-----------------------+\n| name     | controller02@ceph#RBD |\n+----------+-----------------------+\n+----------+-----------------------+\n| Property | Value                 |\n+----------+-----------------------+\n| name     | controller01@ceph#RBD |\n+----------+-----------------------+\n+----------+-----------------------+\n| Property | Value                 |\n+----------+-----------------------+\n| name     | controller03@ceph#RBD |\n+----------+-----------------------+\n+----------+--------------------+\n| Property | Value              |\n+----------+--------------------+\n| name     | compute01@ceph#RBD |\n+----------+--------------------+\n+----------+--------------------+\n| Property | Value              |\n+----------+--------------------+\n| name     | compute02@ceph#RBD |\n+----------+--------------------+\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"administering-open-stack\">Administering OpenStack<\/h3>\n\n\n\n<p>You should now be able to administer your OpenStack deployment from the command line or from horizon.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"administering-open-stack-from-command-line\">Administering OpenStack from Command Line<\/h4>\n\n\n\n<p>To administer OpenStack deployed using Kolla-ansible from the command line, you need to activate the Kolla virtual environment and load the OpenStack admin credentials;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source $HOME\/kolla-ansible\/bin\/activate<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>source \/etc\/kolla\/admin-openrc.sh<\/code><\/pre>\n\n\n\n<p>After that, you should now be able to run OpenStack commands on command line;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openstack service list<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>+----------------------------------+-----------+----------------+\n| ID                               | Name      | Type           |\n+----------------------------------+-----------+----------------+\n| 4a8f6c5a6f944ff282663f1ad82030ca | gnocchi   | metric         |\n| 6b4ed221605d4f999deb3e1dc6644f09 | heat      | orchestration  |\n| 7108889781794680892d234a4564fd73 | placement | placement      |\n| 78d6e8ff7b754afa8c5eb2fb578dc5c3 | zun       | container      |\n| 82ce1b389781410f8d382dfd3942f4e4 | glance    | image          |\n| 8e96e4beb0f840cb9a3006a92684a568 | keystone  | identity       |\n| a5856133a89a41569f85ddcc7e79a069 | cinderv3  | volumev3       |\n| ae8d61d1c3af482fb577400c6028096e | aodh      | alarming       |\n| c507ec607730473b9bb2d7010a305c4f | nova      | compute        |\n| d88782831c0d47949b58e75358387bd9 | neutron   | network        |\n| f4a68da3fadb4d2fb1c280ac44461b1b | heat-cfn  | cloudformation |\n+----------------------------------+-----------+----------------+\n<\/code><\/pre>\n\n\n\n<p>e.tc<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"administering-open-stack-from-horizon\">Administering OpenStack from Horizon<\/h4>\n\n\n\n<p>You can access OpenStack horizon and administer it from there. As per our guide, we are accessing horizon via the VIP;<\/p>\n\n\n\n<p><code><strong>http:\/\/192.168.200.254<\/strong><\/code>.<\/p>\n\n\n\n<p>Credentials can be obtained from the passwords file;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep keystone_admin \/etc\/kolla\/passwords.yml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>keystone_admin_password: 7S9UQjyeOzx1yVpVpluoZ4Y6CrfvCMIbdvYjKlp9<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1511\" height=\"698\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/10\/openstack-horizon-login.png\" alt=\"Integrate OpenStack with Ceph Storage Cluster\" class=\"wp-image-18998\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/10\/openstack-horizon-login.png?v=1697452665 1511w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/10\/openstack-horizon-login-768x355.png?v=1697452665 768w\" sizes=\"(max-width: 1511px) 100vw, 1511px\" \/><\/figure>\n\n\n\n<p>Dashboard;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1612\" height=\"846\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-dashboard.png?v=1702378230\" alt=\"\" class=\"wp-image-19550\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-dashboard.png?v=1702378230 1612w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-dashboard-768x403.png?v=1702378230 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-dashboard-1536x806.png?v=1702378230 1536w\" sizes=\"(max-width: 1612px) 100vw, 1612px\" \/><\/figure><\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"create-open-stack-image-and-confirm-storage-location\">Create OpenStack Image and Confirm Storage Location<\/h4>\n\n\n\n<p>You can choose to create OpenStack image and confirm if it is saved successfully on Ceph glance-image pool created before.<\/p>\n\n\n\n<p>You can create an image from command line or from horizon.<\/p>\n\n\n\n<p>Let&#8217;s use command to create a cirros image;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>glance image-create --name cirros \\\n\t--file ~\/cirros-0.6.2-x86_64-disk.img \\\n\t--disk-format qcow2 \\\n\t--container-format bare \\\n\t--progress\n<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>[=============================>] 100%\n+------------------+----------------------------------------------------------------------------------+\n| Property         | Value                                                                            |\n+------------------+----------------------------------------------------------------------------------+\n| checksum         | c8fc807773e5354afe61636071771906                                                 |\n| container_format | bare                                                                             |\n| created_at       | 2023-12-12T10:57:12Z                                                             |\n| direct_url       | rbd:\/\/1e266088-9480-11ee-a7e1-738d8527cddc\/glance-                               |\n|                  | images\/3f449c9f-d96d-4034-84ca-fb895233ad38\/snap                                 |\n| disk_format      | qcow2                                                                            |\n| id               | 3f449c9f-d96d-4034-84ca-fb895233ad38                                             |\n| min_disk         | 0                                                                                |\n| min_ram          | 0                                                                                |\n| name             | cirros                                                                           |\n| os_hash_algo     | sha512                                                                           |\n| os_hash_value    | 1103b92ce8ad966e41235a4de260deb791ff571670c0342666c8582fbb9caefe6af07ebb11d34f44 |\n|                  | f8414b609b29c1bdf1d72ffa6faa39c88e8721d09847952b                                 |\n| os_hidden        | False                                                                            |\n| owner            | 1530dcf3d38e444b93081a243a2f9ff3                                                 |\n| protected        | False                                                                            |\n| size             | 21430272                                                                         |\n| status           | active                                                                           |\n| stores           | rbd                                                                              |\n| tags             | []                                                                               |\n| updated_at       | 2023-12-12T10:57:14Z                                                             |\n| virtual_size     | 117440512                                                                        |\n| visibility       | shared                                                                           |\n+------------------+----------------------------------------------------------------------------------+\n<\/code><\/pre>\n\n\n\n<p>Check direct URL. It points to the underlying storage location of the image. In the provided example, the <code>direct_url<\/code> is specified as a Ceph RBD (RADOS Block Device) URL.<\/p>\n\n\n\n<p>List images on OpenStack;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>glance image-list<\/code><\/pre>\n\n\n\n<p>Login to Ceph either dashboard or command line and verify;<\/p>\n\n\n\n<p>Dashboard: As you can see under Block &gt; Images, glance-image pool, we have an image whose ID, <strong><code>3f449c9f-d96d-4034-84ca-fb895233ad38<\/code><\/strong>, matches the one we created above!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1611\" height=\"547\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/image-in-glance-image-ceph-pool.png?v=1702379602\" alt=\"\" class=\"wp-image-19551\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/image-in-glance-image-ceph-pool.png?v=1702379602 1611w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/image-in-glance-image-ceph-pool-768x261.png?v=1702379602 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/image-in-glance-image-ceph-pool-1536x522.png?v=1702379602 1536w\" sizes=\"(max-width: 1611px) 100vw, 1611px\" \/><\/figure>\n\n\n\n<p>From command line;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rbd ls -p glance-images<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rbd disk-usage -p glance-images<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>NAME                                       PROVISIONED  USED  \n3f449c9f-d96d-4034-84ca-fb895233ad38@snap       20 MiB  20 MiB\n3f449c9f-d96d-4034-84ca-fb895233ad38            20 MiB     0 B\n&lt;TOTAL>                                         20 MiB  20 MiB\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-an-instance-with-a-volume-on-open-stack-and-verify-on-ceph\">Create an Instance with a Volume on OpenStack and Verify on Ceph<\/h4>\n\n\n\n<p>Launch an instance and attach a volume on OpenStack;<\/p>\n\n\n\n<p>You of course need to have created networks, images are imported, flavors are created before you can launch an instance.<\/p>\n\n\n\n<p>Other useful post;<\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/how-to-configure-openstack-networks-for-internet-access\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Configure OpenStack Networks for Internet Access<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openstack volume create --size 1 --image cirros<\/code><\/pre>\n\n\n\n<p>Get volume ID;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openstack volume list<\/code><\/pre>\n\n\n\n<p>Create instance and attach volume;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openstack server create --flavor mini --availability-zone nova --nic net-id=DEMO_NET --volume 1f4c09f7-e63b-46e3-8e6e-ea71a49cc863 cirros<\/code><\/pre>\n\n\n\n<p>Check instances;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openstack server list<\/code><\/pre>\n\n\n\n<p>Should be booted from volume;<\/p>\n\n\n\n<pre class=\"scroll-sz\"><code>+--------------------------------------+--------+--------+-------------------------+--------------------------+--------+\n| ID                                   | Name   | Status | Networks                | Image                    | Flavor |\n+--------------------------------------+--------+--------+-------------------------+--------------------------+--------+\n| c849174f-38d5-428a-bb71-3f0e86936fee | cirros | ACTIVE | DEMO_NET=192.168.50.183 | N\/A (booted from volume) | mini   |\n+--------------------------------------+--------+--------+-------------------------+--------------------------+--------+\n<\/code><\/pre>\n\n\n\n<p>List the volumes;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cinder list<\/code><\/pre>\n\n\n\n<pre class=\"scroll-sz\"><code>+--------------------------------------+--------+------+------+----------------+-------------+----------+--------------------------------------+\n| ID                                   | Status | Name | Size | Consumes Quota | Volume Type | Bootable | Attached to                          |\n+--------------------------------------+--------+------+------+----------------+-------------+----------+--------------------------------------+\n| 1f4c09f7-e63b-46e3-8e6e-ea71a49cc863 | in-use | -    | 1    | True           | __DEFAULT__ | true     | c849174f-38d5-428a-bb71-3f0e86936fee |\n+--------------------------------------+--------+------+------+----------------+-------------+----------+--------------------------------------+\n<\/code><\/pre>\n\n\n\n<p>Confirm on Ceph cluster;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rbd ls -p cinder-volume<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>volume-1f4c09f7-e63b-46e3-8e6e-ea71a49cc863<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rbd disk-usage -p cinder-volume<\/code><\/pre>\n\n\n\n<pre class=\"scroll-sz\"><code>NAME                                         PROVISIONED  USED   \nvolume-1f4c09f7-e63b-46e3-8e6e-ea71a49cc863        1 GiB  108 MiB\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"879\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-images-n-volumes-on-ceph.png?v=1702384886\" alt=\"\" class=\"wp-image-19577\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-images-n-volumes-on-ceph.png?v=1702384886 1602w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-images-n-volumes-on-ceph-768x421.png?v=1702384886 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2023\/12\/openstack-images-n-volumes-on-ceph-1536x843.png?v=1702384886 1536w\" sizes=\"(max-width: 1602px) 100vw, 1602px\" \/><\/figure>\n\n\n\n<p>And that is it!<\/p>\n\n\n\n<p>You have successfully integrated OpenStack with Ceph storage cluster.<\/p>\n\n\n\n<p>That marks the end of our tutorial on how to integrating OpenStack with Ceph storage cluster.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the part 3 of our guide on how to integrate OpenStack with Ceph Storage Cluster. In cloud computing, OpenStack and Ceph stand as<\/p>\n","protected":false},"author":10,"featured_media":19570,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[121,1338,1885,1886,39],"tags":[7333,7336,7337,7331],"class_list":["post-19557","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","category-ceph","category-cloud-compute","category-openstack","category-storage","tag-ceph-and-openstack","tag-cinder-volumes-openstack-ceph","tag-glance-images-on-ceph","tag-openstack-and-ceph","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/19557"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=19557"}],"version-history":[{"count":7,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/19557\/revisions"}],"predecessor-version":[{"id":20901,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/19557\/revisions\/20901"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/19570"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=19557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=19557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=19557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}