制作镜像。
首先下载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号
收起