Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2017/09/03
Volet 8
2
It's possible to use Virtual Storages provided by Cinder if an Instance needs more disks.
Configure Virtual storage with LVM backend on here.
It needs there are some free spaces on disks of Storage Node.
------------+---------------------------+--------------------------
-+------------
| |
|
eth0|10.0.0.30 eth0|10.0.0.50
eth0|10.0.0.51
+-----------+-----------+ +-----------+-----------+ +----------
-+-----------+
| [ Control Node ] | | [ Storage Node ] | | [
Compute Node ] |
| | | | |
|
| MariaDB RabbitMQ | | Open vSwitch | |
Libvirt |
| Memcached httpd | | L2 Agent | | Nova
Compute |
| Keystone Glance | | L3 Agent | | Open
vSwitch |
| Nova API | | Metadata Agent | | L2
Agent |
| Neutron Server | | Cinder-Volume | |
|
| Metadata Agent | | iSCSI Target | |
|
| Cinder API | | | |
|
+-----------------------+ +-----------------------+ +----------
-------------+
2
3
enabled_backends = lvm
[root@storage ~]#
systemctl restart openstack-cinder-volume
success
[root@storage ~]#
firewall-cmd --reload
success
[4] Configure Nova on Compute Node.
[root@node01 ~]#
vi /etc/nova/nova.conf
# add to the end
[cinder]
os_region_name = RegionOne
[root@node01 ~]#
systemctl restart openstack-nova-compute
For example, create a virtual disk [disk01] with 10GB. It's OK to work on any node. (This
[5]
example is on Control Node)
# set environment variable first
[root@dlp ~(keystone)]#
echo "export OS_VOLUME_API_VERSION=2" >> ~/keystonerc
[root@dlp ~(keystone)]#
source ~/keystonerc
[root@dlp ~(keystone)]#
3
4
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2017-09-07T05:35:21.897673 |
| description | None |
| encrypted | False |
| id | 976bde3f-04e9-4a79-93d6-7e242bd9116e |
| migration_status | None |
| multiattach | False |
| name | disk01 |
| properties | |
| replication_status | None |
| size | 10 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | None |
| updated_at | None |
| user_id | 09d8dfa20e0f40eaae448d369943b195 |
+---------------------+--------------------------------------+
[root@dlp ~(keystone)]#
openstack volume list
+--------------------------------------+--------+-----------+------+-------------+
| ID | Name | Status | Size | Attached to |
+--------------------------------------+--------+-----------+------+-------------+
| 976bde3f-04e9-4a79-93d6-7e242bd9116e | disk01 | available | 10 | |
+--------------------------------------+--------+-----------+------+-------------+
Attach the virtual disk to an Instance.
[6] For the exmaple below, the disk is connected as [/dev/vdb]. It's possible to use it as a storage
to create a file system on it.
[root@dlp ~(keystone)]#
openstack server list
+-----------+----------+---------+------------------------------------+---------+---
-------+
| ID | Name | Status | Networks | Image |
Flavor |
+-----------+----------+---------+------------------------------------+---------+---
-------+
| 662f62b8- | CentOS_7 | SHUTOFF | int_net=192.168.100.12, 10.0.0.201 | CentOS7 |
m1.small |
+-----------+----------+---------+------------------------------------+---------+---
-------+
4
5
[root@dlp ~(keystone)]#
openstack server add volume CentOS_7 disk01
# the status of attached disk turns [in-use] like follows
[root@dlp ~(keystone)]#
openstack volume list
+--------------------------------------+--------+--------+------+-------------------
----------------+
| ID | Name | Status | Size | Attached to
|
+--------------------------------------+--------+--------+------+-------------------
----------------+
| 976bde3f-04e9-4a79-93d6-7e242bd9116e | disk01 | in-use | 10 | Attached to
CentOS_7 on /dev/vdb |
+--------------------------------------+--------+--------+------+-------------------
----------------+
[root@dlp ~(keystone)]#
openstack server remove volume CentOS_7 disk01
5
6
It's possible to use Virtual Storages provided by Cinder if an Instance needs more disks.
Configure Virtual storage with NFS backend on here.
------------+---------------------------+---------------------------+---
----------------------+------------
| | |
|
eth0|10.0.0.30 eth0|10.0.0.50
eth0|10.0.0.51 eth0|10.0.0.35
+-----------+-----------+ +-----------+-----------+ +-----------+---
--------+ +----------+-----------+
| [ Control Node ] | | [ Storage Node ] | | [ Compute
Node ] | | [ NFS Server ] |
| | | | |
| | |
| MariaDB RabbitMQ | | Open vSwitch | | Libvirt
| +----------------------+
| Memcached httpd | | L2 Agent | | Nova
Compute |
| Keystone Glance | | L3 Agent | | Open
vSwitch |
| Nova API | | Metadata Agent | | L2
Agent |
| Neutron Server | | Cinder-Volume | |
|
| Metadata Agent | | | |
|
| Cinder API | | | |
|
+-----------------------+ +-----------------------+ +---------------
--------+
Domain =
srv.world
[root@storage ~]#
systemctl start rpcbind
6
7
[root@storage ~]#
systemctl enable rpcbind
[root@storage ~]#
vi /etc/cinder/cinder.conf
# add follows in the [DEFAULT] section
enabled_backends = nfs
# add follows to the end
[nfs]
volume_driver = cinder.volume.drivers.nfs.NfsDriver
nfs_shares_config = /etc/cinder/nfs_shares
nfs_mount_point_base = $state_path/mnt
[root@storage ~]#
vi /etc/cinder/nfs_shares
# create new : specify NFS shared directory
nfs.srv.world:/var/lib/nfs-share
[root@storage ~]#
chmod 640 /etc/cinder/nfs_shares
[root@storage ~]#
chgrp cinder /etc/cinder/nfs_shares
[root@storage ~]#
systemctl restart openstack-cinder-volume
[root@storage ~]#
chown -R cinder. /var/lib/cinder/mnt
Domain =
srv.world
[root@node01 ~]#
systemctl start rpcbind
[root@node01 ~]#
systemctl enable rpcbind
[root@node01 ~]#
7
8
vi /etc/nova/nova.conf
# add follows in the end
[cinder]
os_region_name = RegionOne
[root@node01 ~]#
systemctl restart openstack-nova-compute
For example, create a virtual disk [disk01] with 10GB. It's OK to work on any node. (This
[4]
example is on Control Node)
# set environment variable first
[root@dlp ~(keystone)]#
echo "export OS_VOLUME_API_VERSION=2" >> ~/keystonerc
[root@dlp ~(keystone)]#
source ~/keystonerc
[root@dlp ~(keystone)]#
openstack volume create --size 10 disk01
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2017-09-07T05:51:18.957658 |
| description | None |
| encrypted | False |
| id | 9ea7ca92-5e84-4af2-816f-8fdd027f87ca |
| migration_status | None |
| multiattach | False |
| name | disk01 |
| properties | |
| replication_status | None |
| size | 10 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | None |
| updated_at | None |
| user_id | 09d8dfa20e0f40eaae448d369943b195 |
+---------------------+--------------------------------------+
[root@dlp ~(keystone)]#
openstack volume list
+--------------------------------------+--------+-----------+------+-------------+
| ID | Name | Status | Size | Attached to |
8
9
+--------------------------------------+--------+-----------+------+-------------+
| 9ea7ca92-5e84-4af2-816f-8fdd027f87ca | disk01 | available | 10 | |
+--------------------------------------+--------+-----------+------+-------------+
Attach the virtual disk to an Instance.
[5] For the exmaple below, the disk is connected as [/dev/vdb]. It's possible to use it as a storage
to create a file system on it.
[root@dlp ~(keystone)]#
openstack server list
+-----------+----------+---------+------------------------------------+---------+---
-------+
| ID | Name | Status | Networks | Image |
Flavor |
+-----------+----------+---------+------------------------------------+---------+---
-------+
| 662f62b8- | CentOS_7 | SHUTOFF | int_net=192.168.100.12, 10.0.0.201 | CentOS7 |
m1.small |
+-----------+----------+---------+------------------------------------+---------+---
-------+
[root@dlp ~(keystone)]#
openstack server add volume CentOS_7 disk01
# the status of attached disk turns [in-use] like follows
[root@dlp ~(keystone)]#
openstack volume list
+--------------------------------------+--------+--------+------+-------------------
----------------+
| ID | Name | Status | Size | Attached to
|
+--------------------------------------+--------+--------+------+-------------------
----------------+
| 9ea7ca92-5e84-4af2-816f-8fdd027f87ca | disk01 | in-use | 10 | Attached to
CentOS_7 on /dev/vdb |
+--------------------------------------+--------+--------+------+-------------------
----------------+
[root@dlp ~(keystone)]#
openstack server remove volume CentOS_7 disk01