06 2019 档案

摘要:NFS Volume Provider(Part III) 将创建好的 NFS volume “nfs-vol-1” attach 到 instance “c2”上。 通过分析,nova-compute 会将存放 volume 文件的 NFS 目录 mount 到本地 /opt/stack/data 阅读全文
posted @ 2019-06-26 14:46 gsophy 阅读(98) 评论(0) 推荐(0)
摘要:NFS Volume Provider(Part II) 创建 volume 创建 NFS volume 操作方法与 LVM volume 一样,唯一区别是在 volume type 的下拉列表中选择“nfs”。 点击“Create Volume”,cinder-api,cinder-schedul 阅读全文
posted @ 2019-06-26 14:36 gsophy 阅读(115) 评论(0) 推荐(0)
摘要:NFS Volume Provider(Part I) NFS 更多的应用在实验或小规模 cinder 环境,由于性能和缺乏高可用的原因在生产环境中不太可能使用,但是学习 NFS volume provider 的意义在于: 1、理解 cinder-volume 如何支持多 backend 2、更重 阅读全文
posted @ 2019-06-26 14:23 gsophy 阅读(152) 评论(0) 推荐(0)
摘要:Boot from Volume Volume 除了可以用作 instance 的数据盘,也可以作为启动盘(Bootable Volume)。 打开 instance 的 launch 操作界面。 这里有一个下拉菜单“Select Boot Source”。以前 launch instance 要么 阅读全文
posted @ 2019-06-25 13:54 gsophy 阅读(268) 评论(0) 推荐(0)
摘要:Restore Volume 操作 restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume。 将 backup 的数据 copy 到空白 voluem 上。 restore 操作的详细流程: 1、向 cinder-api 发送 backup 请求 2、cinder-api 阅读全文
posted @ 2019-06-24 17:45 gsophy 阅读(190) 评论(0) 推荐(0)
摘要:Backup Volume 操作 Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复。 Backup VS Snapshot 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态,以备以后恢复。 但二者在用途 阅读全文
posted @ 2019-06-24 17:20 gsophy 阅读(268) 评论(0) 推荐(0)
摘要:Snapshot Volume 操作 Snapshot 可以为 volume 创建快照,快照中保存了 volume 当前的状态,以后可以通过 snapshot 回溯。 snapshot 操作实现比较简单,流程图如下: 1、向 cinder-api 发送 snapshot 请求 2、cinder-ap 阅读全文
posted @ 2019-06-24 15:34 gsophy 阅读(287) 评论(0) 推荐(0)
摘要:Delete Volume 操作 状态为 Available 的 volume 才能够被 delete。 如果 volume 当前已经 attach 到 instance,需要先 detach 后才能 delete。 Delete操作实现比较简单,流程图如下: 1、向 cinder-api 发送 d 阅读全文
posted @ 2019-06-24 11:24 gsophy 阅读(452) 评论(0) 推荐(0)
摘要:Extend Volume 操作 Extend Volume 操作扩大 volume 的容量。为了保护现有数据,cinder 不允许缩小 volume。 Extend 操作用于扩大 Volume 的容量,状态为 Available 的 volume 才能够被 extend。 如果 volume 当前 阅读全文
posted @ 2019-06-24 11:07 gsophy 阅读(498) 评论(0) 推荐(0)
摘要:Detach Volume 操作 下图是 Detach 操作的流程图 1、向 cinder-api 发送 detach 请求 2、cinder-api 发送消息 3、nova-compute detach volume 4、cinder-volume 删除 target 详细分析: 1、向 cind 阅读全文
posted @ 2019-06-24 09:43 gsophy 阅读(381) 评论(0) 推荐(0)
摘要:cinder-volume 初始化 volume 的连接 cinder-volume 接收到 initialize_connection 消息后,会通过 tgt 创建 target,并将 volume 所对应的 LV 通过 target export 出来。 通过命令 tgtadm --lld is 阅读全文
posted @ 2019-06-21 17:29 gsophy 阅读(211) 评论(0) 推荐(0)
摘要:Attach Volume (Part I) Volume 的最主要用途是作为虚拟硬盘提供给 instance 使用。 Volume 是通过 Attach 操作挂载到 instance 上的。 上一节成功创建了基于 LVM provider 的 volume。每个 volume 实际上是存储节点上 阅读全文
posted @ 2019-06-21 17:04 gsophy 阅读(395) 评论(0) 推荐(0)
摘要:Create Volume(Part III) 第三部分 cinder-volume 的处理过程 cinder-volume 通过 driver 创建 volume 与 cinder-api 和 cinder-scheduler 执行方式类似,cinder-volume 也启动了一个 Flow 来完 阅读全文
posted @ 2019-06-21 16:17 gsophy 阅读(171) 评论(0) 推荐(0)
摘要:Create Volume(Part II) 第二部分 cinder-scheduler 调度工作 cinder-scheduler 执行调度 cinder-scheduler 执行调度算法,通过 Filter 和 Weigher 挑选最优的存储节点 cinder-scheduler 通过 Flow 阅读全文
posted @ 2019-06-21 16:11 gsophy 阅读(249) 评论(0) 推荐(0)
摘要:Create Volume (Part I) Cinder 创建 volume Create 操作流程如下: 1、客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(cinder-api)发送请求:“帮我创建一个 volume”。 2、API 对请求做一些必要处理后,向 Mes 阅读全文
posted @ 2019-06-21 16:07 gsophy 阅读(219) 评论(0) 推荐(0)
摘要:准备 LVM Volume Provider Cinder 真正负责 Volume 管理的组件是 volume provider。 Cinder 支持多种 volume provider,LVM 是默认的 volume provider。 Devstack 安装之后,/etc/cinder/cind 阅读全文
posted @ 2019-06-21 16:01 gsophy 阅读(163) 评论(0) 推荐(0)
摘要:掌握 cinder-scheduler 调度逻辑 创建 Volume 时,cinder-scheduler 会基于容量、Volume Type 等条件选择出最合适的存储节点,然后让其创建 Volume。 详细分析 cinder-scheduler 实现调度工作的具体步骤: 在 /etc/cinder 阅读全文
posted @ 2019-06-21 10:39 gsophy 阅读(406) 评论(0) 推荐(0)
摘要:Cinder 组件详解 cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 cinder-api 处理。 cinder-api 向外界暴露若干 HTTP REST API 接口。 在 keystone 中可以查询 cinder-api 的 阅读全文
posted @ 2019-06-21 09:32 gsophy 阅读(210) 评论(0) 推荐(0)
摘要:下面是 Volume 创建的流程图 : 1、客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(cinder-api)发送请求:“帮我创建一个 volume” 2、API 对请求做一些必要处理后,向 Messaging(RabbitMQ)发送了一条消息:“让 Scheduler 阅读全文
posted @ 2019-06-20 17:38 gsophy 阅读(172) 评论(0) 推荐(0)
摘要:理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区、格式化、创建文件系统; 或者直接使用裸硬盘存储数据(数据库) 通过 NFS、CIFS 等 协议,mount 远程的文件系统 第一种裸硬盘的方式叫做 阅读全文
posted @ 2019-06-20 17:26 gsophy 阅读(446) 评论(0) 推荐(0)
摘要:如上图所示,把对 Instance 的管理按运维工作的场景分为两类:常规操作和故障处理。 常规操作 常规操作中,Launch、Start、Reboot、Shut Off 和 Terminate 都很好理解。 下面几个操作重点回顾一下: Resize 通过应用不同的 flavor 调整分配给 inst 阅读全文
posted @ 2019-06-20 15:26 gsophy 阅读(298) 评论(0) 推荐(0)
摘要:计算节点宕机了怎么办? Evacuate 可在 nova-compute 无法工作的情况下将节点上的 instance 迁移到其他计算节点上。 但有个前提: Instance 的镜像文件必须放在共享存储上。 下面是 Evacuate instance 的流程图 1、向 nova-api 发送请求 2 阅读全文
posted @ 2019-06-20 15:13 gsophy 阅读(253) 评论(0) 推荐(0)
摘要:Live Migrate 操作详解 Migrate 操作会先将 instance 停掉,也就是所谓的“冷迁移”。而 Live Migrate 是“热迁移”,也叫“在线迁移”,instance不会停机。 Live Migrate 分两种: 1、源和目标节点没有共享存储,instance 在迁移的时候需 阅读全文
posted @ 2019-06-19 15:58 gsophy 阅读(435) 评论(0) 推荐(0)
摘要:Resize Instance 操作详解 Resize 的作用是调整 instance 的 vCPU、内存和磁盘资源。 Instance 需要多少资源是定义在 flavor 中的,resize 操作是通过为 instance 选择新的 flavor 来调整资源的分配。 因为 instance 需要分 阅读全文
posted @ 2019-06-14 17:20 gsophy 阅读(940) 评论(0) 推荐(1)
摘要:Migrate Instance 操作详解 Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上。 Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的。 Migrate 前必须满足一个条件:计算节点间需要配置 nova 用户无密码访问。 下面是 Mi 阅读全文
posted @ 2019-06-14 15:47 gsophy 阅读(487) 评论(0) 推荐(0)
摘要:Unshelve Instance 操作详解 因为 Glance 中保存了 instance 的 image,unshelve 的过程其实就是通过该 image launch 一个新的 instance,nova-scheduler 也会调度合适的计算节点来创建该 instance。 instanc 阅读全文
posted @ 2019-06-14 13:54 gsophy 阅读(250) 评论(0) 推荐(0)
摘要:Shelve Instance 操作详解 Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在以后能够成功 Resume。 如果希望释放这些预留资源,可以使用 Shelve 操作。 Shelve 会将 instan 阅读全文
posted @ 2019-06-14 13:41 gsophy 阅读(258) 评论(0) 推荐(0)
摘要:Rebuild Instance 操作详解 如果 instance 损坏了,可以通过 snapshot 恢复,这个恢复的操作就是 Rebuild。 Rebuild 会用 snapshot 替换 instance 当前的镜像文件,同时保持 instance 的其他诸如网络,资源分配属性不变。 下面是 阅读全文
posted @ 2019-06-14 10:47 gsophy 阅读(406) 评论(0) 推荐(0)
摘要:Snapshot Instance 操作详解 Nova 备份的操作叫 Snapshot,其工作原理是对 instance 的镜像文件(系统盘)进行全量备份,生成一个类型为 snapshot 的 image,然后将其保存到 Glance 上。 从备份恢复的操作叫 Rebuild 。 下面是 snaps 阅读全文
posted @ 2019-06-14 09:36 gsophy 阅读(223) 评论(0) 推荐(0)
摘要:Suspend/Resume 操作详解 有时需要长时间暂停 instance,可以通过 Suspend 操作将 instance 的状态保存到宿主机的磁盘上。 需要恢复的时候,执行 Resume 操作,从磁盘读回 instance 的状态,然后继续运行。 这里需要对 Suspend 和 Pause 阅读全文
posted @ 2019-06-13 18:00 gsophy 阅读(245) 评论(0) 推荐(0)
摘要:Pause 操作详解 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中。 当需要恢复的时候,执行 Resume 操作,从内存中读回 instance 的状态,然后继续运行 instance。 下面是 pause instance 的流程 阅读全文
posted @ 2019-06-13 15:58 gsophy 阅读(163) 评论(0) 推荐(0)
摘要:Terminate(Delete) 操作详解 Terminate 操作就是删除 instance,Rocky版中叫 Delete Instance,下面是 Delete instance 的流程图: 1、向 nova-api 发送请求 2、nova-api 发送消息 3、nova-compute 执 阅读全文
posted @ 2019-06-13 15:48 gsophy 阅读(181) 评论(0) 推荐(0)
摘要:Soft/Hard Reboot soft reboot 与 hard reboot 的区别在于: 1、soft reboot 只是重启操作系统,整个过程中,instance 依然处于运行状态。 相当于在 linux 中执行 reboot 命令 2、hard reboot 是重启 instance, 阅读全文
posted @ 2019-06-13 10:47 gsophy 阅读(182) 评论(0) 推荐(0)
摘要:Start Instance 操作详解 下面是 Start Instance 的流程图 1、向 nova-api 发送请求 2、nova-api 发送消息 3、nova-compute 执行操作 详细介绍: 1、向 nova-api 发送请求 客户(可以是 OpenStack 最终用户,也可以是其他 阅读全文
posted @ 2019-06-12 17:06 gsophy 阅读(222) 评论(0) 推荐(0)
摘要:Launch Launch instance 应该算 Nova 最重要的操作。 1、客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(nova-api)发送请求:“帮我创建一个 Instance” 2、API对请求做一些必要处理后,向 Messaging(RabbitMQ)发 阅读全文
posted @ 2019-06-12 13:43 gsophy 阅读(389) 评论(0) 推荐(0)
摘要:instance 从创建到删除的整个生命周期都是由 Nova 管理的。 通过日志分析加深对 Nova 的理解 OpenStack 日志 OpenStack 的日志记录了非常详细的细节信息 日志的位置 实验环境是 devstack,日志都统一放在 /opt/stack/logs 目录下,每个服务有自己 阅读全文
posted @ 2019-06-11 17:41 gsophy 阅读(1195) 评论(0) 推荐(0)
摘要:nova-compute nova-compute 在计算节点上运行,负责管理节点上的 instance。 OpenStack 对 instance 的操作,最后都是交给 nova-compute 来完成的。 nova-compute 与 Hypervisor 一起实现 OpenStack 对 in 阅读全文
posted @ 2019-06-11 16:31 gsophy 阅读(467) 评论(0) 推荐(0)
摘要:nova-scheduler nova-scheduler 选择在哪个计算节点上启动 instance 创建 Instance 时,用户会提出资源需求,例如 CPU、内存、磁盘各需要多少。 OpenStack 将这些需求定义在 flavor 中,用户只需要指定用哪个 flavor 就可以了。 可用的 阅读全文
posted @ 2019-06-11 11:43 gsophy 阅读(305) 评论(0) 推荐(0)
摘要:nova-api nova-api 是整个 Nova 组件的门户,所有对 Nova 的请求都首先由 nova-api 处理。 nova-api 向外界暴露若干 HTTP REST API 接口 在 keystone 中可以查询 nova-api 的 endponits。 客户端就可以将请求发送到 e 阅读全文
posted @ 2019-06-10 17:48 gsophy 阅读(232) 评论(0) 推荐(0)
摘要:API 前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求。 以 Nova 为例 nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 Nova 能够提供的功能。 当客户需要执行虚机相关的操作,能且只能向 nova-api 发送 RE 阅读全文
posted @ 2019-06-10 17:06 gsophy 阅读(190) 评论(0) 推荐(0)
摘要:Nova 物理部署方案 Nova 由很多子服务组成, OpenStack 是一个分布式系统,可以部署到若干节点上。 对于 Nova,这些服务会部署在两类节点上:计算节点和控制节点。 计算节点上安装了 Hypervisor,上面运行虚拟机。 由此可知: 1、只有 nova-compute 需要放在计算 阅读全文
posted @ 2019-06-10 16:35 gsophy 阅读(312) 评论(0) 推荐(0)
摘要:Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源。 OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的。 在上图中可以看到,Nova 处于 Openstak 架构的中心,其他组件都为 Nov 阅读全文
posted @ 2019-06-10 15:55 gsophy 阅读(256) 评论(0) 推荐(1)
摘要:删除 Image Web UI 删除 Image admin 登录后,Project -> Compute -> Images 在列表中选择要删除的 image,点击 Delete Images 点击 Delete Image 确认删除 操作成功 CLI 删除 image 设置环境变量 查询现有im 阅读全文
posted @ 2019-06-10 15:18 gsophy 阅读(253) 评论(0) 推荐(0)
摘要:创建 Image 有两种方法: 通过 Web GUI 通过 CLI OpenStack 为终端用户提供了 Web UI(Horizon)和命令行 CLI 两种交换界面。 两种方法并存的分析: 1、Web UI 的功能没有 CLI 全,有些操作只提供了 CLI。 即便是都有的功能,CLI 可以使用的参 阅读全文
posted @ 2019-06-10 14:32 gsophy 阅读(1083) 评论(0) 推荐(0)
摘要:理解 Glance OpenStack 由 Glance 提供 Image 服务 理解 Image 在传统 IT 环境下,安装一个系统要么从安装 CD 从头安装,要么用 Ghost 等克隆工具恢复。 这两种方式有如下几个问题: 1、如果要安装的系统多了效率就很低 2、时间长,工作量大 3、安装完还要 阅读全文
posted @ 2019-06-10 11:13 gsophy 阅读(162) 评论(0) 推荐(0)
摘要:通过例子学习Keystone 举例: User admin 要查看 Project 中的 image 当点击 connect 时,OpenStack 内部发生了下面的过程: Token 中包含了 User 的 Role 信息 请注意,顶部显示 admin 可访问的 Project 为 “admin” 阅读全文
posted @ 2019-06-10 10:41 gsophy 阅读(227) 评论(0) 推荐(0)
摘要:Keystone核心概念 作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情: 1、管理用户及其权限 2、维护 OpenStack Services 的 Endpoint 3、Authentication(认证)和 Authorization(鉴权) 下面这些概念都需要理解 阅读全文
posted @ 2019-06-05 14:39 gsophy 阅读(307) 评论(0) 推荐(0)
摘要:步骤部署 DevStack 实验环境,包括控制节点和计算节点。 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作系统 安装 Ubuntu 16.04,并配置 eth0 的 IP: devstack-controller 1 阅读全文
posted @ 2019-06-04 17:21 gsophy 阅读(281) 评论(0) 推荐(0)