软件开发OpenStackironic

如何制作Ironic裸金属部署(deploy)镜像和用户(user)镜像?

如何制作Ironic裸金属部署(deploy)镜像和用户(user)镜像?

参与5

1同行回答

匿名用户匿名用户
制作镜像。首先下载OpenStack制作镜像使用的工具:sudo pip install diskimage-builder然后下载部署镜像和用户镜像,关于这两种镜像,部署镜像用来给裸机使用,来引导最终的OS;用户镜像是用户最终会使用到的镜像准备镜像:关于glance image-create中使用到的disk format 和 contain...显示全部

制作镜像。

首先下载OpenStack制作镜像使用的工具:

sudo pip install diskimage-builder

然后下载部署镜像和用户镜像,关于这两种镜像,部署镜像用来给裸机使用,来引导最终的OS;用户镜像是用户最终会使用到的镜像

准备镜像:

关于glance image-create中使用到的disk format 和 container format,请参考 这里

准备用户『用户镜像』使用到的镜像文件:

Partition images:

disk-image-create ubuntu baremetal dhcp-all-interfaces grub2 -o my-image

Whole disk images:

disk-image-create ubuntu vm dhcp-all-interfaces grub2 -o my-image

命令1会生成3个文件和一个文件夹:

my-image.d my-image.initrd my-image.qcow2 my-image.vmlinuz

my-image.initrd:initrd是initial ramdisk的缩写,是Linux系统引导过程中使用到的一个临时的根文件系统,ramdisk里包括一些基本的Linux命令,比如ls,cd,tftp等,用于将真正的文件系统加载到本地

my-image.vmlinuz:vmlinuz是“Virtual Memory”的缩写, vmlinuz是可引导的、压缩的内核

my-image.qcow2:qcow2是qemu支持的一种格式,是最终用户会使用到的镜像

创建用户镜像:

glance image-create --name my-kernel --visibility public \
--disk-format aki --container-format aki < my-image.vmlinuz

glance image-create --name my-image.initrd --visibility public \
--disk-format ari --container-format ari < my-image.initrd

glance image-create --name my-image --visibility public \
--disk-format qcow2 --container-format bare --property \
kernel_id=$MY_VMLINUZ_UUID --property \
ramdisk_id=$MY_INITRD_UUID < my-image.qcow2

准备用于『部署镜像』使用到的镜像文件:

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

创建部署镜像:

glance image-create --name deploy-vmlinuz --visibility public \
--disk-format aki --container-format aki < my-deploy-ramdisk.kernel

glance image-create --name deploy-initrd --visibility public \
--disk-format ari --container-format ari < my-deploy-ramdisk.initramfs

修改node的flavor

通过命令

ironic node-update $NODE_UUID add \
properties/cpus=$CPU \
properties/memory_mb=$RAM_MB \
properties/local_gb=$DISK_GB \
properties/cpu_arch=$ARCH

修改node的flavor信息。注:当部署完成Ironic后,会创建一个baremetal的flavor,该flavor中会有上述需要填写的参数。
修改node的deploy信息

通过命令:

ironic node-update $NODE_UUID add \
driver_info/deploy_kernel=$DEPLOY_VMLINUZ_UUID \
driver_info/deploy_ramdisk=$DEPLOY_INITRD_UUID

其中

DEPLOY_VMLINUZ_UUID

DEPLOY_INITRD_UUID

是『创建部署镜像』中上传到glance中的镜像id号

收起
银行 · 2019-01-10
浏览3036

提问者

zhang2005
软件开发工程师中国太平洋保险
擅长领域: 服务器虚拟化云计算

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-01-09
  • 关注会员:2 人
  • 问题浏览:3282
  • 最近回答:2019-01-10
  • X社区推广