openstack创建一个虚拟机的过程_Listen_Silently的博客-CSDN博客


本站和网页 https://blog.csdn.net/u010653908/article/details/72121559 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

openstack创建一个虚拟机的过程_Listen_Silently的博客-CSDN博客
openstack创建一个虚拟机的过程
Listen_Silently
于 2017-05-15 09:54:09 发布
25292
收藏
31
分类专栏:
云计算与虚拟化
文章标签:
openstack
云计算与虚拟化
专栏收录该内容
2 篇文章
0 订阅
订阅专栏
为什要用云?
一.简单的说就是对资源更加合理的分配,使用,比如硬件的数量,带宽等等这些,因为你不能机器买来不需要了再卖掉(当然也可以),带宽跟机房签合同得来一年的,中间不够了也不能加,超了也不退钱
二.还有就是可以有一个可以统一管理的操作平台,可以快速的对基础设施进行建设配置等等,方便了许多
云计算是个什么鬼?
资源可以循环利用的一个过程(PS:没有虚拟化就没有云,因此这两者没什么可比性)
现有云模式(复制大神的):
一、IaaS:基础设施即服务(个人比较习惯的):用户通过网络获取虚机、存储、网络,然后用户根据自己的需求操作获取的资源
二、PaaS:平台即服务:将软件研发平台作为一种服务, 如Eclipse/Java编程平台,服务商提供编程接口/运行平台等
三、SaaS:软件即服务  :将软件作为一种服务通过网络提供给用户,如web的电子邮件、HR系统、订单管理系统、客户关系系统等。用户无需购买软件,而是向提供商租用基于web的软件,来管理企业经营活动
openstack的核心组件介绍(openstack就不多说, redhat推动的,很多云都是基于其开发的,6个月一更新,现在是M版)
重要的:
一.Horizon(控制台),又名Dashboard
就是web展示界面操作平台,方便用户交互的
二.Nova(计算)
负责创建,调度,销毁云主机
三.Neutron(网络)
负责实现SDN
四.Swift(对象存储)
目录结构存储数据
五.Cinder(块存储)
提供持久化块存储,即为云主机提供附加云盘
六.Glance(镜像)
提供镜像服务,装机使用
七.Keystone(认证)
为访问openstack各组件提供认证和授权功能,认证通过后,提供一个服务列表(存放你有权访问的服务),可以通过该列表访问各个组件
不重要的:
八.Ceilometer(计费),很明显自用的根本不需要这功能,而且所谓的监控其实根本也算不上什么监控
监控性能,计费
九.Heat(编排),这个太高大上了,就目前阶段正常企业还搞不定
自动化部署应用,自动化管理应用的整个生命周期.主要用于Paas (本来以为青云现在的资源编排就是啊,用了以后看来还不是,只是方便了点)
好,直接开大,先来个整体的流程(图中有错误)
从这个图我们可以明白每一个组件为创建一台vm都提供了什么,其实就是上面各组件的功能的一个整合图,这里需要注意的就是每一步都需要去keystone去进行验证,下图有详细的流程(每一步完成后去验证的过程省略了)
登录界面或命令行通过RESTful API向keystone获取认证信息。 keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。 界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。 nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token。 keystone验证token是否有效,如有效则返回有效的认证和对应的角色(注:有些操作需要有角色权限才能操作)。 通过认证后nova-api和数据库通讯。 初始化新建虚拟机的数据库记录。 nova-api通过rpc.call向nova-scheduler请求是否有创建虚拟机的资源(Host ID)。 nova-scheduler进程侦听消息队列,获取nova-api的请求。 nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机。 对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息。 nova-scheduler通过rpc.cast向nova-compute发送对应的创建虚拟机请求的消息。 nova-compute会从对应的消息队列中获取创建虚拟机请求的消息。 nova-compute通过rpc.call向nova-conductor请求获取虚拟机消息。(Flavor) nova-conductor从消息队队列中拿到nova-compute请求消息。 nova-conductor根据消息查询虚拟机对应的信息。 nova-conductor从数据库中获得虚拟机对应信息。 nova-conductor把虚拟机信息通过消息的方式发送到消息队列中。 nova-compute从对应的消息队列中获取虚拟机信息消息。 nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求glance-api获取创建虚拟机所需要镜像。 glance-api向keystone认证token是否有效,并返回验证结果。 token验证通过,nova-compute获得虚拟机镜像信息(URL)。 nova-compute通过keystone的RESTfull API拿到认证k的token,并通过HTTP请求neutron-server获取创建虚拟机所需要的网络信息。 neutron-server向keystone认证token是否有效,并返回验证结果。 token验证通过,nova-compute获得虚拟机网络信息。 nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求cinder-api获取创建虚拟机所需要的持久化存储信息。 cinder-api向keystone认证token是否有效,并返回验证结果。 token验证通过,nova-compute获得虚拟机持久化存储信息。 nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。
这里面可以看出组件之间的通讯都是通过restapi实现的
害怕不...但是了解了这些你就可以出去装逼了,然后细分每个组件的细节(说好的自己写变成复制粘贴了....主要人家些太好了)
1.keystone
User:指使用Openstack service的用户,可以是人、服务、系统,但凡使用了Openstack service的对象都可以称为User。
Project(Tenant):可以理解为一个人、或服务所拥有的 资源集合 。在一个Project(Tenant)中可以包含多个User,每一个User都会根据权限的划分来使用Project(Tenant)中的资源。比如通过Nova创建虚拟机时要指定到某个Project中,在Cinder创建卷也要指定到某个Project中。User访问Project的资源前,必须要与该Project关联,并且指定User在Project下的Role。
Role:用于划分权限。可以通过给User指定Role,使User获得Role对应的操作权限。Keystone返回给User的Token包含了Role列表,被访问的Services会判断访问它的User和User提供的Token中所包含的Role。系统默认使用管理Role admin和成员Role _member_ 。
Policy:OpenStack对User的验证除了OpenStack的身份验证以外,还需要鉴别User对某个Service是否有访问权限。Policy机制就是用来控制User对Tenant中资源(包括Services)的操作权限。对于Keystone service来说,Policy就是一个JSON文件,默认是/etc/keystone/policy.json。通过配置这个文件,Keystone Service实现了对User基于Role的权限管理。
Token:是一个字符串表示,作为访问资源的令牌。Token包含了在 指定范围和有效时间内 可以被访问的资源。EG. 在Nova中一个tenant可以是一些虚拟机,在Swift和Glance中一个tenant可以是一些镜像存储,在Network中一个tenant可以是一些网络资源。Token一般被User持有。
Credentials:用于确认用户身份的凭证
Authentication:确定用户身份的过程
Service:Openstack service,即Openstack中运行的组件服务。
Endpoint:一个可以通过网络来访问和定位某个Openstack service的地址,通常是一个URL。比如,当Nova需要访问Glance服务去获取image 时,Nova通过访问Keystone拿到Glance的endpoint,然后通过访问该endpoint去获取Glance服务。我们可以通过Endpoint的region属性去定义多个region。Endpoint 该使用对象分为三类:
admin url –> 给admin用户使用,Post:35357 internal url –> OpenStack内部服务使用来跟别的服务通信,Port:5000 public url –> 其它用户可以访问的地址,Post:5000
创建完service后创建API EndPoint. 在openstack中,每一个service都有三种end points. Admin, public, internal。 Admin是用作管理用途的,如它能够修改user/tenant(project)。 public 是让客户调用的,比如可以部署在外网上让客户可以管理自己的云。internal是openstack内部调用的。三种endpoints 在网络上开放的权限一般也不同。Admin通常只能对内网开放,public通常可以对外网开放internal通常只能对安装有openstack对服务的机器开放。
一个实例:
用户alice登录keystone系统(password或者token的方式),获取一个临时的token和catalog服务目录(v3版本登录时,如果没有指定scope,project或者domain,获取的临时token没有任何权限,不能查询project或者catalog)。 alice通过临时token获取自己的所有的project列表。 alice选定一个project,然后指定project重新登录,获取一个正式的token,同时获得服务列表的endpoint,用户选定一个endpoint,在HTTP消息头中携带token,然后发送请求(如果用户知道project name或者project id可以直接第3步登录)。 消息到达endpoint之后,由服务端(nova)的keystone中间件(pipeline中的filter:authtoken)向keystone发送一个验证token的请求。(token类型:uuid需要在keystone验证token,pki类型的token本身是包含用户详细信息的加密串,可以在服务端完成验证) keystone验证token成功之后,将token对应用户的详细信息,例如:role,username,userid等,返回给服务端(nova)。 服务端(nova)完成请求,例如:创建虚拟机。 服务端返回请求结果给alice。
2.glance
3.nova与cinder
nova主要组成:
    nova-api
    nova-scheduler
    nova-compute
    nova-conductor
cinder主要组成:
    cinder-api
    cinder-scheduler
    cinder-volume
cinder各组件功能:
Cinder-api 是 cinder 服务的 endpoint,提供 rest 接口,负责处理 client 请求,并将 RPC 请求发送至 cinder-scheduler 组件。
Cinder-scheduler 负责 cinder 请求调度,其核心部分就是 scheduler_driver, 作为 scheduler manager 的 driver,负责 cinder-volume 具体的调度处理,发送 cinder RPC 请求到选择的 cinder-volume。
Cinder-volume 负责具体的 volume 请求处理,由不同后端存储提供 volume 存储空间。
4.neutron
neutron包含组件:
    neutron-server
    neutron-plugin
    neutron-agent
neutron各组件功能介绍:
1.Neutron-server可以理解为一个专门用来接收Neutron REST API调用的服务器,然后负责将不同的rest api分发到不同的neutron-plugin上。
2.Neutron-plugin可以理解为不同网络功能实现的入口,各个厂商可以开发自己的plugin。Neutron-plugin接收neutron-server分发过来的REST API,向neutron database完成一些信息的注册,然后将具体要执行的业务操作和参数通知给自身对应的neutron agent。
3.Neutron-agent可以直观地理解为neutron-plugin在设备上的代理,接收相应的neutron-plugin通知的业务操作和参数,并转换为具体的设备级操作,以指导设备的动作。当设备本地发生问题时,neutron-agent会将情况通知给neutron-plugin。
4.Neutron database,顾名思义就是Neutron的数据库,一些业务相关的参数都存在这里。
5.Network provider,即为实际执行功能的网络设备,一般为虚拟交换机(OVS或者Linux Bridge)
Listen_Silently
关注
关注
11
点赞
31
收藏
评论
openstack创建一个虚拟机的过程
为什要用云?一.简单的说就是对资源更加合理的分配,使用,比如硬件的数量,带宽等等这些,因为你不能机器买来不需要了再卖掉(当然也可以),带宽跟机房签合同得来一年的,中间不够了也不能加,超了也不退钱二.还有就是可以有一个可以统一管理的操作平台,可以快速的对基础设施进行建设配置等等,方便了许多 云计算是个什么鬼?资源可以循环利用的一个过程(PS:没有虚拟化就没有云
复制链接
扫一扫
专栏目录
openstack虚拟机创建的50个步骤和100个知识点
11-04
openstack虚拟机创建的50个步骤和100个知识点
OpenStack 创建虚拟机报错:<class ‘keystoneauth1.exceptions.http.Unauthorized‘> (HTTP 500) (Request-ID: req-2
最新发布
哈哈虎的博客
12-06
247
OpenStack 创建虚拟机报错: (HTTP 500) (Request-ID: req-2
评论 1
您还未登录,请先
登录
后发表或查看评论
openstack创建虚拟机流程图
controllerha的博客
12-24
4755
openstack创建虚拟机流程图
Openstack:创建实例
zJay-L's Blog
11-08
866
如何在openstack管理界面创建实例?
openstack虚拟机创建流程
shaoyunzhe的专栏
05-22
1540
一、原理
1、界面或命令行通过RESTful API向keystone获取认证信息。
2、keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。
3、界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。
4、nova-api接受请求后向keystone发送认证请求,查看token是...
Openstack虚拟机创建流程
abtmh02622的专栏
02-26
100
续上一篇Openstack安装配置
一,keystone交互认证阶段
  1,发送用户名和密码给keystone认证获取token 
  2,带着token访问nova-api
  3,nova-api使用token去keystone认证验证token有效性
二,nova组件交互阶段
  4,往数据库写入虚拟机信息
  5,把请求放入消息队列
  6,no...
openstack之虚拟机创建流程分析
xuriwuyun的专栏
08-01
1万+
本文试图详细地描述openstack创建虚拟机的完整过程,从用户发起请求到虚拟机成功运行,包括客户端请求的发出、keystone身份验证、nova-api接收请求、nova-scheduler调度、nova-computer创建、nova-network分配网络。对于每一个模块在创建虚拟机的过程中所负责的功能和执行的操作,进行较为详细描述和讨论。
openstack及组件简要介绍
weixin_33940102的博客
09-20
930
为什要用云?
一.简单的说就是对资源更加合理的分配,使用,比如硬件的数量,带宽等等这些,因为你不能机器买来不需要了再卖掉(当然也可以),带宽跟机房签合同得来一年的,中间不够了也不能加,超了也不退钱
二.还有就是可以有一个可以统一管理的操作平台,可以快速的对基础设施进行建设配置等等,方便了许多
云计算是个什么鬼?
资源可以循环利用的一个过程(PS:没有虚拟化就没有云,因此这两者没什么可...
云计算虚拟机实验2020
zackor_的博客
03-15
1931
云计算虚拟机实验
实验目的:
下载 Wmware软件,并在Wmware上配置四台Linux虚拟机Centos系统,使其能互通;
使Wmare上的Linux虚拟机连接Xshell;
在其中一台虚拟机上安装mysql。
实验过程:
一.Vmware安装:
打开Vmware安装文件
(安装软件图标)
(点击出现页面)
出现界面点击下一步:
点击我接受,然后点下一步:
点击下一步:
点击下一步:
...
虚拟机部署贪心法实现
qq_40741513的博客
09-17
303
考虑到在虚拟机部署中资源提供商通常希望自己的收益最大化,现假设有一台宿主机,共有x个cpu和y GB的内存,用户可以采取自己报价的方式向资源提供商申请使用虚拟机资源,譬如说付w元申请a个cpu和b GB内存的一台虚拟机。请你设计一个算法,让资源提供商可以合理地安排虚拟机,使得自己的收益最大化。
输入:
n x y
2 4 200
4 2 150

考虑到在虚拟机部署中资源提供商通常希...
OpenStack学习笔记(三)keystone、Glance、Nova组件
tina_sprunt的开发笔记
11-20
1053
keystone
#登录信息提交给Credentials之后,Credentials会生成一个临时令牌token,后面的操作校验token是否合法即可
#Project 将 资源(计算、存储和网络)进行分组和隔离,user需要使用哪个就挂载那个project,可以挂载多个
#User通过Endpoint终端点(也就是service的API,通常是一个url)访问service资源以及执...
openstack命令行创建虚拟机
awakeinging_的博客
04-25
1301
openstack命令行创建虚拟机
1、创建flavor
nova flavor-create 1C.1G auto 1024 1 1024
2、创建镜像
openstack image create “cirros”
–file cirros-0.3.5-x86_64-disk.raw
–disk-format raw --container-format bare
–public
3、创建网络
neutron net-create net0
neutron subnet-create net01
OpenStack的架构详解
张在兴 从蜗牛到大牛 奋斗
09-29
3512
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
1. OpenStack是什么
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云
OpenStack--创建虚拟机
weixin_44515412的博客
08-10
469
启动虚拟机之前需要先做一些前期准备,比如网络和 IP 地址分配、虚拟机;类型创建等等,
具体如下:
1、网络规划及 IP 划分
官网安装文档 : https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance.html#id1
#1:创建桥接网络:
[root@linux-host1 ~]# openstack network create --share --external --provider-physical-netw
openstack创建虚拟机流程,从界面任务发起,到nova等组件处理,到虚机创建完成
u012631731的博客
10-21
1704
这个图是经典的记录了openstack创建虚拟机的详细流程,总共28个步骤。
1.客户端使用自己的用户名密码请求认证。
2.keystone通过查询在keystone的数据库user表中保存了user的相关信息,包括password加密后的hash值,并返回一个token_id(令牌),和serviceCatalog(一些服务的endpoint地址,cinder、glance-api后
OpenStack创建虚拟机流程
a755142155的博客
01-08
629
登录界面或命令行通过restful API 想keystone 获取认证信息
keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求
界面或命令行通过restful API向nova-api发送一个boot instance的请求(携带auth-token)
Nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和有效token
ke...
openstack使用命令行nova创建虚拟机
Poo_Chai的博客
06-29
1万+
我们一台虚拟机需要的东西不多,大小、镜像、网络以及安全组。所以我们就只需要查出这些配置信息,然后就可以创建虚拟机了。说明一下,本人是利用公司里docker容器里部署的openstack,所以在创建之前,先用命令行进入相应容器中:docker exec -it -u 0 neutron-server /bin/bash进入到:neutron-server中,再继续以下命令:1.查看flavor使用n...
OpenStack 源码阅读-创建虚拟机(一)
塔尖草的博客
05-06
1356
本文为扶艾原创文章,版权所有,禁止转载!
请大家静下心来看源码分析的文章,看完后相信你会有收获的!
本文来自于微信公众号“扶艾”,欢迎大家关注获取更多精彩内容!
我们分析就分析全套的,创建虚拟机的源码分析总共分为三篇文章,我们将会用通俗易懂的语言来描述整个流程。第一篇文章将分析客户端部分的源码,也就是从点击创建虚拟机按钮后到发送http请求这部分的源码;第二篇文章将分析nova api如何接...
先电iaas云平台搭建(openstack)————虚拟机创建
热门推荐
天上一滩水的博客
09-16
3万+
写在前面:
1,我使用的虚拟机是vmware
2,电脑内存建议8G+
3,光盘镜像文件使用的是:
CentOS-7-x86_64-DVD-1511
XianDian-IaaS-v2.2
4,虚拟机创建这里只记录几个必要的点,创建步骤就不多加赘述
一,创建虚拟机
1,创建controller虚拟机
controller节点,内存至少给5G,第一张网卡使用仅主机模式网...
openstack搭建--7--创建一台虚拟机
雨花石
08-06
2441
回顾下前几节用到的东西
MySQL:为各个服务提供数据存储
RabbitmQ:为各个服务之间提供通信提供交通枢纽
Keystone:为各个服务之间通信提供认证和服务注册
Glance:为虚拟机提供镜像管理
Nova:为虚拟机提供计算资源
Neutron:为虚拟机提供网络
创建一个单一扁平网络和子网
1、创建单一扁平网络
在控制节点上,加载 admin 凭证
创建kvm虚拟机以及搭建openstack平台
cron_zzx的博客
08-19
1652
准备环境 (真机)
禁用 selinux 配置文件 /etc/selinux/config
SELINUX=disabled
禁用 firewalld
systemctl stop firewalld //关闭防火墙,但当其他应用程序调用到防火墙时,会再次启动防火墙
systemctl (un)mask firewalld //注销防火墙服务,将服务的链接改为 /dev/null,其他程...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
Listen_Silently
CSDN认证博客专家
CSDN认证企业博客
码龄10年
暂无认证
36
原创
3万+
周排名
115万+
总排名
40万+
访问
等级
2442
积分
68
粉丝
177
获赞
22
评论
368
收藏
私信
关注
热门文章
如何将dmp文件导入到自己的oracle数据库中
146344
response设置编码的三种方式以及比较
32857
openstack创建一个虚拟机的过程
25290
如何让HashMap变成线程安全的?
20835
一个完整的网络访问过程的分析(从计算机网络的角度)
19721
分类专栏
SSH框架
9篇
JVM
1篇
算法与数据结构
JAVA基础高级
3篇
Java线程安全
网络协议
5篇
云计算与虚拟化
2篇
JAVA NIO
1篇
SpringMVC
2篇
Mybatis
1篇
JAVA
数据库
2篇
java纠错
1篇
安全
网络安全
计算机网络
3篇
虚拟机
1篇
linux
5篇
华为网络竞赛
2篇
操作系统
1篇
前端
2篇
最新评论
如何将dmp文件导入到自己的oracle数据库中
努力撸代码的小刑:
大佬,我最近也在遇到这个麻烦,就是想问下,dmp文件导入后变为了dbf文件,如何恢复为数据库所有的.sql呀?以及如何进行查看这个表的内容信息的呀,别人发给我的是dmp文件,我用的Oracle打开,发现用不了多少的呀,求大佬帮忙下
String、StringBuffer、StringBuilder的区别及应用场景
qq_36716443:
一个完整的网络访问过程的分析(从计算机网络的角度)
baidu_39418827:
服务端接收的包里,包含客户端IP及所经过的所有网关的信息吗
一个完整的网络访问过程的分析(从计算机网络的角度)
Pandor Cavalry:
补充下,www.baidu.com并不是浏览器自动补齐的,是服务器URL自动跳转了
如何将dmp文件导入到自己的oracle数据库中
tomcoding_com:
什么不好的覆盖即可是的故事大概,,,,,,,,全面解析exp导出数据文件的格式,自己写代码导入数据,快来tomcoding网站看看,还能下载DUL工具源代码,不启动oracle直接读取表中的数据,下载logminer工具源代码,解析日志中的SQL语句,下载ASM工具源代码,看看怎样直接读取磁盘中的数据
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
ubuntu怎样解决“XXX is not in the sudoers file”错误
app.vue删除内容时报错解决方法
npm安装vue-cli报错解决方法
2022年1篇
2021年2篇
2018年1篇
2017年41篇
2016年21篇
2015年1篇
目录
目录
分类专栏
SSH框架
9篇
JVM
1篇
算法与数据结构
JAVA基础高级
3篇
Java线程安全
网络协议
5篇
云计算与虚拟化
2篇
JAVA NIO
1篇
SpringMVC
2篇
Mybatis
1篇
JAVA
数据库
2篇
java纠错
1篇
安全
网络安全
计算机网络
3篇
虚拟机
1篇
linux
5篇
华为网络竞赛
2篇
操作系统
1篇
前端
2篇
目录
评论 1
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值

Copyright ©uecom 京ICP备18064371号-1 IPV6
2024-03-29 14:28:41
uenu.com.cn
10.0.12.16