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 ...
随机推荐
- java数组基础
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Angular之ngRoute与uiRoute
ngRoute不支持嵌套路由 用法如下: <!DOCTYPE html> <html lang="en" ng-app="myApp"> ...
- nodejs爬虫笔记(三)---爬取YouTube网站上的视频信息
思路:通过笔记(二)中代理的设置,已经可以对YouTube的信息进行爬取了,这几天想着爬取网站下的视频信息.通过分析YouTube,发现可以从订阅号入手,先选择几个订阅号,然后爬取订阅号里面的视频分类 ...
- sed进阶N;P;D
案例 sed 的高级替换 $cat file1 why:1 why:2 3 4 5 why:6 why:7 8 why:9 $cat file2 why:1 why:2 3 4 5 why:6 why ...
- 123 A. Prime Permutation
链接 http://codeforces.com/contest/123/problem/A 题目 You are given a string s, consisting of small Lati ...
- malloc,calloc,realloc,alloc
三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(si ...
- 数据库MySQL的基本操作
1.MySQL数据库的安装: CentOS6上mysql服务端和客户端的安装和启动: #使用yum安装mysql数据库的服务端和客户端 yum install -y mysql mysql-serve ...
- iOS-沙盒目录
///沙盒路径 + (NSString *)pathDocument{ NSFileManager *fileManager = [[NSFileManager alloc]init]; NSStri ...
- 使用JavaScript实现机器学习和神经学网络
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 下载heaton-javascript-ml.zip - 45.1 KB 基本介绍 在本文中,你会对如何使用JavaScript实现机器学习这个 ...
- 痞子衡随笔:常用的数据传输差错检测技术(1)- 奇偶校验(Parity Check)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式数据传输里的差错检测技术-奇偶校验. 在嵌入式应用里,除了最核心的数据处理外,我们还会经常和数据传输打交道.数据传输需要硬件传输接口 ...