OpenStack Ironic 常见问题
whole disk和partition 镜像
whole disk镜像部署可以支持windows,但是不能自定义分区(可以通过cloud-init实现),分区表是做镜像的人确定好的,partition image支持按照flavor中规定的root,swap分区来自动进行磁盘分区。
partition image方式部署的机器将kernel和ramdisk都存放在tftp server上,每次启动都需要访问tftp,whole disk部署的服务器启动时不需要访问tftp server。
更新:partition image也支持从本地启动,需要设置特别的元数据,文档在https://docs.openstack.org/project-install-guide/baremetal/draft/advanced.html#local-boot-with-partition-images
coreos deploy image和 ramdisk deploy image
coreos image是社区媒体dailybuild使用的,也是社区推荐的选项,ramdisk image支持更多的元素,比如raid部署(使用agent_ilo)。
spec:https://specs.openstack.org/openstack/ironic-specs/specs/kilo-implemented/whole-disk-image-support.html
raid的进展
hardware raid目前只有ilo和drac的服务器支持raid部署,需要build专门的包含hpe raid管理软件的ramdisk镜像支持,社区正在做software raid的方案,通过agent启动后使用raid-md来做raid,
软raid: https://blueprints.launchpad.net/ironic/+spec/inband-raid-configuration
现有的raid支持: https://docs.openstack.org/developer/ironic/deploy/raid.html
console的实现,原理,scott和shellinabox的区别
通过SOL(serial over lan),即通过网络转发串口的方式来将console暴漏给用户,ironic使用的是ipmitool 的sol activate命令。默认是通过shellinabox展示给user,可以通过网页查看,像nova看虚拟机一样,也可以通过scott,暴露出来的是ip+端口,可以通过telnet访问。
root@ubuntu:~# ipmitool -I lanplus -H 172.16.6.222 -U root -P password sol activate
[SOL Session operational. Use ~? for help]
LTS debian ttyS1
debian login:
裸机和ironic控制器的网络通信
裸机管理有两种情况,一种是通过flat网络通信,裸机和控制器在同一个二层网络里,网络架构比较简单,这里不展开了。
但是更合理的情况是,裸机使用multi tenancy来管理网络,Ironic裸机和控制器在不同的vlan里,裸机部署时需要向控制器tftp服务请求镜像,这就需要在三层打通部署tftp所在的控制器网络和部署网络。如果是通过partion image部署,裸机部署完成后,每次开机时,也要向tftp请求镜像(使用partition image且不从本地启动的情况下),这样就又需要打通tftp到instance vlan。不过如果通过whole disk方式部署裸机就不需要这么麻烦了,whole disk部署的服务器启动时不需要访问tftp server.
通过物理交换机配置比较麻烦,我们可以通过neutron router上打通不同vlan,下面上海二楼的环境为例。
当前的环境如下:
- 控制器位于172.16.140.51上,物理网关地址为172.16.140.1
- 裸机的部署网络配置为vlan 160,172.16.160.0/24网段,只是在交换机上创建了对应的vlan,没有物理网关
- 控制器上部署了tftp服务,dns服务,ironic服务,neutron服务
操作步骤:
- 创建neutron vlan140网络,网关声明为172.16.140.100 这里要避开物理网关
- 创建neutron vlan160网络,网关声明为172.16.160.1
- 创建router,不设置网关,既不激活snat
- 在router中添加到vlan140网络的接口,接口ip不输入或者输入网关172.16.140.100
- 在router中添加到vlan160网络的接口,接口ip不输入或者输入网关172.16.160.1
- 在控制器上添加一条路由router add -net 172.16.160.0/24 gw 172.16.140.100
这样就使得控制器172.16.140.51能和部署网络172.16.160.0/24互通,能够完成部署工作。如果是使用wholedisk的镜像进行部署,那么这样的网络已经足够。如果需要部署partition格式的镜像,还需要按照上面的方式打通instance网络。
OpenStack Ironic 常见问题的更多相关文章
- Ironic , Openstack Baremetal Hypervisor
Ironic , Openstack Baremetal Hypervisor,首发于UnitedStack Inc.. 转自: http://ju.outofmemory.cn/entry/4876 ...
- enable multi-tenancy on openstack pike
Multi-tenancy 是openstack ironic从Ocata版本开始支持的新特性,通过network-generic-switch插件控制交换机,Ironic可以实现在不同租户间机网络隔 ...
- Enable multi-tenancy on ironic
Multi-tenancy 是openstack ironic从Ocata版本开始支持的新特性,通过network-generic-switch插件控制交换机,Ironic可以实现在不同租户间机网络隔 ...
- packstack安装ironic
KVM Centos7.3虚机 安装openstack Pike版本, 其它版本安装方法类似. packstack目前对NetworkManager 还不支持,我们修改下配置: systemctl d ...
- Data Center Manager Leveraging OpenStack
这是去年的一个基于OpenStack的数据中心管理软件的想法. Abstract OpenStack facilates users to provision and manage cloud ser ...
- Ironic 裸金属管理服务
目录 文章目录 目录 Ironic 软件架构设计 资源模型设计 全生命周期的状态机设计 Inspection 裸金属上架自检阶段 Provision 裸金属部署阶段 Clean 裸金属回收阶段 快速体 ...
- 简单聊聊 Ironic
上一篇文章里我简单介绍了一下「裸金属」的概念,提到了 OpenStack 中的核心项目 Ironic,今天简单来聊聊它. Ironic 项目的吉祥物 Bare Metal 所以用 Bear 来做吉祥物 ...
- 十件你需要知道的事,关于openstack-trove(翻译)
开源数据库即服务OpenStack Trove应该知道的10件事情 作者:Ken Rugg,Tesora首席执行官 Ken Rugg是Tesora的创始人,CEO和董事会成员. Ken的大部分职业都是 ...
- [资料] Ceph存储系统,关于Redhat和Suse企业版存储知识汇总
版权声明:很多其它内容,请关注[架构师技术联盟]公众号 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/81117091 wx_f ...
随机推荐
- Java为什么需要保留基本数据类型
基本数据类型对以数值计算为主的应用程序来说是必不可少的. 自从1996年Java发布以来,基本数据类型就是Java语言的一部分.John Moore通过对使用基本类型和不使用基本类型做java基准测试 ...
- tomcat启动报错
[toc]启动错误 does not exist or is not a readable directory 问题:tomcat启动报错:does not exist or is not a rea ...
- java中的 private Logger log=Logger.getLogger(this.getClass());
this.getClass()得到什么? this 表示当前对象的引用: getClass() 是 java.lang.Object 中的方法,它返回一个对象的运行时类: this.getClass( ...
- VS 2017 发布:由于构建错误,发布失败
用17写AspNetCore 也一年了,最近出现了这个问题 : 在点击发布的时候 报错了,构建失败的问题,刚开始还排查日子,删除以往的发布遗留痕迹,后来发现不行, 但是项目在本地运行的时候是好使的,生 ...
- Mysql了解及安装
1.数据库由两部分来构成的 打开一个连接工具,用工具给MySQL发送命令,实际上是给数据库当中的服务下的命令,在服务当中解析命令,最终将命令转化成对物理库上文件IO的操作. 所以数据库的安装位置有两个 ...
- ABP框架源码学习之修改默认数据库表前缀或表名称
ABP框架源码学习之修改默认数据库表前缀或表名称 1,源码 namespace Abp.Zero.EntityFramework { /// <summary> /// Extension ...
- mkdir与mkdirs的区别
mkdir与mkdirs的区别 项目中需要在代码中读取或创建文件保存路径,用到了mkdir,查看还有个mkdirs方法,这里记录一下两者的区别. 1.关于两者的说明如下: boolean mkdir( ...
- 关于Kafka 的 consumer 消费者处理的一些见解
前言 在上一篇 Kafka使用Java实现数据的生产和消费demo 中介绍如何简单的使用kafka进行数据传输.本篇则重点介绍kafka中的 consumer 消费者的讲解. 应用场景 在上一篇kaf ...
- ABP官方文档翻译 5.2 动态We API层
动态Web APID层 创建动态Web API控制器 ForAll方法 重写ForAll ForMethods Http动词 WithVerb方法 HTTP特性 命名约定 API管理器 RemoteS ...
- bzoj 4815: [Cqoi2017]小Q的表格 [数论]
4815: [Cqoi2017]小Q的表格 题意: 单点修改,查询前缀正方形和.修改后要求满足条件f(a,b)=f(b,a), b×f(a,a+b)=(a+b)*f(a,b) 一开始sb了认为一次只会 ...