Attach Volume 操做(Part II) - 天天5分钟玩转 OpenStack(54)

上一节咱们讨论了 attach volume 操做中 cinder-api 的工做,本节讨论 cinder-volume 和 nova-compute 如何将 volume attach 到 Instance。api

cinder-volume 初始化 volume 的链接

cinder-volume 接收到 initialize_connection 消息后,会经过 tgt 建立 target,并将 volume 所对应的 LV 经过 target export 出来。日志为 /opt/stack/logs/c-vol.logspa

下面的日志显示:经过命令 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 完成。ci

nova-compute 将 volume attach 到 instance

计算节点做为 iSCSI initiator 访问存储节点 Iscsi Target 上的 volume,并将其 attach 到 instance。日志文件为 /opt/stack/logs/n-cpu.logget

nova-compute 依次执行 iscsiadm 的 new, update, login, rescan 操做访问 target 上的 volume。it

计算节点将 iSCSI target 上的 volume 识别为一个磁盘文件。io

而后经过更新 instance 的 XML 配置文件将 volume 映射给 instance。配置

咱们也能够经过 virsh edit 查看更新后的 XML。 date

能够看到,instance 增长了一个类型为 block 的虚拟磁盘,source 就是要 attach 的 volume,该虚拟磁盘的设备名为 vdb。im

手工 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 操做。

 

相关文章
相关标签/搜索