Openstack 裸机部署 ironic standalone 详细部署流程

本文详细介绍了如何部署IRONIC环境,包括软件安装、数据库配置、服务启动等关键步骤,并提供了配置示例。此外,还涉及了PXE环境的搭建、dhcp服务安装与配置、镜像上传及下载等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IRONIC 环境部署

参考资料:https://blog.youkuaiyun.com/zhongbeida_xue/article/details/79577916

1.   软件安装

https://www.rpmfind.net/linux/rpm2html/search.php?query=openstack-ironic-&submit=Search+...&system=&arch=

# rpm -ivh openstack-ironic-common-2015.1.3-1.fc23.noarch.rpm--force --nodeps

# rpm -ivhopenstack-ironic-api-2015.1.3-1.fc23.noarch.rpm

# rpm -ivhopenstack-ironic-conductor-2015.1.3-1.fc23.noarch.rpm

# pip install python-ironicclient 

2.   数据库配置

mysql> CREATE DATABASE ironic CHARACTER SET utf8;

mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' \

       IDENTIFIED BY 'password';

mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' \

IDENTIFIED BY'password';

3.   相关配置

1.     修改/etc/ironic/ironic.conf如下配置:

#vim /etc/ironic/ironic.conf       

notification_driver=messaging

transport_url=rabbit://guest:guest@c141:5672/

my_ip=10.10.132.141

auth_strategy=noauth

enabled_drivers=pxe_ipmitool

debug=true

log_dir=/var/log/ironic

host_ip=10.10.132.141

port=6385

api_url=http://10.10.132.141:6385

sync_power_state_interval=60

send_sensor_data=true

send_sensor_data_types=Temperature,Fan,Voltage

terminal_cert_dir=/tmp/ca

connection=mysql://ironic:3ca8ef6c962a3ff69534@c141/ironic

dhcp_provider=none

auth_uri=http://10.10.132.141:5000/v2.0/

admin_user=ironic

admin_password=ironic

admin_tenant_name=admin

rabbit_host=10.10.132.141

rabbit_port=5672

pxe_append_params=nofb nomodeset vga=normal console=tty0 console=ttyS0,115200n8

tftp_server=10.10.132.141

tftp_root=/tftpboot

pxe_bootfile_name=pxelinux.0

 

 

2.    同步数据库

# mkdir -p /var/log/ironic/

# chmod 777 /var/log/ironic/

# ironic-dbsync --config-file/etc/ironic/ironic.conf create_schema

3.    启动服务

# systemctl enable openstack-ironic-api openstack-ironic-conductor

# systemctl start openstack-ironic-api openstack-ironic-conductor

4.    openstack endpoint

$ openstack user create --password password\

    --email ironic@example.com ironic

$ openstack role add --project admin  --user ironic admin

$ openstack service create --name ironic --description  "Ironicbaremetal provisioning service" baremetal

$ openstack endpoint create --region Region_16_0326153021\

    --publicurl http://c16:6385 \

    --internalurl http://c16:6385 \

    --adminurl http://c16:6385 \

    baremetal

 

4.   创建PXE环境 

参考: http://www.bubuko.com/infodetail-1804647.html

目的:配置tftp服务为了从本地下载镜像进行安装操作系统

1.     创建tftp的根目录

# mkdir -p /tftpboot

# chown -R ironic /tftpboot

# mkdir -p /tftpboot/master_images

# chown -R ironic:ironic /tftpboot

# chmod 644 /tftpboot/ironic/*

2.     安装tftp相关包

# yum install tftp-server syslinux-tftpbootxinetd -y

# 拷贝pxeimage、chain.c32到/tftpboot目录下

# cp /var/lib/tftpboot/pxelinux.0 /tftpboot

# cp /var/lib/tftpboot/chain.c32 /tftpboot

 

3.     创建tftp map file   替换现有map-file文件!

# echo ‘re ^(/tftpboot/) /tftpboot/\2‘ >/tftpboot/map-file

# echo ‘re ^/tftpboot/ /tftpboot/‘ >>/tftpboot/map-file

# echo ‘re ^(^/) /tftpboot/\1‘ >>/tftpboot/map-file

# echo ‘re ^([^/]) /tftpboot/\1‘ >>/tftpboot/map-file

4.     替换tftp文件      替换现有tftp文件!

 文件目录:/etc/xinetd.d/tftp

5.     重启服务 

# systemctl restart xinetd.service

5.   安装dhcp服务

# yum install dhcp* -y

修改dhcpd.conf 配置如下       替换现成dhcpd.conf文件!

# vi /etc/dhcp/dhcpd.conf

allow booting;

allow bootp;

option routers                  10.10.3.254;

option subnet-mask              255.255.255.0;

option domain-name              "company.com";

option domain-name-servers      12.10.3.153,114.114.114.114;

ddns-update-style none;

subnet 10.10.3.0 netmask 255.255.255.0 {

        range dynamic-bootp 10.10.3.221 10.10.3.225;

        default-lease-time 21600;

        max-lease-time 43200;

        filename "pxelinux.0";

        next-server 10.10.3.153;

}

 

 

6.   镜像上传及下载

注意:以下下载配置步骤(1-5步)可以忽略,直接使用现有的镜像文件(第6步)即可

1.    下载ironic deploy镜像

# cd /tftpboot/

# mkdir -p ironic

# cd ironic/

# wgethttp://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe.vmlinuz

# wget http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem.cpio.gz

2.    准备user image,用户镜像

安装diskimage-build

# git clone https://github.com/openstack/dib-utils.git

# cd dib-utils/

# python setup.py install

# git clone git://git.openstack.org/openstack/diskimage-builder

# cd diskimage-builder/

# python setup.py install

3.    下载 fedora镜像

# disk-image-create fedora baremetal dhcp-all-interfacesgrub2 -o my-fedora

4.    修改镜像的默认密码

# yum install libguestfs-tools-c

# cp my-fedora.qcow2 /tmp/

# chmod 777 /tmp/my-fedora.qcow2

# virt-sysprep -a /tmp/my-fedora.qcow2  --root-password password:111111

# mv my-fedora.initrd my-fedora.vmlinuz my-fedora.qcow2/tftpboot/ironic/

# mv /tmp/my-fedora.qcow2 /tftpboot/ironic/

将 /tftpboot 修改为ironic拥有。

chown -R ironic:ironic /tftpboot

# chmod 664/tftpboot/ironic/*

5.    查看

需要的镜像文件有五个:两个deploy镜像文件,三个user镜像文件。

# ll /tftpboot/ironic/

总用量 829436

-rw-rw-r-- 2 ironic ironic 347257429  coreos_production_pxe_image-oem.cpio.gz

-rw-rw-r-- 2 ironic ironic  33837088 coreos_production_pxe.vmlinuz

-rw-rw-r-- 2 ironic ironic  17685716 my-fedora.initrd

-rw-rw-r-- 2 ironic ironic   6679512 my-fedora.vmlinuz

-rw-rw-r-- 1 ironic ironic 443875328  my-fedora.qcow2

6. 目录结构查看(可以根据以下目录结构,拷贝现成的ironic文件):

注意:修改目录权限

# chmod 755 fedora/

# chmod 755 centos/

 

7.   相关命令

# source /root/keystonerc_admin

查看node列表:

# ironic node-list           

新建node

# ironic node-create -d pxe_ipmitool -i ipmi_address=10.10.3.3 -i ipmi_username=ADMIN -i ipmi_password=ADMIN -i

deploy_kernel=file:///tftpboot/ironic/coreos_production_pxe.vmlinuz -i deploy_ramdisk=file:///tftpboot/ironic/coreos_production_pxe_image-oem.cpio.gz

删除node

# ironic node-delete 7a3b17fa-5524-45a5-b18d-bff5302cf905      

查看node详情:

# ironic node-show  7588dbf2-7973-49e9-bdd8-64970ca442cb  

新建port

ironic port-create -n $nodeuuid -a $macaddr

查看mac地址:

# ironic port-list             ;查看mac地址

更新属性

ironic node-update 1587ae0c-cbd5-4d84-afdc-80b7de9b953a add instance_info/image_source=file:///tftpboot/ironic/my-fedora.qcow2 instance_info/root_gb=12 instance_info/kernel=file:///tftpboot/ironic/my-fedora.vmlinuz instance_info/ramdisk=file:///tftpboot/ironic/my-fedora.initrd instance_info/capabilities='{"boot_option":"local"}'


 ironic node-update {uuid} add driver_info/ipmi_terminal_port=9000 

ironic node-set-console-mode {uuid}true


查看校验信息:

# ironic node-validate 7588dbf2-7973-49e9-bdd8-64970ca442cb 

部署 

#ironic node-set-provision-state $nodeuuid active

修改node状态(取消部署):

# ironic node-set-provision-state 5a0b47f8-98dc-4296-8d6c-9b7c25e6c893 deleted

 

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hNicholas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值