一般数据库服务器物理机配置,ironic部署物理机

2023-11-19

原标题:ironic部署物理机

e19dca37d6b1d3e0f75ca4cdcfb161e2.png

ironic是openstack的帐篷项目之一,主要用来部署和管理裸机,提供统一接口,方便nova同时管理裸机和虚机,ironic的概念架构图如图1所示。本文以tecs3.0为例,介绍ironic部署裸机的流程。

3a4eccf5299d99026e1fe434b8b8af29.png

图1 ironic概念架构图

ironic安装

目前tecs3.0默认不安装ironic。有两种方法安装ironic。

● 修改answer-file安装

● 安装完tecs之后使用yum安装

修改anser-file文件安装

tecs是使用packstack工具来部署openstack环境的,tecs.conf对应packstack的answer-file。然后安装tecs的时候选择配置文件方式安装。tecs.conf中的如下内容:

3317dc815b3c2dabf3687dba646d709f.png

yum安装

首先使用tecs3.0的bin文件安装tecs,这个时候ironic是没有默认安装的,需要我们手动安装。安装步骤如下:

1

rpm包安装

b8f92befaa11e52b8928b4d1e03b578a.png

7c093ac50e94aacc60c1e89f498f97da.png

2

权限配置

下面--project后面的services要根据实际情况填写。开源社区默认是service, tecs3.0使用的是services。具体可以通过openstack project list命令查看。

0329983429698489059c5479ab743478.png

3

创建数据库

数据库密码IRONIC_DBPASSWORD根据实际情况替换,也可以不替换。

55c39948b56a58731b6afcfb4ebadb3c.png

4

配置裸机服务

Ø ironic-api配置

修改/etc/ironic/ironic.conf数据库连接用户名,密码,DB_IP要和前面的对应,另外mysql端口号如果不是3306需要在DB_IP之后加上端口号。

eg:

确认mysql的端口号可以通过查看`/etc/my.cnf.d/server.cnf`的[mysqld]部分的ports确认。

d3290e8f4a01e675f9b45381f5003601.png

2af991dde1f34f80bc61fe8a3cec83e6.png

c554bde4746dc394491bc59e76c12da8.png

2ef21d6ab981ab5fa7a6d407648879a3.png

Ø 创建数据库表

创建命令如下,如果前面已经创建过表,把create_schema换成update。

65046fc02e89c5b98689b5ce43218c64.png

重启ironic-api服务

systemctl restart openstack-ironic-api

Ø ironic-conductor配置

HOST_IP替换成实际ip(ironic-conductor服务所在节点ip)enabled_drivers后的驱动根据实际添加,这里使用pxe_ipmitool。

365d3887438dba969ae8e679eecd75bf.png

516a6d89ebe3fdccbffb4c54bd6f1215.png

ee3e1871fc93056112acb4b39787e0a2.png

Ø 重启服务

systemctl restart openstack-ironic-conductor

到这里ironic就已经安装完成了,后面就是nova和neutron的一些配置。

共管配置

由于一个nova-compute一次只能使用一种驱动,起虚机是用的libvirt驱动,而部署物理机是需要使用ironic驱动。

目前nova已经提供了共管的方式来同时管理裸机和虚机,参考:nova共管配置

需要说明的是共管方式是:

● 共管方式只是用拿出一个节点提供ironic驱动,专门用来部署裸机。

● 提供ironic驱动的机器不能用来起虚机。

● 裸机使用的flavor必须要设置hw:compute_type=ironic属性。

nova配置

Ø 修改/etc/nova/nova.conf

a96cd9b3a62eb7dffdbf52a839ddfc4c.png

8a0a13a0e953b094f878e8f995b83d91.png

Ø 重启nova服务

neutron配置

部署裸机和虚机用的neutron配置是一样的,目前tecs3.0有些neutron默认没有设置,需要我们自己设置一下。

Ø 编辑 /etc/neutron/plugins/ml2/ml2_conf.ini,配置如下:

37f5ac76fa05f163a7b14334e266a2ce.png

Ø 编辑/etc/neutron/plugins/ml2/openvswitch_agent.ini

f2d935c87936d8c9410091998c8f3d6d.png

Ø 创建网桥

6917ce0af580e7669e88c2c80b09a018.png

Ø 重启服务

systemctl restart neutron-plugin-openvswitch-agent

最终要保证如下几个服务是正常的:

11226401bd9f0a13cd6986ba729d0a0d.png

如果l3-agent启动失败,检查下/etc/neutron/l3_agent.ini`是否配置了:

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

Ø 修改/etc/neutron/fwaas_driver.ini文件,内容如下:

59563de7c16b5f32151798ea2b1bf4ca.png

Ø 修改/etc/neutron/dhcp_agent.ini,配置dhcp_driver和interface_driver

Ø 创建网络

c2f54176adf49a5443a1a909234e1c1d.png

镜像创建

Ironic部署一台物理机需要两组镜像:deploy images和user images。这两组镜像都可以通过diskimage-builder工具创建。这里建议此工具采用源码安装的方式安装,方便代码修改跟踪:

891eceb5f65064f3d3a42a97250ae483.png

或者就按照文档中提到的pip安装:

pip install diskimage-builder

deploy image

在Mitaka版本中部署镜像和物理机发现下载的镜像是同一套镜像,都是通过下面命令实现的:

disk-image-create ironic-agent centos7 -o ironic-deploy

这里面使用到了一个重要的模块:Ironic-python-agent,它既完成目标主机在部署阶段提供tgt+iscsi服务,又提供物理机发现阶段收集上报目标主机的物理信息。

成功执行后会生成两个文件:ironic-deploy.vmlinuz和ironic-deploy.initramfs,这里实际上是ironic-deploy. Kernel和ironic-deploy.initramfs,对于fedora这样的OS来说,都不会生成ironic-deploy.vmlinuz。

user image

对于partition images制作,采用下面命令:

image-create centos7 baremetal dhcp-all-interfaces grub2 -o my-image

成功完成后,会生成my-image.qcow2、my-image.vmlinuz和my-image.initrd三个文件。

添加镜像到glance服务

这里还是以partition images来介绍,添加 images到glance服务:

30fc64c575bb0d40a24812abe2f3f253.png

创建flavor

这里我们先创建一个flavor,flavor里的硬件信息我们先手动填写,里面的cpu,内存,硬盘和要部署的裸机硬件信息学保持一致。

如果是实际大批量部署,需要用到ironic-inspector来收集硬件信息。

9f83082ac3b30c50d7f86e6dc0274b21.png

当然,在创建flavor之前,必须先确保quota额度够了。通过nova quota-show可以看一下,不够可以分别通过下面命令进行cores和ram的扩展(后面的ID是tenant为admin的ID)

b89c9478dc41c4327ef8975cc2c2d13c.png

PXE配置

在部署之前,我们需要配置tftp服务,先安装tftp-serve和xinet的rpm包。

yum -y install tftp-server syslinux-tftpboot

xinetd也要安装,并且安装后需要进行enable和start操作:

c634c8871c63f09e2f1fb2dce3939348.png

创建对应的目录,并修改一下其所有者。

0ab9f53e68f270f33f9a077f5a6c7d85.png

配置tftp服务, /etc/xinetd.d/tftp配置文件如下:

5d4a67e2048debef7e9ccfecf2284f11.png

5cd448eabcee8164f512b3c4c602149e.png

ironic部署的时候会自动生成指定的镜像,以及pxe需要的default文件,并存放在/tftpboot目录下。根据ironic node的uuid和mac地址来区分。

开始部署

8bdc24d17cc88a724fa1473307a87701.png

4962750428f762f5765481a494678a28.png

使用`ironic node-validate $NODE_UUID`判断node是否可以部署确保boot、deploy、management和power相关接口是True状态。

说明:

一般创建完ironic node之后需要等待大概1min才能进行nova boot操作,否则会出现no valid host错误。这是因为nova-compute会定期去同步ironic node的信息到nova数据库中。

检查nova hypervisor-list 和nova hypervisor-show $ID,确保信息按配置修改。没有则等待一段时间。

Ø 创建实例

这时候可以使用kvm连接我们要部署的裸机,裸机会从网口启动,下载部署镜像。

b8e6d3b9e6276cbfb7889b8867923d76.png

责任编辑:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一般数据库服务器物理机配置,ironic部署物理机 的相关文章

  • 数据库原理及应用(MySQL版)MySQL实验指导参考答案(实验一到实验八)

    点赞 收藏 慢慢看 lt 一 gt 实验一 CREATE DATABASE STUDENTSDB USE STUDENTSDB CREATE TABLE STUDENT INFO 学号 CHAR 4 NOT NULL PRIMARY KEY
  • 百度文库免费复制word文档的纯文字

    2022年5月11日测试过 以下方法能正常使用 1 在页面中安F12或者从浏览器的设置中找到开发人员工具 2 切换到控制台 然后点击右上角图标进入更多设置 3 在设置 首选项中 找到 调试程序 然后勾选 禁用javascript 4 做完上
  • 微信支付的收款功能被限制了怎么办,收款受限制怎么解除?

    使用小程序做电商 商城的微信支付的收款功能会遇到被限制的情况 直接影响用户下单后的付款操作 其实也不单单是小程序 商城APP中也会冒出类似的提示 遇到这种事情不要慌 根据具体的异常提示给出不同的解决方案 微信支付被限制的错误提示 我们列举两
  • 浅析数据库连接池(二)

    上一篇博客 主要是简单的介绍了普通数据库连接的过程以及耗费的资源 并且简单的谈了下连接池 这篇我们主要来看看数据库连接池的使用以及它最优的配置 总目录 1 数据库连接过程是怎样的 2 连接所占用的资源有哪些 3 连接池简介 4 连接池的使用
  • 用python画星空源代码

    from turtle import from random import random randint screen Screen width height 800 600 screen setup width height screen
  • 每天都在谈SOA和微服务,但你真的理解什么是服务吗?

    近几年来 我一直从事着和面向服务相关的底层软件研发工作 逐渐的形成了一些自己的看法 其中我觉得比较重要的看法就是服务需要一个更准确细致的定义 简单来说 服务的本质就是行为 业务活动 的抽象 为了更好的阐述新服务的概念 并方便与传统的SOA中
  • 【c语言】Hanoi塔问题

    一块板上有三根针 A B C A 针上套有 64 个大小不等的圆盘 大的在下 小的在上 如图 5 4 所示 要把这 64 个圆盘从 A 针移动 C 针上 每次只能移动一个圆盘 移动可以借 助 B 针进行 但在任何时候 任何针上的圆盘都必须保
  • 本周总结——勇敢尝试和体验

    人间烟火 生活趣事 快开学了 这一周都在写项目 键盘前一段时间坏掉了 当时买了保险 3年之内只换不修的 挺奇葩的 寄过去13天都没搭理我 也没说给换货 前几天忍不住打电话问了问 下午就发货了 昨天下午就领到了 看来有些东西还是需要主动问一问
  • 搞懂后序遍历!只需要这一篇

    讲讲对于后序遍历的理解 并通过题目加深理解 文章目录 核心 基础实现方式 104 二叉树的最大深度 111 二叉树的最小深度 222 完全二叉树的节点个数 110 平衡二叉树 101 对称二叉树 总结 核心 后序遍历的顺序为左右中 在一棵二
  • 在Ubuntu上安装Android-SDK的方法

    一 安装和配置Ubuntu系统 1 安装Ubuntu Desktop 14 04 x86 64 2 启用root账户 Ubuntu 14 04默认是不允许root账户登录的 在登录窗口只能看到普通用户和访客登录 在shell中运行以下命令即
  • 优化游标性能

    最好的改进光标性能的技术就是 能避免时就避免使用游标 摘自 Transact SQL权威指南 Ken Henderson 著 最好的改进光标性能的技术就是 能避免时就避免使用游标 SQL Server是关系数据库 其处理数据集比处理单行好得
  • ROS学习笔记(7):Navigation 导航

    目录 8 Navigation 8 1 Navigation工作框架 8 2 move base 8 3 Costmap 8 4 map server 8 5 AMCL 定位 8 Navigation Navigation是机器人最基本的功
  • 小程序显示富文本内容(wxparse)

    1 引入wxParse 下载地址https github com icindy wxParse 2 全局配置 3 获取富文本内容的js 加入如下内容
  • 在电力系统无功不足的情况下,为什么不宜采用调整变压器分头的办法来提高电压?

    在电力系统无功不足的情况下 为什么不宜采用调整变压器分头的办法来提高电压 答 当某一地区的电压由于变压器分头的改变而升高的时候 该地区所需的无功功率也增大了 这就可能扩大系统的无功缺额 从而导致整个系统的电压水平更加下降 从全局来看 这样做
  • Redis VS Memcached压力测试报告

    一 测试背景与目标 了解Redis和memcached在高并发条件下的响应时间 吞吐量情况 以及对于服务器的压力情况 包括CPU IO 网络 考察目前的memcached存储timeline的方式的在高并发条件下的响应时间 吞吐量 负载情况
  • flink大数据处理流式计算详解

    flink大数据处理 文章目录 flink大数据处理 二 WebUI可视化界面 测试用 三 Flink部署 3 1 JobManager 3 2 TaskManager 3 3 并行度的调整配置 3 4 区分 TaskSolt和parall
  • 7、MySQL默认值(DEFAULT)

    默认值 Default 的完整称呼是 默认值约束 Default Constraint 用来指定某列的默认值 在表中插入一条新记录时 如果没有为某个字段赋值 系统就会自动为这个字段插入默认值 例如 员工信息表中 部门位置在北京的较多 那么部
  • ASPX页面传参中文乱码处理

    前端 function var msg 这是一段中文参数 window location href New aspx name escape msg 后台 string msg Server UrlDecode Request msg To
  • 【前端】批量导入和导出Excel数据

    1 准备 excel导入功能需要使用npm包xlsx 所以需要安装xlsx插件 读取和写入都依赖她 npm i xlsx 0 17 0 vue element admin模板提供了一个导入excel数据的文件 我们只需用即可 代码地址 ht

随机推荐