1. What are cinder and SWIFT used for?
Cinder is a block storage device used to attach an expansion disk to a VM. That is, a volume created in Cinder is attached to a VM. Cinder is OpenStack VERSION F. Some nova-volume persistent block storage functions in Nova are separated from Cinder as a new component.
Swift is a system that can be uploaded and downloaded and typically stores infrequently modified content, such as VM images, backups and archiving, and smaller files, such as photos and email messages. More inclined to systematic management
Block storage features security, reliability, high concurrency, high throughput, low latency, diversified specifications, and easy to use. It is suitable for file systems, databases, and other system software or applications that require original block devices.
The above may not be intuitive, but I think cinder can be understood as a portable hard disk on a PERSONAL computer, which can be formatted and accessed at will. Swift can be regarded as a network disk, I believe that for the students of cloud technology, network disk should be not strange, we put some content in a unified network disk storage, easy to manage.
2. How to choose Swift and Cinder?
So which object storage should you use: Swift or Cinder? The answer depends on your application. If you need to run commercial or legacy applications, you rarely need to make this choice. These applications cannot be coded to take advantage of the Swift API, but you can easily mount a Cinder disk that behaves as if it were directly attaching storage to most applications. Of course, you can also use Cinder for new applications, but you won’t benefit from the flexibility and redundancy that comes with Swift automation. Swift’s distributed extensible architecture is a feature worth considering if programmers face such challenges.
3. Single point of failure
The Swift architecture is distributed, preventing all single points of failure and scaling horizontally. A single point of failure exists in the Cinder service
A brief introduction to Cinder and Swift
Block storage (Cinder)
Cinder is the name of an OpenStack Block Storage project. It provides persistent block storage for virtual machines (VMS). Block storage is often required for scalable file systems, maximum performance, integration with enterprise storage services, and applications that need access to native block-level storage. The system can expose and connect devices, and then manage the creation, attachment to, and detach of servers. Application programming interfaces (apis) also help enhance snapshot management, which can back up large blocks of storage.
For the API documentation of Cinder, see docs.openstack.org/api-ref/blo…
Object storage (Swift) Swift is the more mature of the two products: it has been a core project since the inception of OpenStack. Swift functions like a distributed, API-accessible storage platform that can be integrated directly into applications or used to store VM images, backups and archiving, and smaller files, such as photos and E-mail messages.
The Object Store has two main concepts: objects and containers.
Similar to a Windows folder, a container is a repository for storing a set of files. Containers cannot be nested, but a tenant can create an unlimited number of containers. Objects must be stored in containers, so you must have at least one container to use object storage.
An object is the primary storage entity. Object contains content related to files stored in the OpenStack Object Storage system and all optional metadata. The data is stored in an uncompressed, unencrypted format, containing all metadata in the form of the object name, the object’s container, and key-value pairs. Objects are distributed across multiple disks throughout the data center, allowing Swift to ensure data replication and integrity. Distributed operations can leverage low-cost commercial hardware while enhancing scalability, redundancy, and persistence.
Unlike traditional file servers, Swift is distributed across multiple systems. It automatically stores redundant copies of each object to maximize availability and extensibility. Object versioning provides additional protection against accidental loss or overwriting of data.
For the API documentation of Cinder, see docs.openstack.org/api-ref/obj…