Earlier I had shared an article with the steps to configure ceph storage cluster in OpenStack. Now let me give you some brief overview on comparison and difference between cinder vs swift storage in OpenStack.
Let me give some brief overview and examples to explain you the difference between Cinder vs Swift Storage.
Comparison and Difference - Cinder vs Swift Storage
Cinder (Block Storage)
- Cinder is a block storage device.
- Let's suppose it has been a year since Mr. Neo started using his workstation. His daily task saves loads and loads of data onto his hard disk. Mr. Neo noticed that he would run out of his 500 GB internal hard drive space in the next few days. So, he decided to demand a new external hard drive (portable HDD) from the storage team and raised the new request for an external hard drive of 1 TB in size.
- When the storage team received the request, it will verify the token ID of Mr. Neo with the access management team to confirm that the user is authorized to receive an additional storage.
- Once the authorization is verified, the storage team will provide him with an external 1 TB hard disk.
- We all know the advantage of using the portable hard drive. Mr. Neo has the flexibility to connect and mount the external HDD permanently and use it as a secondary internal hard drive for his workstation or optionally, he could also mount the external HDD temporarily to backup all necessary files and detach the external HDD from his workstation:
- Similarly, the cinder service will do the storage team's job in OpenStack. The Cinder block storage service will take care of providing the additional disk volume to the user. Once the new disk volume is allocated to the user tenant (project), the user has the flexibility to map (attach) the volume storage to any VMs between the same project. A Cinder volume is very similar to an external HDD; you cannot attach the single cinder volume to two or more virtual machines at the same time, however we could connect the single cinder volume to any virtual machine, one at a time.
- The logical architecture diagram shows how various processes and daemons work together to perform the block storage service (Cinder) in OpenStack, and the interconnection between them:
Swift (Object storage)
- Swift is a object storage device.
- Object storage is very similar to cloud storage, such as Google Drive or Dropbox. As an end user, we can only experience the end user window of Google Drive or Dropbox for storing and retrieving the files. However, the actions carried out by the group of processes and daemons behind the end user screen to save and recover the file has very complex object storage architecture.
- The Swift service is quite different from other OpenStack services because we can configure Swift services as standalone services to provide only the object storage services to the end users, without setting IAAS features.
- For OpenStack, the Swift service is rated under the additional services, not the core one because the primary purpose of OpenStack is to provide Infrastructure-as-a-Service (IAAS) to end users. However, Swift is not a mandatory service to bring up the IAAS feature.
- As an additional service, the Swift service can be configured with other OpenStack services like Glance and Cinder for storing/retrieving the Glance images and to back up the cinder-volumes respectively.
- The following logical architecture diagram shows how various processes and daemons work together to bring up the object storage service (Swift) in OpenStack, and the interconnection between the services:
Lastly I hope the steps from the article to understand the difference and comparison between Cinder vs Swift storage in OpenStack was helpful. So, let me know your suggestions and feedback using the comment section.