一般数据库服务器物理机配置,ironic部署物理机
原标题:ironic部署物理机
ironic是openstack的帐篷项目之一,主要用来部署和管理裸机,提供统一接口,方便nova同时管理裸机和虚机,ironic的概念架构图如图1所示。本文以tecs3.0为例,介绍ironic部署裸机的流程。
图1 ironic概念架构图
ironic安装
目前tecs3.0默认不安装ironic。有两种方法安装ironic。
● 修改answer-file安装
● 安装完tecs之后使用yum安装
修改anser-file文件安装
tecs是使用packstack工具来部署openstack环境的,tecs.conf对应packstack的answer-file。然后安装tecs的时候选择配置文件方式安装。tecs.conf中的如下内容:
yum安装
首先使用tecs3.0的bin文件安装tecs,这个时候ironic是没有默认安装的,需要我们手动安装。安装步骤如下:
1
rpm包安装
2
权限配置
下面--project后面的services要根据实际情况填写。开源社区默认是service, tecs3.0使用的是services。具体可以通过openstack project list命令查看。
3
创建数据库
数据库密码IRONIC_DBPASSWORD根据实际情况替换,也可以不替换。
4
配置裸机服务
Ø ironic-api配置
修改/etc/ironic/ironic.conf数据库连接用户名,密码,DB_IP要和前面的对应,另外mysql端口号如果不是3306需要在DB_IP之后加上端口号。
eg:
确认mysql的端口号可以通过查看`/etc/my.cnf.d/server.cnf`的[mysqld]部分的ports确认。
Ø 创建数据库表
创建命令如下,如果前面已经创建过表,把create_schema换成update。
重启ironic-api服务
systemctl restart openstack-ironic-api
Ø ironic-conductor配置
HOST_IP替换成实际ip(ironic-conductor服务所在节点ip)enabled_drivers后的驱动根据实际添加,这里使用pxe_ipmitool。
Ø 重启服务
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
Ø 重启nova服务
neutron配置
部署裸机和虚机用的neutron配置是一样的,目前tecs3.0有些neutron默认没有设置,需要我们自己设置一下。
Ø 编辑 /etc/neutron/plugins/ml2/ml2_conf.ini,配置如下:
Ø 编辑/etc/neutron/plugins/ml2/openvswitch_agent.ini
Ø 创建网桥
Ø 重启服务
systemctl restart neutron-plugin-openvswitch-agent
最终要保证如下几个服务是正常的:
如果l3-agent启动失败,检查下/etc/neutron/l3_agent.ini`是否配置了:
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
Ø 修改/etc/neutron/fwaas_driver.ini文件,内容如下:
Ø 修改/etc/neutron/dhcp_agent.ini,配置dhcp_driver和interface_driver
Ø 创建网络
镜像创建
Ironic部署一台物理机需要两组镜像:deploy images和user images。这两组镜像都可以通过diskimage-builder工具创建。这里建议此工具采用源码安装的方式安装,方便代码修改跟踪:
或者就按照文档中提到的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服务:
创建flavor
这里我们先创建一个flavor,flavor里的硬件信息我们先手动填写,里面的cpu,内存,硬盘和要部署的裸机硬件信息学保持一致。
如果是实际大批量部署,需要用到ironic-inspector来收集硬件信息。
当然,在创建flavor之前,必须先确保quota额度够了。通过nova quota-show可以看一下,不够可以分别通过下面命令进行cores和ram的扩展(后面的ID是tenant为admin的ID)
PXE配置
在部署之前,我们需要配置tftp服务,先安装tftp-serve和xinet的rpm包。
yum -y install tftp-server syslinux-tftpboot
xinetd也要安装,并且安装后需要进行enable和start操作:
创建对应的目录,并修改一下其所有者。
配置tftp服务, /etc/xinetd.d/tftp配置文件如下:
ironic部署的时候会自动生成指定的镜像,以及pxe需要的default文件,并存放在/tftpboot目录下。根据ironic node的uuid和mac地址来区分。
开始部署
使用`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连接我们要部署的裸机,裸机会从网口启动,下载部署镜像。
责任编辑:
一般数据库服务器物理机配置,ironic部署物理机相关推荐
- WSUS服务器的详细配置和部署
WSUS服务器的详细配置和部署 一.WSUS 安装要求 1.硬件要求: 对于多达 500 个客户端的服务器,建议使用以下硬件: * 1 GHz 的处理器 * 1 GB 的 RAM 2.软件要求: 要使 ...
- 如何配置系统数据库服务器地址,如何配置系统数据库服务器地址
如何配置系统数据库服务器地址 内容精选 换一换 华为云提供两种连接方式通过SQL Server客户端连接实例:非SSL连接和SSL连接.其中,SSL连接实现了数据加密功能,具有更高的安全性.安装SQL ...
- 数据库服务器对硬件配置的要求
随着运营时间的增加,那些以数据库为主要支撑的应用例如ERP系统.论坛系统,在具备一定规模之后,对服务器硬件的设备要求就更加严苛,一旦服务器设备无法承受数据库的工作压力,将直接造成系统和各种业务的瘫痪, ...
- 浅谈优化SQLServer数据库服务器内存配置的策略
引文 http://demo.nbarticle.com/view/2004/8/9/view_1827.htm 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于Win ...
- 数据库和服务器什么协议,数据库服务器协议
数据库服务器协议 内容精选 换一换 本章节适用于MRS 3.x之前版本.Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解.obs-connectorgeneric-jdbc-con ...
- 修改数据库服务器日期命令,服务器上数据库用命令修改
服务器上数据库用命令修改 内容精选 换一换 本教程旨在演示使用GDS(Gauss Data Service)工具将远端服务器上的数据导入GaussDB(for openGauss)中的办法,帮助您学习 ...
- FastDFS的配置、部署与API使用解读(7)Nginx的FastDFS模块(转)
1.Nginx的FastDFS模块什么作用? 我们在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传.下载.删除等操作.同时通过 FastDFS的HTT ...
- 怎么在数据库服务器解压文件,数据库服务器9怎么解压
数据库服务器9怎么解压 内容精选 换一换 Joomla是一套全球知名的内容管理系统,即Joomla CMS(Content Management System).Joomla是使用PHP语言加上Mys ...
- 安装Oracle 11g数据库服务器类
<Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南>第3章Oracle 11g数据库的安装,本章将介绍如何在32位系统结构的Windows 7操作系统平台上对Oracle ...
最新文章
- .NET 3.5 中WCF客户端代理性能改进以及最佳实践
- 以太网实习_一位工科男在拿到华为实习生offer后的面经干货
- 创建ACFS集群文件系统(命令方式)
- 使用个推的时候出现Installation error: INSTALL_FAILED_DUPLICATE_PERMISSION
- IDEA 一直不停的scanning files to index解决办法
- TikTok测试三分钟视频、Reddit首次公布DAU、谷歌解雇人工智能领头人、年度最受欢迎应用|Decode the Week...
- C++11 右值引用与常量左值引用保存临时变量(函数返回值)的底层分析
- 【JZOJ4920】【NOIP2017提高组模拟12.10】降雷皇
- 开发落网电台windows phone 8应用的计划(10)-----收尾
- opencv Basic Drawing
- codewhy 深入JavaScript高级语法(资源视频全)
- 机器学习其实只是“皇帝的新衣”
- C++ log4cpp(tx2)
- python监控网页数据_python实现批量监控网站详解及实例
- python随机抽取样本1500个_python 随机抽取数据
- php pcntl_alarm,pcntl_alarm定时闹钟信号详解
- 经济基础知识(中级)【4】
- 最新Freewind自由之风主题最新版+Typecho内核
- (附源码)Springboot网上购物系统 毕业设计 311236
- 临沧黄衣阿佤-中国佤民族中一支穿黄色衣服的佤族群体