Attach Volume 操作(Part II) - 每天5分钟玩转 OpenStack(54)
上一节我们讨论了 attach volume 操作中 cinder-api 的工作,本节讨论 cinder-volume 和 nova-compute 如何将 volume attach 到 Instance。
cinder-volume 初始化 volume 的连接
cinder-volume 接收到 initialize_connection 消息后,会通过 tgt 创建 target,并将 volume 所对应的 LV 通过 target export 出来。日志为 /opt/stack/logs/c-vol.log
下面的日志显示:通过命令 tgtadm --lld iscsi --op show --mode target 看到已经将 1GB(1074MB)的 LV /dev/stack-volumes-lvmdriver-1/volume-1e7f6bd7-ce11-4a73-b95e-aabd65a5b188 通过 Target 1 export 出来了。
Initialize connection 完成。
nova-compute 将 volume attach 到 instance
计算节点作为 iSCSI initiator 访问存储节点 Iscsi Target 上的 volume,并将其 attach 到 instance。日志文件为 /opt/stack/logs/n-cpu.log
nova-compute 依次执行 iscsiadm 的 new, update, login, rescan 操作访问 target 上的 volume。
计算节点将 iSCSI target 上的 volume 识别为一个磁盘文件。
然后通过更新 instance 的 XML 配置文件将 volume 映射给 instance。
我们也可以通过 virsh edit 查看更新后的 XML。
可以看到,instance 增加了一个类型为 block 的虚拟磁盘,source 就是要 attach 的 volume,该虚拟磁盘的设备名为 vdb。
手工 Shut off 并 Start instance,通过 fdisk -l 查看到 volume 已经 attach 上来,设备为 vdb
GUI 界面也会更新相关 attach 信息
现在如果我们在存储节点执行 tgt-admin --show --mode target,会看到计算节点作为 initiator 已经连接到 target 1。cinder-volume 刚刚创建 target 的时候是没有 initiator 连接的,大家可以将下面的截图与之前的日志做个对比。
以上就是 attach volume 的全部内容,下一节我们讨论 detach 操作。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
用资源编排创建一组ECS并挂载到SLB
利用负载均衡对服务器做流量转发是企业应用的常用模式。新开一个集群的时候,我们往往会创建一组ECS,然后分别挂载到SLB。本文针对这种场景,介绍如何通过资源编排服务(ROS)快速的搭建一套这样的基础架构。 关于构建负载均衡的其他姿势可参考: 通过资源编排快速的构建负载均衡(SLB) 通过资源编排快速深度克隆负载均衡(SLB) 创建的资源包括: ALIYUN::SLB::LoadBalancer 创建一个负载均衡的基本配置 ALIYUN::ECS::InstanceGroup 创建一组相同配置的ECS ALIYUN::SLB::Listener 添加监听到负载均衡并启动监听 ALIYUN::SLB::BackendServerAttachment 挂载ECS到负载均衡 步骤详解: Step1: 创建一个负载均衡, 配置为公网类型按量付费. 模板片段如下: "Res
- 下一篇
利用阿里云容器服务实现Docker微服务间的负载均衡和服务发现
基于容器服务实现Docker微服务间的负载均衡和自动服务发现的方法 在容器服务上可以通过acsrouting将基于域名的http的服务暴漏出去,而且能够配合健康检查自动的负载均衡和服务发现,当其中一个容器出现问题之后,routing会自动将健康检查失败的容器从后端摘除,所以能做到自动的服务发现。 然而这个是将服务暴漏到外网的,那么服务间如何通过这种方式做到自动的服务发现和的负载均衡呢?容器服务引入了负载均衡的功能,只需要使用.local结尾的域名,并在依赖的服务的external_links中增加这个域名, 依赖的服务便可以通过.local的域名访问到依赖的服务,并且能够配合健康检查做到自动的服务发现,例如: restserver: # 模拟rest服务 image: nginx labels: aliyun.routi
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长