Files
openstack-manuals/doc/install-guide/section_cinder-node.xml
Joseph Robinson 6abfd37708 Installation Guide XML IDs change
Changing the XML IDs of several chapters in the installation
guide for consistency, and to match the section title, which
follows conventions. Minor subjective edits also included.

Change-Id: Id33aa27ef2027ac13f129c3bae150492b4bbfa13
backport:none
Implements: blueprint installation-guide-improvements
Co-Authored-By: Matt Kassawara <mkassawara@gmail.com>
2014-09-15 14:19:22 +10:00

232 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="cinder-install-storage-node">
<?dbhtml stop-chunking?>
<title>Configure a Block Storage service node</title>
<para>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.</para>
<para>You can configure OpenStack to use various storage systems.
This example uses LVM.</para>
<procedure>
<step>
<para>Use the instructions in <xref linkend="ch_basic_environment"/> to
configure the system. Note the following differences from the
installation instructions for the controller node:</para>
<itemizedlist>
<listitem>
<para>Set the host name to <literal>block1</literal> and use
<literal>10.0.0.41</literal> as IP address on the management
network interface. Ensure that the IP addresses and host
names for both controller node and Block Storage service
node are listed in the <filename>/etc/hosts</filename> file
on each system.</para>
</listitem>
<listitem>
<para>Follow the instructions in <xref linkend="basics-ntp"
/> to synchronize from the controller node.</para>
</listitem>
</itemizedlist>
</step>
<step os="ubuntu">
<para>Install the required LVM packages, if they are not already
installed:</para>
<screen><prompt>#</prompt> <userinput>apt-get install lvm2</userinput></screen>
</step>
<step>
<para>Create the LVM physical volume and volume group. This guide
assumes a second disk <literal>/dev/sdb</literal> that is used
for this purpose:</para>
<screen><prompt>#</prompt> <userinput>pvcreate /dev/sdb</userinput>
<prompt>#</prompt> <userinput>vgcreate cinder-volumes /dev/sdb</userinput></screen>
</step>
<step>
<para>Add a filter entry to the <literal>devices</literal>
section in the <filename>/etc/lvm/lvm.conf</filename> file to
keep LVM from scanning devices used by virtual
machines:</para>
<programlisting>devices {
...
filter = [ "a/sda1/", "a/sdb/", "r/.*/"]
...
}</programlisting>
<note>
<para>You must add required physical volumes for LVM on the
Block Storage host. Run the <command>pvdisplay</command>
command to get a list or required volumes.</para>
</note>
<para>Each item in the filter array starts with either an
<literal>a</literal> for accept, or an <literal>r</literal>
for reject. The physical volumes that are required on the
Block Storage host have names that begin with
<literal>a</literal>. The array must end with
"<literal>r/.*/</literal>" to reject any device not
listed.</para>
<para>In this example, <literal>/dev/sda1</literal> is the
volume where the volumes for the operating system for the node
reside, while <literal>/dev/sdb</literal> is the volume
reserved for <literal>cinder-volumes</literal>.</para>
</step>
<step>
<para>After you configure the operating system, install the
appropriate packages for the Block Storage service:</para>
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install cinder-volume</userinput></screen>
<screen os="centos;rhel;fedora"><prompt>#</prompt> <userinput>yum install openstack-cinder-volume targetcli</userinput></screen>
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-cinder-volume tgt</userinput></screen>
</step>
<step os="fedora;rhel;centos">
<para>Start and enable the target service.</para>
<screen><prompt>#</prompt> <userinput>service target start</userinput>
<prompt>#</prompt> <userinput>chkconfig target on</userinput></screen>
</step>
<step os="debian">
<para>Respond to the <systemitem class="library"
>debconf</systemitem> prompts about the <link
linkend="debconf-dbconfig-common">database
management</link>, <link linkend="debconf-keystone_authtoken"
><literal>[keystone_authtoken]</literal> settings</link>,
and <link linkend="debconf-rabbitmq">RabbitMQ
credentials</link>. Make sure to enter the same details as
you did for your Block Storage service controller node.</para>
<para>Another screen prompts you for the <systemitem
class="library">volume-group</systemitem> to use. The Debian
package configuration script detects every active volume group
and tries to use the first one it sees, provided that the
<systemitem class="library">lvm2</systemitem> package was
installed before Block Storage. This should be the case if you
configured the volume group first, as this guide recommends.</para>
<para>If you have only one active volume group on your Block
Storage service node, you do not need to manually enter its
name when you install the <systemitem class="service"
>cinder-volume</systemitem> package because it is detected
automatically. If no <systemitem class="library"
>volume-group</systemitem> is available when you install
<systemitem class="service">cinder-common</systemitem>, you
must use <command>dpkg-reconfigure</command> to manually
configure or re-configure <systemitem class="service"
>cinder-common</systemitem>.</para>
</step>
<step os="fedora;rhel;centos;opensuse;sles;ubuntu">
<para os="fedora;rhel;centos;opensuse;sles">Copy the
<filename>/etc/cinder/cinder.conf</filename> configuration
file from the controller, or perform the following steps to
set the keystone credentials:</para>
<screen os="fedora;rhel;centos;opensuse;sles"><prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf DEFAULT \
auth_strategy keystone</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_uri http://<replaceable>controller</replaceable>:5000</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_host <replaceable>controller</replaceable></userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_protocol http</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
auth_port 35357</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_user cinder</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_tenant_name service</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf keystone_authtoken \
admin_password <replaceable>CINDER_PASS</replaceable></userinput></screen>
<para os="ubuntu">Edit the
<filename>/etc/cinder/cinder.conf</filename> configuration
file and add this section for keystone credentials:</para>
<programlisting os="ubuntu" language="ini">...
[keystone_authtoken]
auth_uri = http://<replaceable>controller</replaceable>:5000
auth_host = <replaceable>controller</replaceable>
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = cinder
admin_password = <replaceable>CINDER_PASS</replaceable></programlisting>
</step>
<step os="fedora;rhel;centos">
<para>Configure Block Storage to use the lioadm iscsi_helper:</para>
<screen os="fedora;rhel;centos">
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
DEFAULT iscsi_helper lioadm</userinput></screen>
</step>
<step os="ubuntu">
<para>Configure Block Storage to use the RabbitMQ message
broker.</para>
<para>In the <literal>[DEFAULT]</literal> configuration section
of the <filename>/etc/cinder/cinder.conf</filename> file, set
these configuration keys and replace
<replaceable>RABBIT_PASS</replaceable> with the password you
chose for RabbitMQ:</para>
<programlisting language="ini">[DEFAULT]
...
rpc_backend = cinder.openstack.common.rpc.impl_kombu
rabbit_host = <replaceable>controller</replaceable>
rabbit_port = 5672
rabbit_userid = guest
rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
</step>
<step os="sles;opensuse;rhel;centos;fedora">
<para>Configure Block Storage to use the RabbitMQ message
broker. Replace <replaceable>RABBIT_PASS</replaceable> with
the password you chose for RabbitMQ:</para>
<screen><prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rpc_backend cinder.openstack.common.rpc.impl_kombu</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rabbit_host <replaceable>controller</replaceable></userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rabbit_port 5672</userinput>
<prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
DEFAULT rabbit_password <replaceable>RABBIT_PASS</replaceable></userinput></screen>
</step>
<step os="ubuntu;rhel;centos;fedora;opensuse;sles">
<para>Configure Block Storage to use your MySQL database. Edit
the <filename>/etc/cinder/cinder.conf</filename> file and add
the following key to the <literal>[database]</literal>
section. Replace <replaceable>CINDER_DBPASS</replaceable> with
the password you chose for the Block Storage database:</para>
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
database connection mysql://cinder:<replaceable>CINDER_DBPASS</replaceable>@<replaceable>controller</replaceable>/cinder</userinput></screen>
<programlisting os="ubuntu" language="ini">[database]
...
connection = mysql://cinder:<replaceable>CINDER_DBPASS</replaceable>@<replaceable>controller</replaceable>/cinder</programlisting>
<note os="ubuntu">
<para>In some distributions, the
<filename>/etc/cinder/cinder.conf</filename> file does not
include the <literal>[database]</literal> section header.
You must add this section header to the end of the file
before you proceed.</para>
</note>
</step>
<step>
<para>Configure Block Storage to use the Image Service. Block Storage
needs access to images to create bootable volumes. Edit the
<filename>/etc/cinder/cinder.conf</filename> file and update the
<option>glance_host</option> option in the <literal>[DEFAULT]</literal>
section:</para>
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>openstack-config --set /etc/cinder/cinder.conf \
DEFAULT glance_host <replaceable>controller</replaceable></userinput></screen>
<programlisting os="ubuntu;debian" language="ini">[DEFAULT]
...
glance_host = <replaceable>controller</replaceable></programlisting>
</step>
<step os="ubuntu">
<para>Restart the Block Storage services with the new
settings:</para>
<screen><prompt>#</prompt> <userinput>service cinder-volume restart</userinput>
<prompt>#</prompt> <userinput>service tgt restart</userinput></screen>
</step>
<step os="opensuse;sles">
<para>Start and configure the Block Storage services to start
when the system boots:</para>
<screen><prompt>#</prompt> <userinput>service tgtd start</userinput>
<prompt>#</prompt> <userinput>chkconfig tgtd on</userinput></screen>
</step>
<step os="rhel;centos;fedora;opensuse;sles">
<para>Start and configure the cinder volume service to start
when the system boots:</para>
<screen><prompt>#</prompt> <userinput>chkconfig openstack-cinder-volume on</userinput>
<prompt>#</prompt> <userinput>service openstack-cinder-volume start</userinput></screen>
</step>
</procedure>
</section>