zoukankan      html  css  js  c++  java
  • Attach Volume 操作(Part II)

    上一节我们讨论了 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 操作。

     

  • 相关阅读:
    tp5 查询问题 字段自增 字段比较
    七牛云 {"error":"no such domain"}
    mac 命令
    跟微信公众号一起来学api安全
    vue 运行别人项目
    php sha1withrsa
    thinkphp5 使用路由下分页 form表单 搜索
    P2134 百日旅行 (斜率优化,DP)
    [USACO Section 4.4]追查坏牛奶Pollutant Control (最小割)
    [HAOI2007] 理想的正方形 (单调队列)
  • 原文地址:https://www.cnblogs.com/CloudMan6/p/5631328.html
Copyright © 2011-2022 走看看