Cinder源码目录结构

一 Cinder源码目录结构
[root@localhost cinder]# tree -L 2
.
├── api-ref
│   └── source
├── babel.cfg
├── cinder
│   ├── api
│   ├── backup
│   ├── brick
│   ├── cmd
│   ├── common
│   ├── compute
│   ├── config
│   ├── consistencygroup
│   ├── context.py
│   ├── coordination.py
│   ├── db
│   ├── exception.py
│   ├── flow_utils.py
│   ├── group
│   ├── hacking
│   ├── i18n.py
│   ├── i18n.pyc
│   ├── image
│   ├── __init__.py
│   ├── interface
│   ├── keymgr
│   ├── locale
│   ├── manager.py
│   ├── message
│   ├── objects
│   ├── opts.py
│   ├── policy.py
│   ├── policy.pyc
│   ├── quota.py
│   ├── quota.pyc
│   ├── quota_utils.py
│   ├── rpc.py
│   ├── rpc.pyc
│   ├── scheduler
│   ├── service.py
│   ├── service.pyc
│   ├── ssh_utils.py
│   ├── test.py
│   ├── tests
│   ├── transfer
│   ├── utils.py
│   ├── utils.pyc
│   ├── version.py
│   ├── version.pyc
│   ├── volume
│   ├── wsgi
│   └── zonemanager
├── cinder.egg-info
│   ├── dependency_links.txt
│   ├── entry_points.txt
│   ├── not-zip-safe
│   ├── pbr.json
│   ├── PKG-INFO
│   ├── requires.txt
│   ├── SOURCES.txt
│   └── top_level.txt
├── CONTRIBUTING.rst
├── etc
│   └── cinder
├── HACKING.rst
├── LICENSE
├── pylintrc
├── rally-jobs
│   ├── cinder-fake.yaml
│   ├── cinder.yaml
│   ├── extra
│   ├── plugins
│   └── README.rst
├── README.rst
├── releasenotes
│   ├── notes
│   ├── README.rst
│   └── source
├── requirements.txt
├── setup.cfg
├── setup.py
├── test-requirements.txt
├── tools
│   ├── check_exec.py
│   ├── colorizer.py
│   ├── config
│   ├── enable-pre-commit-hook.sh
│   ├── fast8.sh
│   ├── generate_driver_list.py
│   ├── hooks
│   ├── lintstack.py
│   ├── lintstack.sh
│   ├── test-setup.sh
│   └── with_venv.sh
└── tox.ini
bin:一些启动脚本、以及工具性脚本。比如cinder-api负责启动cinder-api服务,cinder-manager则是用于Cinder管理的命令行接口。
cinder:cinder核心代码。比如api、backup、scheduler、volume几个子目录分别是cinder-api、cinder-backup、cinder-scheduler、cinder-volume几个服务的具体实现。
cinder/common: 一些公共代码,比如说common/config.py定义了一些配置参数信息。
cinder/compute:导入Compute API,默认为cinder.computer.nova.API,定义了一些通过Nova客户端实现快照处理等操作的方法。
cinder/image:实现使用Glance作为后端镜像服务,有些操作通过Glance客户端调用Glance中的相应方法实现。
cinder/keymgr:秘钥管理。
Cinder/replication:管理卷的副本。卷的副本是一个对HA和容灾恢复相当关键的存储功能。
Cinder/transfer:处理卷所有权转换相关的请求,比如卷从一个租户转换到另一个租户。
Cinder/zonemanager:扩展了Cinder对FC的支持。
etc:配置文件模板,包括Paste配置文件等。
二 setup.cfg
依照惯例,理解具体的实现之前,我们需要仔细浏览setup.cfg文件。
[files]
packages =
    cinder
scripts =
    bin/cinder-all
    bin/cinder-api
    bin/cinder-backup
    bin/cinder-manage
    bin/cinder-rtstool
    bin/cinder-scheduler
    bin/cinder-volume
    bin/cinder-volume-usage-audit
类似于Swift,对于Cinder来说,setup.cfg文件值得关注的是scripts关键字所对应的内容,其中每一项都代表了一个被安装在系统里的可执行的脚本,它们同时也是Cinder各项工作的入口,完全可以作为我们理解Cinder具体实现的起点。
cinder-all:在一个进程里启动所有的Cinder服务。
cinder-rtstool:伴随LIO(Linux-IO Target,SCSI Target的开源实现)支持而增加的工具。
Cinder-volume-usage-audit:用于卷使用情况统计。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值