cinder创建的volume通过iscsi协议挂载到instance流程分析
来源:互联网 发布:淘宝联盟无法注册 编辑:程序博客网 时间:2024/05/18 07:13
输入命令:nova volume-attache volume-id server-id
一、cinder-api
1、POST一个http消息,body是connection初始化(initialized_connection)的相关信息,192.168.232.12是要挂载虚机所在计算节点的IP地址,那么可以看出初始化信息包含了计算节点的相关信息
上图是初始化成功之前,进行的一些操作
2、初始化volume连接后,计算节点将指定的volume挂载到指定的instance,这主要由nova-compute完成,api日志里最后显示的Attach volume completed successfully是不是真的成功了呢?对应后面的日志的时间戳来继续分析
二、cinder-volume,通过lio或者tgt软件管理工具(可以在/etc/cinder/cinder.conf里配置iscsi_helper参数指定)为指定的挂载卷创建target并将指定的挂载卷export出来供iscsi客户端initiation访问,这在日志中,就是initialezed volume connection的过程(初始化)。
1、cinder-volume接收到initiatialized_connection消息后,通过lioadm为需要挂载到instance的volume创建target(也有用tgt创建target的,lio和tgt都是用来管理iscsi target的软件)
上图是lio创建target的一些操作,不深究
2、创建好的target,export出来,至于怎么export的,就看lio或者tgt这个软件的操作了。
3、initialized volume connection成功
PS:cinder-volume日志显示initialized volume connection success的时间是14:21:43.648,api日志显示initialized volume connection success的时间是14:21:43.709,说明api显示的初始化连接成功的时间,就是真正初始化连接成功的时间,并非像cinder创建volume一样,api显示的创建volume成功,只是api处理成功,不代表后端存储创建volume真的成功。(先这么分析,有待确认)
三、nova-compute,作为第二步生成的iscsi target的客户端,访问存储节点上的volume,挂载到instance
1、nova-compute上最早开始生成一个Attaching volume的信息,还未真正开始执行挂载
2、iscsi开始依次执行new,update,login,rescan操作将远程存储上的volume挂载到计算节点。
3、最后,计算节点将挂载好的iscsi target上的volume识别为一个磁盘文件,通过写入对应instance的xml文件,将这个磁盘文件给instance使用,可以在计算节点上验证如下:
(1)验证/dev目录
(2)验证xml文件
PS:api的日志显示14:21:48.894 Attach volume completed successfully,实际上nova-compute日志显示的挂载volume成功是在14:21:46.222,所以说api报的信息也应该是实际上挂载成功的时间。(这个也是有待确认的,因为我的环境没用ntp同步时间)
- cinder创建的volume通过iscsi协议挂载到instance流程分析
- cinder创建volume的流程分析
- cinder创建volume流程简介
- openstack 创建cinder服务的磁盘时,出现ISCSITargetCreateFailed Failed to create iscsi target for volume
- cinder 创建backup volume
- 从cinder 删除volume 分析cinder rpc
- 修改Cinder的Volume配额
- 把已经存在的volume挂载到instance
- 把已经存在的volume挂载到instance
- OpenStack源码分析之cinder-volume服务
- openstack创建instance的流程
- openstack创建instance的流程
- openstack创建instance的流程
- openstack创建instance的流程
- openstack创建instance的流程
- [问题篇]VMWare搭建Openstack——Cinder创建扩展Volume的状态Error的问题
- FC和iSCSI协议的分析比较
- 深入分析iSCSI协议的应用
- Linux Kernel设备驱动模型之驱动探测设备
- Linux Kernel设备驱动模型之设备绑定驱动
- 在iframe中寻找iframe父类中的元素
- CSS颜色渐变
- BootStrap学习笔记(一):内容块居中的问题
- cinder创建的volume通过iscsi协议挂载到instance流程分析
- java排序算法(5)—快速排序
- 异步通知fasync的工作流程
- 3.9学习内容-构造方法
- xdoclet生成hibernate映射文件
- 有坑点的面试题(关于运行栈和运行时常量池):2017.3.9
- 数据库 schema含义
- 智能AI初探
- RxBus