Configure a Block Storage Service nodeAfter you configure the services on the controller node,
configure a second system to be a Block Storage Service node. This
node contains the disk that serves volumes.You can configure OpenStack to use various storage systems.
The examples in this guide show you how to configure LVM.Use the instructions in to
configure the system. Note the following differences from the
installation instructions for the controller node:Set the host name to block1. Ensure
that the IP addresses and host names for both nodes are
listed in the /etc/hosts file on each
system.Follow the instructions in to synchronize from the controller node.Create the
LVM physical and logical volumes. This guide assumes a second
disk /dev/sdb that is used for this
purpose.#pvcreate /dev/sdb#vgcreate cinder-volumes /dev/sdbAdd a filter entry to the devices section
/etc/lvm/lvm.conf to keep LVM from
scanning devices used by virtual machines.You must add required physical volumes for LVM on the
Cinder host. Run the pvdisplay command to
get a list or required volumes.Each item in the filter array starts with either an
"a" for accept, or an
"r" for reject. Physical volumes that are
needed on the Cinder host begin with "a".
The array must end with "r/.*/" to reject
any device not listed.In this example, /dev/sda1 is the
volume where the volumes for the operating system for the node
reside, while /dev/sdb is the volume
reserved for cinder-volumes.devices {
...
filter = [ "a/sda1/", "a/sdb/", "r/.*/"]
...
}After you configure the operating system, install the
appropriate packages for the Block Storage Service.#apt-get install cinder-volume lvm2#yum install openstack-cinder openstack-utils openstack-selinux#zypper install openstack-cinder-volumeRespond to the debconf prompts about the database
management, [keystone_authtoken] settings,
and RabbitMQ
credentials. Make sure to enter the same details as
for your Block Storage Service controller node.Another screen prompts you for the volume-group to use. The Debian
package configuration script detects every active volume
group, provided that the lvm2 package is installed before Cinder (this
should be the case if you configured the volume group first,
as this guide recommends), and tries to use the first one it
sees. If you have only one active volume group on your Block
Storage Service node, you need not manually enter its name in
when you install the cinder-volume package because it is detected
automatically. If no volume-group is available when you install
cinder-common, you
must manually configure or re-configure cinder-common by using
dpkg-reconfigure.Copy the /etc/cinder/api-paste.ini
file from the controller, or open the file in a text editor
and locate the section [filter:authtoken].
Make sure the following options are set:[filter:authtoken]
paste.filter_factory=keystoneclient.middleware.auth_token:filter_factory
auth_host=controller
auth_port = 35357
auth_protocol = http
admin_tenant_name=service
admin_user=cinder
admin_password=CINDER_PASSConfigure the Block Storage Service to use the
RabbitMQ message broker by setting the following configuration
keys. They are found in the DEFAULT
configuration group of the
/etc/cinder/cinder.conf file.rpc_backend = cinder.openstack.common.rpc.impl_kombu
rabbit_host = controller
rabbit_port = 5672
# Change the following settings if you're not using the default RabbitMQ configuration
#rabbit_userid = guest
#rabbit_password = guest
#rabbit_virtual_host = /novaConfigure the Block Storage
Service to use Qpid as the message broker.#openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rpc_backend cinder.openstack.common.rpc.impl_qpid#openstack-config --set /etc/cinder/cinder.conf \
DEFAULT qpid_hostname controllerConfigure the Block Storage Service to
use the RabbitMQ message broker.#openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rpc_backend cinder.openstack.common.rpc.impl_kombu#openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rabbit_host controller#openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rabbit_port 5672Configure the Block Storage Service on this node to use
the cinder database on the controller node.#openstack-config --set /etc/cinder/cinder.conf \
database connection mysql://cinder:CINDER_DBPASS@controller/cinderEdit
/etc/cinder/cinder.conf and change the
[database] section.[database]
...
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mysql://cinder:CINDER_DBPASS@controller/cinder
...Restart the cinder service with its new settings.#service cinder-volume restart#service tgt restartConfigure the ISCI target service to discover cinder
volumes. Add the following line to the beginning of the
/etc/tgt/targets.conf file, if it is
not already present:include /etc/cinder/volumes/*Start the cinder services and configure them to start when
the system boots.#service openstack-cinder-volume start#service tgtd start#chkconfig openstack-cinder-volume on#chkconfig tgtd on