准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)

Cinder 真正负责 Volume 管理的组件是 volume provider。

Cinder 支持多种 volume provider,LVM 是默认的 volume provider。
Devstack 安装之后,/etc/cinder/cinder 已经配置好了 LVM,如下图所示:

上面的配置定义了名为“lvmdriver-1”的 volume provider,也称作 back-end。其 driver 是 LVM,LVM 的 volume group 名为“stack-volumes-lvmdriver-1”。

Devstack 安装时并没有自动创建 volume group,所以需要我们手工创建。
如下步骤演示了在 /dev/sdb 上创建 VG “stack-volumes-lvmdriver-1”:

  1. 首先创建 physical volume /dev/sdb

    Linux 的 lvm 默认配置不允许在 /dev/sdb 上创建 PV,需要将 sdb 添加到 /etc/lvm.conf 的 filter 中。

  2. 然后创建 VG stack-volumes-lvmdriver-1

打开 Web GUI,可以看到 OpenStack 已经创建了 Volume Type “lvmdriver-1”

其 Extra Specs volume_backend_name 为 lvmdriver-1

后面各小节都将以 LVM 为 volume provider 详细讨论 volume 的各种操作。

 

时间: 2024-09-20 19:47:12

准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)的相关文章

Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)

本节我们讨论 volume 的 Backup 操作. Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. Backup VS Snapshot 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态,以备以后恢复.但二者在用途和实现上还是有区别的,具体表现在: Snapshot 依赖于源 volume,不能独立存在:而 backup 不依赖源 volume,即便源 volume 不存在了,也可以 rest

Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)

今天讨论 cinder 如何删除 volume . 状态为 Available 的 volume 才能够被 delete.如果 volume 当前已经 attach 到 instance,需要先 detach 后才能 delete. Delete操作实现比较简单,流程图如下: 向 cinder-api 发送 delete 请求 cinder-api 发送消息 cinder-volume 执行 delete 操作 下面我们详细讨论每一个步骤. 向 cinder-api 发送 delete 请求 客

Detach Volume 操作 - 每天5分钟玩转 OpenStack(55)

上一节我们成功地通过 attach 操作为 instance 添加了 volume,而与之相对的操作是 detach,就是将 volume 从 instance 上卸载下来. 下图是 Detach 操作的流程图 向 cinder-api 发送 detach 请求 cinder-api 发送消息 nova-compute detach volume cinder-volume 删除 target 下面我们详细讨论每一个步骤. 向 cinder-api 发送 attach 请求 客户(可以是 Ope

Extend Volume 操作 - 每天5分钟玩转 OpenStack(56)

前面我们讨论了 volume 的 attach 和 detach 操作,今天讨论如何扩大 volume 的容量.为了保护现有数据,cinder 不允许缩小 volume. Extend 操作用于扩大 Volume 的容量,状态为 Available 的 volume 才能够被 extend.如果 volume 当前已经 attach 给 instance,需要先 detach 后才能 extend. Extend 实现比较简单,流程图如下: 向 cinder-api 发送 extend 请求 c

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack.   为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所

NFS Volume Provider(Part I) - 每天5分钟玩转 OpenStack(62)

cinder-volume 支持多种 volume provider,前面我们一直使用的是默认的 LVM,本节我们将增加 NFS volume provider. 虽然 NFS 更多地应用在实验或小规模 cinder 环境,由于性能和缺乏高可用的原因在生产环境中不太可能使用,但是学习 NFS volume provider 的意义在于:1. 理解 cinder-volume 如何支持多 backend2. 更重要的,可以理解 cinder-volume,nova-compute 和 volume

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

上一节我们将 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 vol

Create Volume 操作(Part III) - 每天5分钟玩转 OpenStack(52)

本节是创建 Volume 的第三部分,也是最后一部分:cinder-volume 的处理过程. 第一部分和第二部分可以参考前面两个小节.cinder-volume 通过 driver 创建 volume,日志为 /opt/stack/logs/c-vol.log. 与 cinder-api 和 cinder-scheduler 执行方式类似,cinder-volume 也启动了一个 Flow 来完成 volume 创建工作,Flow 的名称为 volume_create_manager. vol

Boot from Volume - 每天5分钟玩转 OpenStack(61)

  Volume 除了可以用作 instance 的数据盘,也可以作为启动盘(Bootable Volume),那么如何使 volume 成为 bootable 呢? 现在我们打开 instance 的 launch 操作界面. 这里有一个下拉菜单"Instance Boot Source".以前我们 launch instance 要么直接从 image launch(Boot from image),要么从 instance 的 snapshot launch(Boot from