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 操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM