O051、Create Volume 操作 (Part II)】的更多相关文章

前面已经学习了 Cinder 的架构和相关组件,从本节我们开始详细分析 Cinder 的各种操作,首先讨论 Cinder 如何创建 volume. Create 操作流程如下: 客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(cinder-api)发送请求:“帮我创建一个 volume”. API 对请求做一些必要处理后,向 Messaging(RabbitMQ)发送了一条消息:“让 Scheduler 创建一个 volume”. Scheduler(cinder-sc…
参考https://www.cnblogs.com/CloudMan6/p/5603312.html   前面已经学习了Cinder的架构和相关组件,从本节开始详细分析 Cinder 的各种操作,首先讨论 Cinder 如何创建 volume.   Create 操作流程如下:  …
上一节我们讨论了 Cinder 创建 Volume 的第一部分,cinder-api 的操作,本节继续第二部分,cinder-scheduler 调度工作. cinder-scheduler 执行调度 cinder-scheduler 执行调度算法,通过 Filter 和 Weigher 挑选最优的存储节点 日志为 /opt/stack/logs/c-sch.log. cinder-scheduler 通过 Flow volume_create_scheduler 执行调度工作. 该 Flow…
参考https://www.cnblogs.com/CloudMan6/p/5612147.html       1.cinder-scheduler 也会启动一个工作流 volume_create_scheduler    Jun 20 17:15:56 DevStack-Rocky-Controller-21 cinder-scheduler: DEBUG cinder.scheduler.manager None req-5eb13d6b-917f-48f6-a28c-17ae0d99c7…
本节是创建 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…
参考https://www.cnblogs.com/CloudMan6/p/5617980.html       Jun 20 17:15:56 DevStack-Rocky-Compute-22 cinder-volume: DEBUG cinder.volume.flows.manager.create_volume None req-5eb13d6b-917f-48f6-a28c-17ae0d99c799 admin None] Volume reschedule parameters:…
前面我们 backup 了 voluem,今天我们将讨论如何 restore volume. restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume. 将 backup 的数据 copy 到空白 voluem 上. 下面我们来看 restore 操作的详细流程: 向 cinder-api 发送 backup 请求 cinder-api 发送消息 cinder-scheduler 挑选最合适的 cinder-volume cinder-volume 创建空白 volum…
Snapshot 可以为 volume 创建快照,快照中保存了 volume 当前的状态,以后可以通过 snapshot 回溯.snapshot 操作实现比较简单,流程图如下: 向 cinder-api 发送 snapshot 请求 cinder-api 发送消息 cinder-volume 执行 snapshot 操作 下面我们详细讨论每一个步骤. 向 cinder-api 发送 snapshot 请求 客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发…
上一节我们成功地通过 attach 操作为 instance 添加了 volume,而与之相对的操作是 detach,就是将 volume 从 instance 上卸载下来. 下图是 Detach 操作的流程图 向 cinder-api 发送 detach 请求 cinder-api 发送消息 nova-compute detach volume cinder-volume 删除 target 下面我们详细讨论每一个步骤. 向 cinder-api 发送 attach 请求 客户(可以是 Ope…
参考https://www.cnblogs.com/CloudMan6/p/5631328.html     计算节点作为iSCSI initiator 访问存储节点 iSCSI Target 上的volume,并将其attach 到 Instance .   nova-compute 一次执行 iscsiadmin 的 new.update.login.rescan 操作访问target 上的volume   计算节点将iSCSI target 上的volume识别为一个磁盘文件   然后通过…
上一节我们讨论了 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/…
本节我们讨论 volume 的 Backup 操作. Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. Backup VS Snapshot 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态,以备以后恢复.但二者在用途和实现上还是有区别的,具体表现在: Snapshot 依赖于源 volume,不能独立存在:而 backup 不依赖源 volume,即便源 volume 不存在了,也可以 rest…
创建 Volume 时,cinder-scheduler 会基于容量.Volume Type 等条件选择出最合适的存储节点,然后让其创建 Volume. 1.cinder-scheduler配置相关项 在/etc/cinder/cinder.conf文件中,cinder 通过 scheduler_driver, scheduler_default_filters 和scheduler_default_weighers ,这三个参数来配置 cinder-scheduler. # Options d…
参考https://www.cnblogs.com/CloudMan6/p/5668872.html   前面我们学习了backup操作,现在我们来学习如何使用backup进行restore.   restore过程很简单:       1.在存储节点上创建一个空白的Volume     2.将backup的数据copy到空白的volume上   详细的流程图如下:  …
参考https://www.cnblogs.com/CloudMan6/p/5662236.html   BackUp是将Volume备份到别的地方(备份设备),将来可以通过restore操作恢复.   BackUp VS Snapshot   查看backup功能好像与snapshot很相似,都可以保存volume的当前状态,以备以后恢复.但二者在用途和实现上还是有却别的,具体表现在:       1.Snapshot依赖于源volume,不能独立存在:而backup不依赖与源volume,即…
参考https://www.cnblogs.com/CloudMan6/p/5657744.html   Snapshot 可以为 volume 创建快照,快照中保存了 volume当前的状态,以后可以通过snapshot 回溯.snapshot操作比较简单,流程图如下:    …
参考https://www.cnblogs.com/CloudMan6/p/5624930.html   Volume的最主要用途是做为虚拟磁盘提供给Instance使用.Volume是通过 Attach 操作挂载到Instance上的.   上一节我们成功创建了基于 LVM provider 的Volume.每个volume 实际上是存储节点上VG中的一个LV.   那么问题来了:存储节点上本地的LV如何挂载到计算节点的Instance上呢?   通常情况存储节点和计算节点是不同的物理节点.解…
今天讨论 cinder 如何删除 volume . 状态为 Available 的 volume 才能够被 delete.如果 volume 当前已经 attach 到 instance,需要先 detach 后才能 delete. Delete操作实现比较简单,流程图如下: 向 cinder-api 发送 delete 请求 cinder-api 发送消息 cinder-volume 执行 delete 操作 下面我们详细讨论每一个步骤. 向 cinder-api 发送 delete 请求 客…
前面我们讨论了 volume 的 attach 和 detach 操作,今天讨论如何扩大 volume 的容量.为了保护现有数据,cinder 不允许缩小 volume. Extend 操作用于扩大 Volume 的容量,状态为 Available 的 volume 才能够被 extend.如果 volume 当前已经 attach 给 instance,需要先 detach 后才能 extend. Extend 实现比较简单,流程图如下: 向 cinder-api 发送 extend 请求 c…
上一节我们创建了 volume,本节讨论如何将 volume attach 到 Instance,今天是第一部分. Volume 的最主要用途是作为虚拟硬盘提供给 instance 使用.Volume 是通过 Attach 操作挂载到 instance 上的.本节我们就来详细讨论 Cinder 是如何实现 Attach 的. 上一节我们成功创建了基于 LVM provider 的 volume.每个 volume 实际上是存储节点上 VG 中的一个 LV. 那么问题来了:存储节点上本地的 LV…
前提:代码的跟踪,使用的是ocata版本 零.执行cinder create 命令,创建数据卷,打开debug开关 [root@osnode241001 ~]# cinder --debug create --display-name=chenwei 1 DEBUG:keystoneclient.session:REQ: curl -i -X GET http://11.27.241.251:5000/v2.0/ -H "Accept: application/json" -H &qu…
参考https://www.cnblogs.com/CloudMan6/p/5648665.html   状态为Available 的volume 才能够被delete,如果volume当前已经被attach 到Instance,需要先detach后才能delete.delete的操作实现比较简单,流程图如下:  …
参考https://www.cnblogs.com/CloudMan6/p/5645305.html   今天学习如何扩大volume的容量,为了保护现有的数据,cinder不允许缩小volume.   Extend 操作用于扩大Volume的容量,状态为Available的volume才能够被extend.如果volume当前已经attach给Instance,需要先detach后才能extend.extend实现比较简单,流程图如下:  …
参考https://www.cnblogs.com/CloudMan6/p/5636510.html     本节我们开始学习 Volume Detach 操作,就是将Volume从Instance上卸载下来.  …
containerd的create container的API如下所示: type CreateContainerRequest struct { Id string BundlePath string Checkpoint string Stdin string Stdout string Stderr string Labels []string NoPivotRoot bool Runtime string RuntimeArgs []string CheckpointDir string…
1.创建字典 2.从字典中获取的项 -- 打印出 item 3.获取字典的key -- 打印出 key 4.获取字典的value -- 打印出 value 5.获取字典key,value 6.打印出字典定义的key对应的value 指定运行robot 套件 中的某一 case:在robot文件目录下运行 robot --test dict Base_Key.robot 说明:dict -- 为 test case Base_Key.robot -- 为 test suite 测试套件中可分为目录…
CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) 数据类型(data_type)规定了列可容纳何种数据类型.下面的表格包含了SQL中最常用的数据类型: 数据类型 描述 integer(size) int(size) smallint(size) tinyint(size) 仅容纳整数.在括号内规定数字的最…
[Spark][Python]DataFrame中取出有限个记录的   继续 In [4]: peopleDF.select("age","name") In [11]: myDF=peopleDF.select("age","name") In [14]: myDF.limit(2).show() +----+-------+| age| name|+----+-------+|null| Alice|| 30|Brayde…
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题目叫做<每天5分钟 玩转 OpenStack>,抱着试试的态度看了几篇,被文章的内容和书写风格吸引了,内容全面,思路清晰,简单易懂,关键是每篇博文的内容很少,绝对是一泡大便的功夫.每周一.周三.周五定时更新,微信也有同步更新.不过大神在博客园cnblogs上的博文没有目录,每次翻阅的时候甚是费劲,…
上一节我们将 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-v…