Configure a Block Storage Service node

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.

  1. 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:

  2. Install the required LVM packages, if they are not already installed:

    # apt-get install lvm2

  3. 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/sdb
  4. Add a filter entry to the devices section /etc/lvm/lvm.conf to keep LVM from scanning devices used by virtual machines:

    [Note]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 a for accept, or an r for reject. The physical volumes that are required on the Block Storage host have names that 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/.*/"]
    ...
    }
  5. After you configure the operating system, install the appropriate packages for the Block Storage Service:

    # apt-get install cinder-volume
  6. 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_PASS
  7. Configure Block Storage to use the RabbitMQ message broker by setting these configuration keys in the [DEFAULT] configuration group of the /etc/cinder/cinder.conf file. Replace RABBIT_PASS with the password you chose for RabbitMQ.

    [DEFAULT]
    ...
    rpc_backend = cinder.openstack.common.rpc.impl_kombu
    rabbit_host = controller
    rabbit_port = 5672
    rabbit_userid = guest
    rabbit_password = RABBIT_PASS
  8. Configure Block Storage to use your MySQL database. Edit the /etc/cinder/cinder.conf file and add the following key under the [database] section. Replace CINDER_DBPASS with the password you chose for the Block Storage database.

    [Note]Note

    The /etc/cinder/cinder.conf file 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/cinder
  9. Restart the cinder service with its new settings:

    # service cinder-volume restart
    # service tgt restart
Log a bug against this page


loading table of contents...