OpenStack is a set of software tools for building and managing cloud computing platforms for public and private clouds.

It is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard.

Accessing SAN Storage in OpenStack

Cinder is the OpenStack component that provides access to, and manages block storage. The cinder interface specifies a number of discrete functions such as create, delete and attach volume/drive etc.

Cinder provides persistent block storage resources (volumes) to VMs. These volumes can be detached from one instance and re-attached to another.

Cinder supports drivers that allow cinder volumes to be created and presented using storage solutions from vendors. Third-party storage vendors use cinder’s plug-in architecture to do the necessary integration work.

Advantages:

  • Driver helps to create LUN and extend the storage capacity
  • Driver helps to back-up the data using backup service
  • It supports both managed/unmanaged LUN
  • It helps to clone and create volumes from a VM image

Minimum system requirement to configure OpenStack Controller

Hardware requirements:

  • Dual-core CPU
  • 2 GB RAM
  • 5 GB disk

Supported OS:

  • RHEL
  • CentOS
  • Fedora
  • Ubuntu
  • OpenSUSE
  • SUSE Linux Enterprise

Network:

  • 2 Network Interface card with 100 Mbps/1 Gbps speed

– One network for OpenStack installation

– Another network for storage to make connection with SAN

Note: OpenStack controller means it includes all the services such as nova, cinder, glance and neutron.

SAN Storage:

Need one third party storage-subsystem to configure storage with OpenStack.

Essential steps to configure SAN storage with OpenStack

Step 1

Need to setup the following property values in OpenStack cinder configuration file (/etc/cinder/cinder.conf).

i. Enable storage backend:

 

ii. Specify volume name: – to identify particular volume in storage

 

iii. Add NFS storage information and backup driver: – to backup data

 

iv. Storagebox information

 

v. Enable multipath

Note: StorageBox information and Enable multipath has to be added at the end of configuration file.

Step 2

Array Vendor’s cinder driver has to be added in below location for creating the volumes in storage

Step 3

Restart cinder services:

Note: If services are not restarted properties set won’t be effective

Tips and Tricks for trouble shooting

Serial 1: Specify network ID

Symptom:

Error (Conflict): Multiple possible networks found, use a Network ID to be more specific. (HTTP 409) (Request-ID: req-251e6d02-5358-41f7-95a4-b58c52cbc74b). Usually this error occurs only if the given name is ambiguous. It is occurred in OpenStack liberty. Network name is specified while creating the instance. It is failing due to the name given is ambiguous.

Approach to tackle the symptom:

Affected version: Liberty – Instance is created using network name. Usually this error occurs only if the given name is ambiguous.

Fixed version: Mitaka – Instance is created using network id.

Issue got fixed in Mitaka which is next release of openstack liberty.

To solve the issue, we need specify net id while creating instance.

Steps:

  1. Login to OpenStack controller node using putty
  2. List all the volume which are created in OpenStack controller node

 

3. List available networks in OpenStack controller node.

4. Create instance using net-id and volume id.

Bug: https://bugs.launchpad.net/python-novaclient/+bug/1569840

Serial 2: Specify multipath in cinder file

Symptom:

Approach to tackle the symptom:

To rectify this issue, need to add below line at end of the cinder.conf.

Serial 3: Specify pool name in cinder file

Symptom:

Approach to tackle the symptom:

Need to specify pool name in end of the cinder.config.
ventor_pool_name= pool name

Serial 4: Specify OpenStack controller IP

Symptom:
Unable to connect to OpenStack instance console using VNC using OpenStack Horizon
Error Message: Failed to connect to server (code 1006)
Environment: OpenStack RDO Juno, CentOS7

Approach to tackle the symptom:

You need to update vncserver_proxyclient_address with the OpenStack controller IP address OR novavncproxy_base_url IP address in the nova.conf(/etc/nova/nova.conf)

vncserver_proxyclient_address=openstack controller IP address
then restart you compute service
/etc/init.d/openstack-nova-compute restart

Serial 5: Specify nfs driver in cinder config

Symptom:

Approach to tackle the symptom:

To rectify this issue, need to specify nfs driver in the cinder.conf file:

Serial 6: Grant permission to backup volume in nfs server

Symptom:

Approach to tackle the symptom: