I have recently tested ScaleIO 2.0 functionality with Openstack Cloud (Mitaka release) and would like to share it here.
Rather than describing detailed steps to install ScaleIO and OpenStack, as there are many references/documents available, I am describing the configuration and storage operations in this post.
Benefits: One can provision ScaleIO block volumes to OpenStack-managed VMs with Openstack UI or Cinder commands without learning native ScaleIO interface.
ScaleIO (Software defined, scale-out storage)
Downloaded the ScaleIO 2.0 software for Linux from ScaleIO Software Defined Block Storage | EMC. Detailed instructions on setting up ScaleIO Cluster is included in the documentation provided with download package. Here is my setup
- 3x Node Cluster consisting one Master MDM, one Slave MDM and one TieBreaker
- All three contain SDS and 1x 100GB disk from each SDS participate in 'default' storage pool under 'default' protection domain
- ScaleIO Gateway Server and GUI are running on a separate host in my environment.
Have also verified that the REST gateway is working fine which is included in the Gateway Server for ScaleIO.
With this we have a working setup of ScaleIO Cluster.
OpenStack (Open-source software platform for cloud computing, mostly deployed as an IaaS)
I have setup an OpenStack IaaS cloud. Used single node (allinone) RDO Mitaka running on CentOS 7 Linux server.
Details of the same can be found at https://www.rdoproject.org.
Created a Project 'Tenant01' and User 'User01' as a Tenant User. An instance 'Nova01' is created wihtout any Cinder volumes.
SDC is installed on the OpenStack Node (well.. all in one Node in my case) while ScaleIO drivers are already built-in from Liberty release.
Integration
Here is the typical integration diagram (from Liberty release though)
Edit the Cinder configuration file located /etc/cinder/cinder.conf to enable ScaleIO backend storage instead of default LVM
Restart Cinder Volume service.
Verify the volume logs from /var/log/cinder/volume.log file that drivers are successfully initialized.
Now let us test some of the operations related to Cinder volumes
- Create a Volume
You can see the volume logs showing ScaleIo volume is created
And verify the same from ScaleIO CLI
- Attach the Volume to an Instance
Once the volume is attached, it can be detected inside the VM as any other disk.
- Extend a Volume
Current limitation on OpenStack Cinder is that volume must be detached before it can be extended. Here are the steps via CLI
- Create, Mount/Verify (or restore required files) and Delete a snapshot
Now we have a situation where production data is missing or accidentally deleted. Let us restore the volume from the snapshot that we took
- Detach and Delete a Volume
- Copy a Bootable Image to a Volume
Cinder volume can also be used as Bootable device by storing an Image on it. Let us create a new Volume from the Image source
These are some of the basic tasks required by cloud users for daily operations.
Hope this is useful.
No comments:
Post a Comment