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,下面上海二楼的环境为例。

当前的环境如下:

  1. 控制器位于172.16.140.51上,物理网关地址为172.16.140.1
  2. 裸机的部署网络配置为vlan 160,172.16.160.0/24网段,只是在交换机上创建了对应的vlan,没有物理网关
  3. 控制器上部署了tftp服务,dns服务,ironic服务,neutron服务

操作步骤:

  1. 创建neutron vlan140网络,网关声明为172.16.140.100 这里要避开物理网关
  2. 创建neutron vlan160网络,网关声明为172.16.160.1
  3. 创建router,不设置网关,既不激活snat
  4. 在router中添加到vlan140网络的接口,接口ip不输入或者输入网关172.16.140.100
  5. 在router中添加到vlan160网络的接口,接口ip不输入或者输入网关172.16.160.1
  6. 在控制器上添加一条路由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 常见问题的更多相关文章

  1. Ironic , Openstack Baremetal Hypervisor

    Ironic , Openstack Baremetal Hypervisor,首发于UnitedStack Inc.. 转自: http://ju.outofmemory.cn/entry/4876 ...

  2. enable multi-tenancy on openstack pike

    Multi-tenancy 是openstack ironic从Ocata版本开始支持的新特性,通过network-generic-switch插件控制交换机,Ironic可以实现在不同租户间机网络隔 ...

  3. Enable multi-tenancy on ironic

    Multi-tenancy 是openstack ironic从Ocata版本开始支持的新特性,通过network-generic-switch插件控制交换机,Ironic可以实现在不同租户间机网络隔 ...

  4. packstack安装ironic

    KVM Centos7.3虚机 安装openstack Pike版本, 其它版本安装方法类似. packstack目前对NetworkManager 还不支持,我们修改下配置: systemctl d ...

  5. Data Center Manager Leveraging OpenStack

    这是去年的一个基于OpenStack的数据中心管理软件的想法. Abstract OpenStack facilates users to provision and manage cloud ser ...

  6. Ironic 裸金属管理服务

    目录 文章目录 目录 Ironic 软件架构设计 资源模型设计 全生命周期的状态机设计 Inspection 裸金属上架自检阶段 Provision 裸金属部署阶段 Clean 裸金属回收阶段 快速体 ...

  7. 简单聊聊 Ironic

    上一篇文章里我简单介绍了一下「裸金属」的概念,提到了 OpenStack 中的核心项目 Ironic,今天简单来聊聊它. Ironic 项目的吉祥物 Bare Metal 所以用 Bear 来做吉祥物 ...

  8. 十件你需要知道的事,关于openstack-trove(翻译)

    开源数据库即服务OpenStack Trove应该知道的10件事情 作者:Ken Rugg,Tesora首席执行官 Ken Rugg是Tesora的创始人,CEO和董事会成员. Ken的大部分职业都是 ...

  9. [资料] Ceph存储系统,关于Redhat和Suse企业版存储知识汇总

    版权声明:很多其它内容,请关注[架构师技术联盟]公众号 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/81117091 wx_f ...

随机推荐

  1. linkin大话面向对象--枚举

    枚举类(enum) 其实我们使用到枚举的地方还是很多的,其实我们可以完全人工的来实现枚举的功能.比如说我现在手里的项目我就是自己实现的枚举,说白了,枚举就是一个类的多例模式. 1,使用enum声明,默 ...

  2. PHP微信H5支付开发

    近来公司项目要求用到微信H5开发,因为微信开发文档处处都是坑,我也走了不少弯路,现在就把H5支付的过程记录一下,已备后用!! 首先 先去商户平台申请开通 H5支付!!!! 我们从微信官方下载H5支付d ...

  3. Android Acitivy切换平移动画效果实现

    1.在anim目录下新建anim文件夹,新建tran_in.xml和tran_out.xml分别表示下一页切换进入,和本页切换出去. 即in表示下一页向左平移,out表示同样向左平移至消失. tran ...

  4. nodejs爬虫笔记(二)---代理设置

    node爬虫代理设置 最近想爬取YouTube上面的视频信息,利用nodejs爬虫笔记(一)的方法,代码和错误如下 var request = require('request'); var chee ...

  5. SpringMVC解决跨域问题

    有个朋友在写扇贝插件的时候遇到了跨域问题. 于是我对解决跨域问题的方式进行了一番探讨. 问题 API:查询单词 URL: https://api.shanbay.com/bdc/search/?wor ...

  6. iOS UITableView左滑操作功能的实现(iOS8-11)

    WeTest 导读 本文主要是介绍下iOS 11系统及iOS 11之前的系统在实现左滑操作功能上的区别,及如何自定义左滑的标题颜色.字体大小. 一.左滑操作功能实现 1.如果左滑的时候只有一个操作按钮 ...

  7. 洛谷 [P2766] 最长不下降子序列问题

    啊啊啊,再把MAXN和MAXM搞反我就退役 层次图求不相交路径数 第一问简单DP 第二问想办法把每一个不上升子序列转化成DAG上的一条路径,就转换成了求不相交路径数 因为每一个数只能用一次,所以要拆点 ...

  8. BZOJ 2141: 排队 [CDQ分治]

    题意: 交换序列中两个元素,求逆序对 做分块做到这道题...一看不是三维偏序嘛.... 作为不会树套树的蒟蒻就写CDQ分治吧.... 对时间分治...x排序...y树状数组... 交换拆成两个插入两个 ...

  9. BZOJ 2064: 分裂 [DP 状压 转化]

    传送门 题意:一开始$n$块面积最后$m$块面积,面积和相等每次可以分裂或者合并,问最少几次 昨天忘发了... 不会.... 考虑最差情况,$n+m-2$所有先合并再分裂 发现只有当前后两个子集相等时 ...

  10. 一步一步从原理跟我学邮件收取及发送 11.完整的发送示例与go语言

    经过了这个系列的前几篇文章的学习,现在要写出一个完整的 smtp 邮件发送过程简直易如反掌.    例如我们可以轻松地写出以下的纯 C 语言代码(引用的其他C语言文件请看文末的 github 地址): ...