熊孩子会撒野

小儿,来两斤梦想~

深挖Openstack Cinder - 数据库表结构

”深挖数据库表结构,相当于从原子角度去剖析整个模块组成。“  --- 我说的表清单1. backups – 数据备份2. cgsnapshots – 一致性组快照3. consistencygroups – 一致性组.4. driver_initiator_data – 驱动发起人数据5. enc...

2018-06-14 10:03:05

阅读数 479

评论数 0

深挖Openstack Glance - 源码分析(2)

3. 获取image信息

2018-06-13 11:41:47

阅读数 120

评论数 0

深挖Openstack Glance - 源码分析(1)

v1版本API功能解析1. 创建image2. 更新image3. 获取image信息(metadata和data)4. 删除image5. 获取image列表6. 获取image元数据(metadata)7. 下载image这些功能都在/glance/api/v1/images.py里,该文件主...

2018-06-12 14:42:17

阅读数 338

评论数 0

深挖Openstack Glance - 基本知识

一. glance的作用:提供虚拟机镜像的发现、注册、检索,使用RESTful接口接收外部请求 二. 版本说明glance有两个版本API v1/v2,其中v2版本(F版)较为简洁,将glance-api和glance-registry合并在一块。1. glance-api:接收REST API的...

2018-06-11 10:49:10

阅读数 260

评论数 0

深挖Openstack Nova - evacuate疏散函数

一. 当实例所在的节点发生故障不可用时,可执行evacuate操作,在另外一个新节点rebuild该实例,实现高可用。这可以是OpenStack计算节点HA的一种实现方案。二. API调用nova.servers.evacuate(server=fm['id']), on_shared_stora...

2018-06-08 10:15:47

阅读数 980

评论数 0

深挖Openstack Nova - Compute模块

一. nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理着虚拟机实例的生命周期,包括instance的launch、shutdown、reboot、suspend、resume、terminate、resize、migration、snapshot等。 二. 例如对...

2018-06-07 10:25:48

阅读数 295

评论数 0

深挖Openstack Nova - Scheduler调度策略(2)

当OpenStack自带的调度算法无法满足自己的业务需求时,这时我们可以增加自定义调度算法。现在有如下需求:需求1. 同一项目的多个实例分散到不同的计算节点上;需求2. 机柜感知 - 同一项目的多个实例分散到不同的机柜上;需求3. 要求实例B不放在与实例A相同的节点上。思路:需求1:(1)自带的S...

2018-06-06 09:55:55

阅读数 405

评论数 0

深挖Openstack Nova - Scheduler调度策略(1)

一.  Scheduler的作用就是在创建实例(instance)时,为实例选择出合适的主机(host)。这个过程分两步:过滤(Fliter)和计算权值(Weight)1. 过滤:过滤掉不符合我们的要求,或镜像要求(比如物理节点不支持64bit,物理节点不支持Vmware EXi等)的主机,留下符...

2018-06-06 09:37:11

阅读数 1569

评论数 2

深挖Openstack Nova - 实例创建(5)

--------------- 紧接上篇 nova实例创建(4) --------------------继续深入_provision_instances方法:3》在循环中,实例创建时需发送状态更新通知# 为实例的初始化建立发送一个状态更新通知,表示实例状态从不存在到建立 # send_updat...

2018-06-05 18:12:16

阅读数 161

评论数 0

深挖Openstack Nova - 实例创建(4)

--------------- 紧接上篇 nova实例创建(3) --------------------(8)完成配额管理instances = self._provision_instances(context, instance_type, min_count, max_co...

2018-06-05 15:17:50

阅读数 125

评论数 0

深挖Openstack Nova - 实例创建(3)

--------------- 紧接上篇 nova实例创建(2) --------------------5. 分析create方法在最开始的run_instances方法中可知创建实例是通过self.compute_api.create方法来实现的,该方法是在/nova/compute/api....

2018-06-05 11:08:44

阅读数 205

评论数 0

深挖Openstack Nova - 实例创建(2)

--------------- 紧接上篇 nova实例创建(1) --------------------3. 分析show方法在2.1中的image = self.image_service.show(context, internal_id)中,由于S3是EC2的存储平台,所以调用/nova/...

2018-06-04 23:38:15

阅读数 124

评论数 0

深挖Openstack Nova - 实例创建(1)

nova版本:Liberty一、创建实例涉及的主要目录结构(1)/nova/api/ec2/cloud.py:云控制器,执行EC2 REST API的调用,这个调用是通过AMQP RPC分派到其他节点(2)/nova/image/s3.py:从S3获取数据,建立镜像等相关方法(3)/nova/im...

2018-06-04 23:32:16

阅读数 449

评论数 0

重构 - 观察者模式

在一个实现通知功能的接口中,通常用一个通知类型notifyType来区别不同的业务场景,然后用switch来划分不同的逻辑流向。String notifyType = ""; switch (notifyType) { case "类型...

2018-06-04 23:25:19

阅读数 64

评论数 3

提示
确定要删除当前文章?
取消 删除
关闭
关闭