OpenStack deploy Instances op CEPH

OpenStack deploy Instances

Voordat we binnen OpenStack AIO instances kunnen starten in een Openstack Project hebben we voor Neutron een public en private netwerk nodig en een Glance image.

Ga eerst naar de utility container om de Neutron netwerken aan te maken:

ssh aio1-utility-container-f125599d

source openrc

neutron net-create \
--provider:physical_network=flat \
--provider:network_type=flat \
--router:external \
--shared ext-eje-flat

neutron subnet-create \
--allocation-pool start=172.29.248.150,end=172.29.248.170 \
--dns-nameserver 172.29.248.1 \
--gateway 172.29.248.1 \
--name flatsubnet  ext-eje-flat 172.29.248.0/22

Zet de gateway voor de router die is aangemaakt in de webinterface:

neutron router-gateway-set eje-r1 ext-eje-flat

De subnet IDs.

aio1-utility-container-f125599d:~# neutron net-list
+--------------------------------------+--------------+-------------------------------------------------------+
| id                                   | name         | subnets                                               |
+--------------------------------------+--------------+-------------------------------------------------------+
| aadd8f82-69e1-4cc3-876d-00ba23473e87 | ext-eje-flat | 07498393-6314-4a52-8314-1258d95a4f4c 172.29.248.0/22  |
| c4123efc-f95e-44dd-a2ab-85079a101128 | eje-int      | 5b040fe5-6e4d-4424-99f1-f1a5174b68f0 192.168.223.0/24 |
+--------------------------------------+--------------+-------------------------------------------------------+

Maak een OpenStack keypair aan:

openstack keypair create ejekey > ~/.ssh/ejekey

Maak een OpenStack intance flavor aan:

openstack flavor create flovor-eje1 --id 01 --ram 512 --disk 3 --vcpus 1

Maak een Glance image aan van een CirrOS image. Voor gebruik binnen CEPH pools maken we er eerst een RAW image van:

# qemu-img convert cirros-0.3.4-x86_64-disk.img cirros-0.3.4-x86_64-disk.raw

# glance image-create --name "cirros-0.3.2-x86_64" \
--disk-format=raw \
--container-format=bare \
--property architecture=x86_64 \
--progress --file ./cirros-0.3.4-x86_64-disk.raw

Het CirrOS image is nu aanwezig in de glance CEPH pool "images".

aio1-ceph-mon-container-mon1:~# rbd ls images
897c9db9-0117-4da5-a471-cadbc462a8a2

aio1-ceph-mon-container-mon1:~# rbd info images/897c9db9-0117-4da5-a471-cadbc462a8a2
rbd image '897c9db9-0117-4da5-a471-cadbc462a8a2':
    size 40162 kB in 5 objects
    order 23 (8192 kB objects)
    block_name_prefix: rbd_data.1491e238e1f29
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags:

We willen met dit glance image instances deployen met een cinder volume in de cinder CEPH pool "volumes". Omdat we meerdere storage backends kunnen hebben, voorzien we het glance image met een cinder_img_volume_type property "rbd".

# glance image-update 897c9db9-0117-4da5-a471-cadbc462a8a2 --property cinder_img_volume_type=rbd
+------------------------+----------------------------------------------------------------------------------+
| Property               | Value                                                                            |
+------------------------+----------------------------------------------------------------------------------+
| architecture           | x86_64                                                                           |
| checksum               | 56730d3091a764d5f8b38feeef0bfcef                                                 |
| cinder_img_volume_type | rbd                                                                              |
| container_format       | bare                                                                             |
| created_at             | 2017-01-02T20:12:37Z                                                             |
| direct_url             | rbd://aaf133a3-5959-43dc-                                                        |
|                        | a9a8-4696c926d95f/images/897c9db9-0117-4da5-a471-cadbc462a8a2/snap               |
| disk_format            | raw                                                                              |
| id                     | 897c9db9-0117-4da5-a471-cadbc462a8a2                                             |
| min_disk               | 0                                                                                |
| min_ram                | 0                                                                                |
| name                   | cirros-0.3.2-x86_64                                                              |
| owner                  | f9cf81236c7d4c7289950c51634f7b79                                                 |
| protected              | False                                                                            |
| size                   | 41126400                                                                         |
| status                 | active                                                                           |
| tags                   | []                                                                               |
| updated_at             | 2017-01-04T19:04:04Z                                                             |
| virtual_size           | None                                                                             |
| visibility             | private                                                                          |
+------------------------+----------------------------------------------------------------------------------+

We kunnen nu met het glance RAW image een instance deployen met een eigen cinder rbd volume.

aio1-utility-container-f125599d:~# nova boot --flavor flovor-eje1 \
--nic net-id=c4123efc-f95e-44dd-a2ab-85079a101128 \
--block-device source=image,id=897c9db9-0117-4da5-a471-cadbc462a8a2,dest=volume,size=2,shutdown=preserve,bootindex=0 \
eje-vm1-rbd

En kijken of de intance beschikbaar is:

aio1-utility-container-f125599d:~# nova list
+--------------------------------------+-------------+---------+------------+-------------+------------------------+
| ID                                   | Name        | Status  | Task State | Power State | Networks               |
+--------------------------------------+-------------+---------+------------+-------------+------------------------+
| 9322ef36-e1bd-4be1-86ff-20cf2d53221b | deb-vm1     | SHUTOFF | -          | Shutdown    | eje-int=192.168.223.6  |
| b9cd47b4-dbb8-4ff4-b6cb-144ad9dfe1bc | eje-vm1     | SHUTOFF | -          | Shutdown    | eje-int=192.168.223.2  |
| c1e867d0-b912-4bdd-9b13-60dfd8fae557 | eje-vm1-rbd | ACTIVE  | -          | Running     | eje-int=192.168.223.13 |
+--------------------------------------+-------------+---------+------------+-------------+------------------------+

aio1-utility-container-f125599d:~# cinder list
+--------------------------------------+--------+------+------+-------------+----------+--------------------------------------+
| ID                                   | Status | Name | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+--------+------+------+-------------+----------+--------------------------------------+
| 17284bac-f986-430b-9c18-b6cfb4544358 | in-use |      | 2    | rbd         | true     | c1e867d0-b912-4bdd-9b13-60dfd8fae557 |
| b29167c6-e221-44a4-a504-cf364bd57fb3 | in-use |      | 3    | -           | true     | 9322ef36-e1bd-4be1-86ff-20cf2d53221b |
| b8a7aabe-1328-4aba-94f6-c63320fcef31 | in-use |      | 1    | -           | true     | b9cd47b4-dbb8-4ff4-b6cb-144ad9dfe1bc |
+--------------------------------------+--------+------+------+-------------+----------+--------------------------------------+

Op het CEPH cluster zien we nu het image binnen de cinder pool "volumes".

aio1-ceph-mon-container-mon1:~# rbd ls volumes
volume-17284bac-f986-430b-9c18-b6cfb4544358

aio1-ceph-mon-container-mon1:~# rbd info volumes/volume-17284bac-f986-430b-9c18-b6cfb4544358
rbd image 'volume-17284bac-f986-430b-9c18-b6cfb4544358':
    size 2048 MB in 512 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.1e4f62ae8944a
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags:

De cinder storage backends:

aio1-utility-container-f125599d:~# cinder type-list
+--------------------------------------+------+-------------+-----------+
| ID                                   | Name | Description | Is_Public |
+--------------------------------------+------+-------------+-----------+
| 025adfc1-0580-45d1-9539-1c7f4f7ef6a6 | lvm  | -           | True      |
| f019bfda-e531-43f4-9826-b84c0aa2042b | rbd  | -           | True      |
+--------------------------------------+------+-------------+-----------+

aio1-utility-container-f125599d:~# cinder get-pools
+----------+--------------------+
| Property | Value              |
+----------+--------------------+
| name     | ubu1604oc1@rbd#rbd |
+----------+--------------------+
+----------+--------------------------+
| Property | Value                    |
+----------+--------------------------+
| name     | ubu1604oc1@lvm#LVM_iSCSI |
+----------+--------------------------+

De status van het CEPH cluster:

aio1-ceph-mon-container-mon1:~# ceph -s
    cluster aaf133a3-5959-43dc-a9a8-4696c926d95f
     health HEALTH_OK
     monmap e1: 3 mons at {aio1-ceph-mon-container-mon1=172.29.244.11:6789/0,
            aio1-ceph-mon-container-mon2=172.29.244.12:6789/0,aio1-ceph-mon-container-mon3=172.29.244.13:6789/0}
            election epoch 60, quorum 0,1,2 aio1-ceph-mon-container-mon1,aio1-ceph-mon-container-mon2,aio1-ceph-mon-container-mon3
     osdmap e142: 6 osds: 6 up, 6 in
            flags sortbitwise,require_jewel_osds
      pgmap v1407: 448 pgs, 4 pools, 72930 kB data, 22 objects
            460 MB used, 149 GB / 149 GB avail
                 448 active+clean