Revision history [back]

click to hide/show revision 1
initial version

Only the first backend used can create volumes

Hello,

My OpenStack install is fresh, no instances running. I am tinkering with Cinder. Whenever I create a first volume, it succeeds. However, any volume that would be on a different Physical Volume than the first volume fails to be created. Deleting all of the volumes allows me to successfully use the other backend.

Here's all the background I can think of.

I have two physical volumes on my server: hostname, which is /dev/sda5, and cinder-volumes, /dev/sdb. Both are whole disk PVs. (The hostname PV is partitioned because it is the boot drive.) To match this in Cinder, I have two types of volume: SSD and HDD. Each has its own backend-- Here's my /etc/cinder/cinder.conf:

[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
sql_connection = mysql://cinderUser:cinderPass@10.0.0.1/cinder
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = ietadm
volume_name_template = volume-%s
#volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes

# a list of backends that will be served by this machine
enabled_backends=lvmdriver-1,lvmdriver-2

[lvmdriver-1]
volume_group=cinder-volumes
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM_HDD
iscsci_helper = ietadm
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes

[lvmdriver-2]
volume_group=hostname
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM_SSD
iscsci_helper = ietadm
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes

(It's a little redundant because I've been messing with it.)

According to instructions in this article: http://docs.openstack.org/trunk/openstack-block-storage/admin/content/multi_backend.html I set up SSD and HDD to refer to the separate disk's PVs:

+--------------------------------------+------+--------------------------------------+
|                  ID                  | Name |             extra_specs              |
+--------------------------------------+------+--------------------------------------+
| 6ce291a3-568e-456b-af8b-bc0306f20570 | HDD  | {u'volume_backend_name': u'LVM_HDD'} |
| b531757b-fc8c-410b-bc99-2178b7ab5f64 | SSD  | {u'volume_backend_name': u'LVM_SSD'} |
+--------------------------------------+------+--------------------------------------+

So I can successfully put an openstack volume onto whichever volume group I choose, but I can only ever have volumes on one at a time, which isn't fun.

Any leads on how to correct this would be greatly appreciated.

Only the first backend used can create volumes

Hello,

My OpenStack install is fresh, no instances running. I am tinkering with Cinder. Whenever I create a first volume, it succeeds. However, any volume that would be on a different Physical Volume than the first volume fails to be created. Deleting all of the volumes allows me to successfully use the other backend.

Here's all the background I can think of.

I have two physical volumes on my server: hostname, which is /dev/sda5, and cinder-volumes, /dev/sdb. Both are whole disk PVs. (The hostname PV is partitioned because it is the boot drive.) To match this in Cinder, I have two types of volume: SSD and HDD. Each has its own backend-- Here's my /etc/cinder/cinder.conf:

[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
sql_connection = mysql://cinderUser:cinderPass@10.0.0.1/cinder
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = ietadm
volume_name_template = volume-%s
#volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes

# a list of backends that will be served by this machine
enabled_backends=lvmdriver-1,lvmdriver-2

[lvmdriver-1]
volume_group=cinder-volumes
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM_HDD
iscsci_helper = ietadm
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes

[lvmdriver-2]
volume_group=hostname
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM_SSD
iscsci_helper = ietadm
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes

(It's a little redundant because I've been messing with it.)

According to instructions in this article: http://docs.openstack.org/trunk/openstack-block-storage/admin/content/multi_backend.html I set up SSD and HDD to refer to the separate disk's PVs:

+--------------------------------------+------+--------------------------------------+
|                  ID                  | Name |             extra_specs              |
+--------------------------------------+------+--------------------------------------+
| 6ce291a3-568e-456b-af8b-bc0306f20570 | HDD  | {u'volume_backend_name': u'LVM_HDD'} |
| b531757b-fc8c-410b-bc99-2178b7ab5f64 | SSD  | {u'volume_backend_name': u'LVM_SSD'} |
+--------------------------------------+------+--------------------------------------+

So I can successfully put an openstack volume onto whichever volume group I choose, but I can only ever have volumes on one at a time, which isn't fun.

Any leads on how to correct this would be greatly appreciated.