ironic服务的安装部署过程这里不讨论。
1、确认裸机服务器的驱动
可以修改配置文件/etc/ironic/ironic.conf来设置openstack启用对应驱动
# 可以用逗号分隔来指定多个驱动
enabled_drivers=pxe_ipmitool
修改后需要重启服务
systemctl restart openstack-ironic-conductor.service
2、镜像上传
openstack要实现部署裸机需要用到的镜像有5个(镜像的制作以后讨论)
这5个镜像有两个是用作deploy,即被用来在安装操作系统前对裸机节点进行准备。
有两镜像个用作系统的启动引导,还有一个就是系统镜像。
上传镜像:
# 上传deploy用镜像
glance image-create --name deploy_kernel --is-public true \
--disk-format aki_ \
--file deploy.kernel
glance image-create --name deploy_initramfs --is-public true \
--disk-format ari \
--file deploy.initramfs
# 上传boot用镜像
glance image-create --name boot_kernel --is-public true \
--disk-format aki \
--file boot.vmlinuz
glance image-create --name boot_initrd --is-public true \
--disk-format ari \
--file boot.initrd
# 上传系统镜像
glance image-create --name NAME --is-public true \
--disk-format qcow2 \
--container-format bare \
--property kernel_id=$boot_kernel_uuid \
--property ramdisk_id=$boot_initrd_uuid \
--property hypervisor_type=ironic
--file image.qcow2
3、把物理机注册为裸机节点
# 创建新节点
ironic node-create -d pxe_ipmitool
# 创建逻辑名
ironic node-update $NODE_UUID add name=my_bare_metal_01
# 可以通过下面的命令查看哪些驱动信息必须被添加(required)
ironic driver-properties pxe_ipmitool
# 添加IPMI驱动信息(BIOS中被设定)
ironic node-update $NODE_UUID add \
driver_info/ipmi_username=admin \
driver_info/ipmi_password=admin \
driver_info/ipmi_address=192.168.10.11
# 添加deploy镜像uuid(第2步中上传)
ironic node-update $NODE_UUID add \
driver_info/pxe_deploy_kernel=$DEPLOY_KERNEL_UUID \
driver_info/pxe_deploy_ramdisk=$DEPLOY_INITRD_UUID
# 设置裸机硬件的规格
ironic node-update $NODE_UUID add \
properties/cpus=4 \
properties/memory_mb=98304 \
properties/local_gb=80 \
properties/cpu_arch=x86_64
# 配置为本地引导(pxe初始化实施后的引导方式,flavor也需要设置)
ironic node-update $NODE_UUID add \
properties/capabilities="boot_option:local"
# 添加mac port(需要分配ip的所有网卡都要添加)
ironic port-create -n $NODE_UUID -a 00:19:99:9e:50:da
# 检验节点的设置
ironic node-validate $NODE_UUID
4、flavor创建
nova flavor-create $FLAVOR_NAME auto 512 20 1
nova flavor-key $FLAVOR_NAME set cpu_arch="x86_64"
nova flavor-key FLAVOR_NAME set capabilities:boot_option="local"
在注册并检查完每个节点的硬件后,需要为它们添加标签(tag)来把它们标记为特定的档案。这些档案标签把节点匹配为 flavor,从而通过 flavor 分配实施角色(通过指定实例的flavor来确定该实例生成在哪一个裸机中)。
ironic node-update $NODE_UUID add \
properties/capabilities='profile:bare_metal_01,boot_option:local'
nova flavor-key $FLAVOR_NAME set capabilities:profile="bare_metal_01"
请问这个镜像是怎么制作的么,这5个镜像
用工具disk-image-builder