Block Storage (Cinder) : Highly Available Recoverable Fault-Tolerant
Block Storage (Cinder) : Highly Available Recoverable Fault-Tolerant
This works in the traditional way of attaching and detaching an external hard drive to
the OS for its local use. Cinder manages to add, remove, create new disk space in the
server. This component provides the virtual storage for the VMs in the system.
Conceptually, Cinder is similar in function to the EBS (Elastic Block Storage).
Without needing to think about costly physical storage systems or servers, Cinder users
are able to reduce and expand their storage space significantly. In addition, by allowing
users to use one code for each operation, Cinder simplifies code management. With
reliability and ease of usage, Cinder can handle all the provisioning and eliminate
consumers' needs.
o Highly Available
o Recoverable
o Fault-Tolerant
o Component-based architecture
o Open Standards
Cinder Components
For longevity, availability, and competitiveness, it is scalable and optimized. For storing
unconstrained, redundant data, Swift is ideal. Since this is an object storage service,
Swift enables an API-accessible storage option that can be used around the cluster for
backups, data retention, or archives that are redundant.
Object Storage components are divided into the following key groups :
o Proxy Services
o Auth Services
o Storage Services
o Account Service
o Container Service
o Objective Service
Let's see an example diagram for the OpenStack Object Storage :
Usually, Manila is deployed with other OpenStack resources, such as Compute, Image
or Object Storage.
o Highly Available
o Recoverable
o Open-Standards
o Fault-tolerant
o Component-based architecture
manila-api: It is an application for the Web Server Gateway Interface (WSGI), which
verifies and guides requests via the shared file system service and also offers support
to the OpenStack API.
manila-data: This service receives the requests, processes the data operations with
long running times such as backup, copying, or share migration.
manila-scheduler: This service schedules and routes the requests to the shared file
system services. To route requests, the scheduler follows configurable filters and
weighers. The Filter Scheduler is the default and allows filters on items such as
Availability Zones, Capacity, Capabilities, and Share Types. Manila-scheduler also
allows custom filters.
manila-share: This service manages back-end systems in which have a shared file
system. A manila-share service is capable of running in 1 of 2 modes, with or without
the managing of shared servers.
The shared file system (Manila) contains the following set of components :
Networking (Neutron)
This component is used for networking in OpenStack. Neutron manages all the
network-related queries, such as IP address management, routers, subnets, firewalls,
VPNs, etc. It confirms that all the other components are connected properly with the
OpenStack.
Networking has a service on the controller node, called the neutron server, including
a lot of agents and plugins that use a messaging queue to communicate with each
other. You can select the various agents you want to use, dependent on the type of
operation.
o VMware NSX
o Cisco switches (NX-OS)
o Ryu network OS
o NEC OpenFlow
o Open vSwitch
o PLUMgrid Director plugin
o Linux bridging
o OpenDaylight plugin
o Juniper OpenContrail
o Midokura Midonet plugin
Neutron Architecture
The neutron architecture is very simple. It is fully based on agents and plugins.
Nova (Compute)
Nova is one of the most common and important components of OpenStack. Compute
is a controller that is used to handle virtualized environments' resources. It handles
several virtual machines and other instances that perform computing tasks.
Nova is written in Python language. VMware, Xen, and KVM are the hypervisor
technologies that could be used, and this choice is contingent on OpenStack's version.
Functionality :
o The Nova-api processes the requests and responses to and from the end-user.
o When a request is submitted, the Nova generates and removes the instances.
o The Nova-scheduler schedules nova-compute jobs.
o The Glace Registry, along with its metadata, stores the image information.
o The Image stores predefined images for the user or admin.
o The nova-network assures connectivity and routing of the network.