Cinder System Architecture --- Cinder 系统架构

在OpenStack Essex发布后,Cinder作为一个独立的服务引入,专门负责存储管理逻辑,与Nova分离。Cinder提供RESTful接口,用于处理用户请求,并支持多种存储后端,如IBM Storwize V7000、NetApp ONTAP等。它还提供了一系列功能,如从映像创建可启动卷、多卷后端支持等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cinder架构分析

The Cinder Block Storage Service is intended to be ran on one or more nodes. 

Cinder uses a sql-based central database that is shared by all Cinder services in the system. The amount and depth of the data fits into a sql database quite well. For small deployments this seems like an optimal solution. For larger deployments, and especially if security is a concern, cinder will be moving towards multiple data stores with some kind of aggregation system.


Components

主要组件图

                                                 /- ( LDAP )
                             [ Auth Manager ] ---
                                    |            \- ( DB )
                                    |
                                    |
                   cinderclient     |
                  /             \   |
[ Web Dashboard ]-               -[ api ] -- < AMQP > -- [ scheduler ] -- [ volume ] -- ( iSCSI )
                  \             /   |
                   novaclient       |
                                    |
                                    |
                                    |
                                 < REST >
  • DB: sql database for data storage. Used by all components (LINKS NOT SHOWN)
  • Web Dashboard: potential external component that talks to the api
  • api: component that receives http requests, converts commands and communicates with other components via the queue or http
  • Auth Manager: component responsible for users/projects/and roles. Can backend to DB or LDAP. This is not a separate binary, but rather a python class that is used by most components in the system.
  • scheduler: decides which host gets each volume
  • volume: manages dynamically attachable block devices.



Introduction

After the April Essex release, there’s big change in planned for OpenStack‘s volume management; it is now called Cinder.

Cinder is a new service for OpenStack, one that separates storage management logic. Until now, in the Essex release, this logic was a part of Nova, and was called the nova-volume component. But, as often happen in software, logical interdependencies between components within Nova became more and more complex, so the project developers decided to make storage management logic separate from Nova and create Cinder.

In fact, this is one of the first instances  of OpenStack’s recent development policy of breaking all Nova components into smaller building blocks. Nova had become a bulky piece of software;  development in one area was too often contingent on knowledge of others. By decoupling Nova into smaller chunks and interfacing them, developers can focus on developing these chunks as long as they provide the proper API for other services to plug in. This allows a better focus on different areas of OpenStack.

OpenStack Cinder: feature list

For Cinder, the separation from Nova is mainly organizational in nature—the project is now literally a copy-paste version of old nova-volume code with a separate database. The main goal for Cinder in the Folsom release is to provide the same API and features as in the current nova-volume, plus prepare for further focused work on the topic  in future releases.

The bottom line is: in Folsom we are just getting our old buddy nova-volume; at the same time, the developers managed to put some cool new features in this release and also lay some groundwork for the future:

  • “volumes from images” — this feature is addressed in the following two blueprints accepted for Folsom: creating volumes from images and efficient volumes from images. This feature allows for the creation of bootable volumes directly from glance images and is further used by the “boot from volume” feature of Nova.
  • Still TBD:  “multi volume backend”, which will allow users to take advantage of different storage providers with a single installation of Cinder. It is addressed in this blueprint and is still undergoing code review.

One of the Cinder project’s main roles is serving as the abstraction layer for different storage devices. Currently the following list of storage backends is supported, directly through their respective native APIs:

  • IBM Storwize V7000 unified storage system
  • IBM XIV Storage System series
  • NetApp onTap devices. Both the volume as a block device and the volume as a file on NFS are supported.
  • SheepDog storage system
  • SolidFire high performance SSD storages
  • NexentaStor Appliance

Cinder structure

Cinder consists of three basic services—Cinder API, Cinder scheduler, and Cinder volume, plus the underlying dedicated database.

OpenStack Cinder Storage Logical Block Diagram

 

Cinder API is a web service (providing a RESTful interface) responsible for handling user requests. In an OpenStack cluster, there can be many hosts that run the Cinder volume component. In order to load-balance volume creation between Cinder volumes, there is a Cinder scheduler component that implements this logic. The Cinder volume service is basically an abstraction layer to the different storage backends listed above.

Connection with the old nova-volume API

Despite migrating volume functionality to the separate project, Nova still supports volume management as originally implemented in the nova-volume component. Which approach to use is up to you when you install, but keep in mind that the plan is to completely remove volume management from Nova. By default Nova will use nova-volume, but it can be easily switched to Cinder by setting a flag:

The user is free to use the old, familiar “nova volume-*” commands, or can switch to the brand new “python-cinderclient.” These commands provide exactly the same behavior:

Final observations

In sum, Cinder offers stability with respect to nova-volume features, but simplifies code maintainability. While that may be a disappointment to some who expect constant activity in new features, it’s really an important sign of maturity, as it opens the code base to broader innovation with greater depth in storage functionality.

Stay tuned for our upcoming post which will deal with high availability of API services in Openstack.



<think>嗯,用户想在英文简历中展示他们对存储设备协议的实际操作经验,比如FC、iSCSI、NFS、CIFS这些,还希望我扩展其他相关协议。首先,我需要确定用户可能的技术背景,可能是系统管理员、存储工程师或者云计算相关的职位。他们可能需要突出自己的技能以吸引招聘方的注意。 接下来,我得考虑如何在简历中有效表达这些经验。通常,简历中的技术部分需要简洁明了,使用行业术语,同时具体说明做了什么,比如配置、优化、故障排查等。用户提到的协议都是存储领域的关键,但可能还有其他相关协议他们不熟悉,需要我补充,比如NVMe over Fabrics、SMB、FCoE、S3、GlusterFS、Ceph、HTTP/WebDAV等。 然后,我要确保建议的协议确实相关,并且按照常见程度和重要性排序。比如NVMe over Fabrics现在在高性能环境中很重要,SMB和CIFS其实有联系,可能需要说明。另外,云存储协议如S3、Swift也是加分项,特别是如果用户有云经验的话。 还要考虑用户可能的实际项目经验,比如是否做过集群存储、分布式系统,或者数据备份解决方案,这些可以结合协议来展示。例如,使用Ceph或GlusterFS的经验可以展示分布式存储的能力。 另外,注意简历中的动词使用,如Designed, Implemented, Optimized等,这些能够体现主动性和成果。同时,量化成果,比如提高性能百分比,减少延迟,增加可用性等,会让简历更有说服力。 用户可能需要避免过于技术化的缩写,或者至少在第一次出现时给出全称,比如iSCSI(Internet Small Computer System Interface)。但英文简历中通常直接使用缩写,因为HR或技术面试官都熟悉这些术语。 最后,结构方面,建议分点列出核心协议和扩展协议,每个协议下用项目符号说明具体的操作经验,并给出示例短语,帮助用户直接应用。同时提醒用户根据申请职位调整协议的重点,比如云计算职位强调S3、iSCSI,而高性能存储则强调FC、NVMe。</think>在英文简历中描述存储协议的实际操作经验时,建议采用“技术关键词+具体场景+成果量化”的结构。以下是分层次的组织建议和扩展协议: --- ### **一、核心存储协议表述** 1. **FC (Fibre Channel)** - 示例表述: `Designed and implemented Fibre Channel SAN topologies, including zoning configuration on Brocade switches and LUN masking on EMC PowerMax arrays` `Optimized FC fabric performance (achieved 98.99% uptime with multipath I/O failover)` 2. **iSCSI (Internet SCSI)** - 示例表述: `Deployed iSCSI targets on Linux (LIO)/Windows Server with CHAP authentication, improved throughput by 40% through TCP offload and jumbo frames` `Troubleshot latency issues in converged Ethernet environments using Wireshark packet analysis` 3. **NFS/CIFS (Network File System/Common Internet File System)** - 示例表述: `Configured NFSv4 with Kerberos security for HPC cluster storage (NetApp FAS), reduced access latency by 25% through client-side caching tuning` `Migrated legacy CIFS shares to SMB3.0 with continuous availability on Windows Server 2019` --- ### **二、扩展协议建议** #### 1. **块存储协议** - **NVMe over Fabrics (NVMe-oF)** `Implemented NVMe/TCP solution for Kubernetes persistent volumes, achieved 2x IOPS compared to iSCSI` - **FCoE (Fibre Channel over Ethernet)** `Integrated FCoE into existing DC networks using Cisco UCS blades and Nexus 9000 switches` #### 2. **文件/对象存储协议** - **SMB (Server Message Block)** `Upgraded SMB1.0 to SMB3.1.1 across 500+ Windows clients, eliminated man-in-the-middle vulnerabilities` - **S3 API (Object Storage)** `Developed hybrid cloud storage solution with AWS S3 API compatibility on MinIO cluster` - **GlusterFS/CephFS** `Built distributed file system with GlusterFS geo-replication between US/EU datacenters` #### 3. **备份/管理协议** - **NDMP (Network Data Management Protocol)** `Automated NetApp-to-Quantum tape library backups via NDMP with 30% RTO improvement` - **SNMP Monitoring** `Created Zabbix templates for real-time monitoring of storage array metrics (IOPS/latency/errors)` #### 4. **云/虚拟化协议** - **vVols (vSphere Virtual Volumes)** `Designed VMware vVols architecture with Pure Storage FlashArray, reduced VM provisioning time by 70%` - **OpenStack Cinder** `Integrated Cinder with Ceph RBD for private cloud block storage service` --- ### **三、表述技巧** 1. **技术栈组合**:关联具体硬件/软件平台(如`Dell EMC PowerStore`, `Red Hat Ceph Storage 5.0`) 2. **场景化动词**:使用`Architected`, `Tuned`, `Diagnosed`, `Migrated`等动作词汇 3. **性能指标**:包含`IOPS`, `latency`, `throughput`, `RPO/RTO`等量化指标 --- ### **四、简历片段示例** ```plaintext **Storage Engineer** | XYZ Corporation | 2020-Present - Deployed hyper-converged infrastructure with NVMe-oF/TCP achieving 1.2M IOPS on MySQL clusters - Led cross-platform storage migration project (FC SAN → iSCSI + NFS hybrid), reduced OPEX by $150K/year - Developed Ansible playbooks for automated provisioning of CIFS shares across 200+ Windows/Linux servers - Resolved 50+ critical incidents including FC fabric segmentation faults and SMB3 multichannel misconfigurations ``` --- ### **五、协议优先级建议** 根据目标职位调整重点: - 企业级存储岗位:强调FC/FCoE/iSCSI - 云存储岗位:突出S3/NFS/Ceph - 新兴技术岗:侧重NVMe-oF/vVols 需避免简单罗列协议名称,应通过具体案例体现技术深度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值