Ironic中pxe driver和agent driver的区别
历史问题:
以pxe_ipmitool 和agent_ipmitool为例,看起来似乎前者不使用ironic-python-agent,后者使用,但是实际上两者都使用ironic-python-agent进行部署,现在的命名其实是历史遗留问题。
在kilo版本之前,pxe_ipmitool 使用ramdisk进行部署,ramdisk中只有bash脚本,没有ironic-python-agent,但是后来为了减少开发和维护的复杂度,Kilo之后,pxe_ipmitool 也使用ironic-python-agent部署。
对比:
Ironic部署裸机时,裸机在内存中使用deploy镜像启动一个自带ironic-python-agent的操作系统。如果使用的pxe_ipmitool 驱动,conductor发送rest请求,使得agent将识别到的第一块磁盘,通过iscsi协议映射到conductor节点上。然后conductor从glance下载对应的镜像,convert成raw格式,写入目标磁盘。如果使用的是agent_ipmitool驱动,conductor发送rest请求,agent自行下载镜像写入裸机磁盘上。
对于qcow2 image:
如果使用agent_ipmitool,每次都要下载到内存中,convert成raw格式,再写入磁盘,对目的节点内存要求更大,如果是disk size 10G的大镜像,那么就要求内存10G以上如果使用pxe_ipmitool , 每次格式转换在conductor节点上做,缓存到conductor节点上,传输的时候通过dd写入网络,对目的机器内存无要求,但是ironic节点压力大,并且需要额外的空间存放ironic缓存的镜像。
对于raw image:
agent_ipmitool支持将raw格式的镜像直接写入磁盘,不需要先cache到内存中,所以对内存无额外要求。这种情况下,唯一的问题是大规模部署时,每个节点都要向glance去下载一次镜像,glance的压力会更大,但是如果是pxe_ipmi driver,对ironic conductor的压力也会更大,所以也不能算是一个缺点。
结论:
agent_ipmitool + raw 镜像看起来是最完美的解决方案,但是可惜的是agent_ipmitool依赖于swift或者ceph radosgw,如果是rbd方式或者filesystem方式存放镜像,agent driver不支持。问了下社区相关人员,他们没有解决这个问题的打算。或者可以通过二次开发解决来这个问题。
Ironic中pxe driver和agent driver的区别的更多相关文章
- selenium中driver.close()和driver.quit()的不同点
driver.quit()与driver.close()的不同:driver.quit(): Quit this driver, closing every associated windows;dr ...
- 转载:安装ie driver和chrome driver
很多同学在使用webdriver的时候总是忘了安装ie driver和chrome driver, 因此在这里简单介绍一下这2个driver的安装方式. IE driver 在新版本的webdrive ...
- Could not create the driver from NHibernate.Driver.SQLite20Driver
使用NHibernate连接Sqlite语句,版本为.net3.5. 升级.net 4.0出现异常,提示”Could not create the driver from NHibernate.Dri ...
- vs Qt mysql 打包程序 Driver not loaded Driver not loaded
vs下开发Qt连接mysql程序,开发过程中操作MySQL没有问题,但打包以后安装在别的电脑上发现竟然无法连接MySQL,打包的时候,所需的libmysql.dll等dll文件拷贝到exe同级目录了, ...
- Jenkins的配置从节点中默认没有Launch agent via Java Web Start选项问题
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的. 如何设置才能让出来呢? 1:打开" ...
- Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的. 如何设置才能让出来呢? 1:打开" ...
- 在Ubuntu上安装Chrome Driver和Firefox Driver
在Ubuntu上安装Chrome Driver和Firefox Driver 此文章只介绍Chrome Driver(Firefox Driver和该步骤相同) 下载链接:http://chromed ...
- driver.get()和driver.navigate().to()到底有什么不同?-----Selenium快速入门(四)
大家都知道,这两个方法都是跳转到指定的url地址,那么这两个方法有什么不同呢?遇到这种情况,第一反应就是查查官方的文档. 官方文档的说法是:Load a new web page in the cur ...
- driver.close()和driver.quit()
driver.close()关闭当前窗口 driver.quit()退出驱动关闭所有窗口 from selenium import webdriver from time import sleep d ...
随机推荐
- android之间传递list
Intent intent = new Intent(getActivity(), Activity_Character.class); intent.putExtra("mlTrait&q ...
- 自动化安装DHCP配置脚本
DHCP配置脚本: #!/bin/sh NET=192.168.6.0 MASK=255.255.255.0 RANGE="192.168.6.50 192.168.6.100" ...
- 《.NET 设计规范》第 4 章:类型设计规范
第 4 章:类型设计规范 4.1 类型和命名空间 要用命名空间把类型组织成一个由相关的功能区所构成的层次结构中. 避免非常深的命名空间层次.因为用户需要经常回找,所以这样的层次浏览起来很困难. 避免有 ...
- Python CRM项目七
仿照Django Admin实现对readonly的字段进行设置 功能点: 1.页面不可进行更改 2.如果改变html代码中的值,则需要进行后端的数据库数据校验 3.可以对某些字段进行自定制校验规则 ...
- windows上搭建svn 、 Eclipse上安装svn插件 、 eclipse中如何使用svn
折腾了许久终于搞出来了. svn搭建 一.svn概述 SVN就是用于多个人共同开发同一个项目,共用资源的目的,该文描述了把svn搭建在本地上,和搭建在Eclipse4.5.2上. 二.svn分类 分为 ...
- CSS学习笔记(一):定位与溢出
一.定位:positionstatic | relative | absolute | fixed | inherit ,各值含义如下: 1)static:元素框正常生成,块级元素生成一个矩形框,作为 ...
- Nutch2.2.1在MyEclipse中的安装(window7环境)
在https://svn.apache.org/repos/asf/nutch/branches/branch-2.2.1/网址里面可以找到Nutch2.2.1版本的资源文件. 1. 在MyEclip ...
- BZOJ 3640: JC的小苹果 [概率DP 高斯消元 矩阵求逆]
3640: JC的小苹果 题意:求1到n点权和\(\le k\)的概率 sengxian orz的题解好详细啊 容易想到\(f[i][j]\)表示走到i点权为j的概率 按点权分层,可以DP 但是对于\ ...
- 通过Log4net来配置我们需要的日志文件格式
我们先来看看配置写入txt文件是如何 的,当然不止可以配置txt格式还有其它格式. <?xml version="1.0" encoding="utf-8&qu ...
- cocos2d-x代码阅读笔记 - 入口
每一个C\C++程序都有一个非常有名的入口函数 main(),在Windows系统下,这个函数就变成了WinMain函数. 在cocos2d-x 2.0.4的Windows版本中,main函数非常简单 ...