上一節我們将 NFS volume provider 配置就緒,本節将建立 volume。
建立 NFS volume 操作方法與 LVM volume 一樣,唯一差別是在 volume type 的下拉清單中選擇“nfs”。
點選“Create Volume”,cinder-api,cinder-scheduler 和 cinder-volume 共同協作建立 volume “nfs-vol-1”。這個流程與 LVM volume 一樣。
下面我們重點分析 cinder-volume 的日志,看看 NFS volume provider 是如何建立 volume 的。
日志在 /opt/stack/logs/c-vol.log。
cinder-volume 也會啟動 Flow 來完成 volume 建立工作,Flow 的名稱為 volume_create_manager。
volume_create_manager 首先執行 ExtractVolumeRefTask, OnFailureRescheduleTask, ExtractVolumeSpecTask, NotifyVolumeActionTask 為 volume建立做準備。
然後由 CreateVolumeFromSpecTask 真正建立 volume。
首先 mount 遠端 NFS 目錄。
執行 stat、du 指令檢查 NFS 目錄。
執行 truncate 建立 volume 檔案。
設定 volume 檔案為可讀寫。
create 操作完成。
Volume 在 NFS 上以檔案存在,命名為“volume-<volume ID>”。
GUI volume 清單中可以看到新建立的 volume。
基于 NFS Volume 已經準備就緒,下一節我們其 attach 到 instance。
本文轉自CloudMan6 51CTO部落格,原文連結:http://blog.51cto.com/cloudman/1828654