Deep Dive with Openstack Cinder

As you know openstack Cinder  project  is completely dealing  with block storage service

Cinder  The Block Storage  Project  


OpenStack Cinder

i)  Cinder allows you to give block level storage to your
OpenStack Compute instances.
– Extra block device or boot-from-volume device
– Storage Access Network (SAN)
– Amazon EBS

ii)  The basic Cinder usage is iSCSI-exposed LVM volumes.
      Two basic default components
      • lvm2

      • open-iscsi/iscsi-target

Note:    Cinder  provide unified  storage including Ceph, NetApp, Nexenta, SolidFire and Zadara.
=====

DeployMent  of  Cinder  Services in Openstack Cloud 

---------------------------------------------------------------------

Cinder  Services  and Component

-------------------------------------------



i)  cinder-api

Authenticates and routes requests throughout the block storage system.

ii)  cinder-scheduler

Scheduling/routing volume create requests to the appropriate
volume service.

iii)   cinder-volume

Managing block storage devices, specifically the back-end devices themselves.

iv)   Messaging queue: 

Routes information between Block Storage Service processes.


v)   cinder-backup

Provides a means to back up a Cinder Volume to various backup targets.


Prerequisites for OpenStack Cinder LVM Block Storage

The hypervisor that you choose to have Cinder role installed must have a logical volume group named  “cinder-volumes”.

To create a new volume group if you do not have one, you will either need a free partition or you can use a separate hard drive/SSD for this.

Assuming /dev/sdb is the partition you want to use for Cinder LVM integration, run the following commands to create the new volume group:

root@xperts:~#  pvcreate /dev/sdb1

root@xperts:~#  vgcreate cinder-volumes /dev/sdb1



Cinder_Integration_LVM
Integration LVM With Platform9 via Cinder Block Storage Integration

Once the required volume group is created, follow the generic Cinder tutorial to assign the Cinder role to appropriate hypervisor/host and select the LVM driver as part of the block storage configuration.

That’s it! Your Cinder integration with your local LVM is done. You should now be able to start creating volumes and snapshots leveraging your local LVM.


---------------------


Cinder Deployment

Ubuntu 16.04

• Package

–apt-get install cinder-api cinder-scheduler cinder-volume open-iscsi pythoncinderclient
tgt

• Configuration file:

– /etc/cinder/api-paste.init, /etc/cinder/cinder.conf, /etc/nova/nova.conf,
/etc/nova/nova-compute.conf
• Create storage space: (iSCSI-exposed LVM)

– LVM partition with VG name = ‘cinder-volumes’

• Services

– sudo service cinder-volume restart
– sudo service cinder-api restart
– sudo service cinder-scheduler rest



Important  you can manage service  according  to your os or plateform


==================

Volume Operations

• Create/Delete volume
• Create volume from snapshot
• Clone volume
• Create volume from image
• Copy image to volume
• Create/Delete snapshot
• Attach/Detach volume


Usage by Example
  
Creating  a  Cinder  Volume
 
root@xperts:~#   cinder create --display_name test 1

root@xperts:~#    cinder list
+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+
| ID | Status | Display Name | Size | Volume Type | Attached to |
+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+
| 81c8c61c-4889-423e-a9f4-05663b1e4b48 | available | test | 1 | None | |
+--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+

Attaching  a  Cinder  Volume :
 
root@xperts:~#  nova volume-attach  vmname  81c8c61c-4889-423e-a9f4-05663b1e4b48 /dev/vdb

Note:   here  /dev/vdb  is name which will be shown to client

OR :

root@xperts:~#  nova volume-attach  vmname  81c8c61c-4889-423e-a9f4-05663b1e4b48 auto
Extend  Volume :

root@xperts:~#  Cinder  extend   81c8c61c-4889-423e-a9f4-05663b1e4b48   5

 Note:   here  5  is  size  in GB

Volume Detach :-
 

root@xperts:~#   nova volume-detach vm1 81c8c61c-4889-423e-a9f4-05663b1e4b48


root@xperts:~#    cinder delete 81c8c61c-4889-423e-a9f4-05663b1e4b48


==========






Comments

  1. Wow I found this blog very helpful. This blog provide clear steps required to install and configure storage nodes for the OpenStack block storage cinder. Thanks for sharing

    ReplyDelete

Post a Comment