NFS Volume Provider(Part II) - 每天5分钟玩转 OpenStack(63)

简介: 上一节我们将 NFS volume provider 配置就绪,本节将创建 volume。 创建 volume 创建 NFS volume 操作方法与 LVM volume 一样,唯一区别是在 volume type 的下拉列表中选择“nfs”。

上一节我们将 NFS volume provider 配置就绪,本节将创建 volume。

创建 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。

 

目录
相关文章