After 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 Chapter 2, Basic operating system configuration 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/hostsfile on each system.Follow the instructions in the section called “Network Time Protocol (NTP)” to synchronize from the controller node.
Install the required LVM packages, if they are not already installed:
# apt-get install lvm2
Create the LVM physical and logical volumes. This guide assumes a second disk
/dev/sdbthat is used for this purpose:# pvcreate /dev/sdb # vgcreate cinder-volumes /dev/sdb
Add a filter entry to the devices section
/etc/lvm/lvm.confto keep LVM from scanning devices used by virtual machines:![[Note]](../common/images/admon/note.png)
Note You must add required physical volumes for LVM on the Block Storage host. Run the pvdisplay command to get a list or required volumes.
Each item in the filter array starts with either an
afor accept, or anrfor reject. The physical volumes that are required on the Block Storage host have names that begin witha. The array must end with "r/.*/" to reject any device not listed.In this example,
/dev/sda1is the volume where the volumes for the operating system for the node reside, while/dev/sdbis the volume reserved forcinder-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
Copy the
/etc/cinder/api-paste.inifile 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=
controllerauth_port = 35357 auth_protocol = http admin_tenant_name=service admin_user=cinder admin_password=CINDER_PASSConfigure Block Storage to use the RabbitMQ message broker by setting these configuration keys in the
[DEFAULT]configuration group of the/etc/cinder/cinder.conffile. ReplaceRABBIT_PASSwith the password you chose for RabbitMQ.[DEFAULT] ... rpc_backend = cinder.openstack.common.rpc.impl_kombu rabbit_host =
controllerrabbit_port = 5672 rabbit_userid = guest rabbit_password =RABBIT_PASSConfigure Block Storage to use your MySQL database. Edit the
/etc/cinder/cinder.conffile and add the following key under the[database]section. ReplaceCINDER_DBPASSwith the password you chose for the Block Storage database.![[Note]](../common/images/admon/note.png)
Note The
/etc/cinder/cinder.conffile packaged with some distributions does not include the[database]section header. You must add this section header to the end of the file before proceeding further.[database] ... connection = mysql://cinder:
CINDER_DBPASS@controller/cinderRestart the cinder service with its new settings:
# service cinder-volume restart # service tgt restart

