OpenStack Cinder创建Volume详解与启动脚本分析
需积分: 50 87 浏览量
更新于2024-07-21
收藏 2.09MB DOC 举报
在OpenStack Icehouse版本中,Cinder是OpenStack的块存储服务,用于管理和提供持久化的块存储设备,如硬盘或虚拟卷。当我们需要创建一个新的volume(块存储设备)时,Cinder API服务扮演了关键角色。这个过程涉及到一系列步骤,从启动Cinder API服务到配置文件的检查、进程管理和日志记录。
首先,我们关注的是启动Cinder API服务。其启动脚本位于`/etc/init.d/openstack-cinder-api`,这个脚本被设计成一个sysv init风格的服务启动器。启动时,脚本会检查两个关键文件:`/usr/bin/cinder-api`(Cinder API的可执行文件)和`/etc/cinder/cinder.conf`(主要配置文件)。如果这些文件不存在或不可用,脚本将返回错误代码。
`/etc/rc.d/init.d/functionssuffix=api`部分定义了服务名后缀(例如,可能是`cinder-api`),并设置了一些环境变量。然后,脚本会启动进程,指定用户(通常是`cinder`)、PID文件路径(`/var/run/cinder/cinder-$suffix.pid`)以及日志文件位置(`/var/log/cinder/$suffix.log`)。它使用`daemon`命令以守护进程模式运行,并将日志重定向到/dev/null以减少输出,确保服务在后台运行。
当服务成功启动后,`start()`函数会检查启动状态并触碰锁文件`/var/lock/subsys/$prog`以表示服务已启动。如果启动过程中遇到问题,函数会返回相应的错误代码。
此外,提到的`ps -ef | grep cinder-api`命令可以用来查看当前系统中是否正在运行Cinder API服务。这在监控和管理服务状态时非常有用。
在脚本的导入部分,引入了`eventlet`模块,这是一个Python库,用于线程管理和并发编程,这在处理I/O密集型任务时可以提高性能。`oslo.config`模块则用于解析命令行选项和配置文件,确保Cinder服务能正确地读取和应用配置。
创建Cinder volume的过程涉及启动Cinder API服务、配置文件的正确加载、守护进程的启动以及服务状态的监控。这个过程对于保证OpenStack环境中块存储服务的稳定性和可用性至关重要。
2013-09-25 上传
2019-08-08 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-01-07 上传
李艳坤
- 粉丝: 47
- 资源: 7
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案