The default OpenStack Block Storage service implementation is an iSCSI solution that uses Logical Volume Manager (LVM) for Linux.
Note | |
---|---|
The OpenStack Block Storage service is not a shared storage solution like a Storage Area Network (SAN) of NFS volumes, where you can attach a volume to multiple servers. With the OpenStack Block Storage service, you can attach a volume to only one instance at a time. The OpenStack Block Storage service also provides drivers that enable you to use several vendors' back-end storage devices, in addition to or instead of the base LVM implementation. |
This high-level procedure shows you how to create and attach a volume to a server instance.
You must configure both OpenStack Compute and the OpenStack Block Storage service through the
cinder.conf
file.Create a volume through the cinder create command. This command creates an LV into the volume group (VG)
cinder-volumes
.Attach the volume to an instance through the nova volume-attach command. This command creates a unique iSCSI IQN that is exposed to the compute node.
The compute node, which runs the instance, now has an active ISCSI session and new local storage (usually a
/dev/sdX
disk).libvirt uses that local storage as storage for the instance. The instance gets a new disk (usually a
/dev/vdX
disk).
For this particular walk through, one cloud controller
runs nova-api
,
nova-scheduler
, nova-objectstore
,
nova-network
and
cinder-*
services. Two additional
compute nodes run nova-compute
. The walk through uses a
custom partitioning scheme that carves out 60 GB of space
and labels it as LVM. The network uses the
FlatManager
and
NetworkManager
settings for
OpenStack Compute (Nova).
The network mode does not interfere with the way cinder works, but you must set up networking for cinder to work. For details, see Chapter 7, Networking.
To set up Compute to use volumes, ensure that Block Storage is installed along with lvm2. This guide describes how to troubleshoot your installation and back up your Compute volumes.