当前裸机安装过程是,先PXE启动进入BootOS。cloudboot_agent进行信息搜集后上报服务端。在服务端将该机加入安装队列后,cloudboot_agent获取硬件配置模板信息(如RAID配置要求)后进行硬件初始化。同时服务器生成该机的PXE启动文件。硬件初始化完成后,cloudboot_agent调用ipmi强制从pxe重新启动。再次启动,还要再次经过硬件自检过程。有些厂家的服务器,机器自检时间很长。这样导致一台机器的安装时间相应变长。
建议:在cloudboot_agent对硬件初始化完毕,并且服务器端生成该机的PXE启动文件后,cloudboot_agent取消调用ipmi,改为向服务器获取该机的initrd和vmlinuz文件到BootOS的/boot目录(或任意目录)。获取成功后,cloudboot_agent调用kexec进行启动。这样可以避免二次重启硬件自检的过程,从而提升系统安装效率。同时,提升用户体验!
kexec --load --initrd="/boot/initrd.img" --command-line=" ks=http://osinstall.idcos.com/api/osinstall/v1/device/getSystemBySn?sn={sn}" /boot/vmlinuz
当前裸机安装过程是,先PXE启动进入BootOS。cloudboot_agent进行信息搜集后上报服务端。在服务端将该机加入安装队列后,cloudboot_agent获取硬件配置模板信息(如RAID配置要求)后进行硬件初始化。同时服务器生成该机的PXE启动文件。硬件初始化完成后,cloudboot_agent调用ipmi强制从pxe重新启动。再次启动,还要再次经过硬件自检过程。有些厂家的服务器,机器自检时间很长。这样导致一台机器的安装时间相应变长。
建议:在cloudboot_agent对硬件初始化完毕,并且服务器端生成该机的PXE启动文件后,cloudboot_agent取消调用ipmi,改为向服务器获取该机的initrd和vmlinuz文件到BootOS的/boot目录(或任意目录)。获取成功后,cloudboot_agent调用kexec进行启动。这样可以避免二次重启硬件自检的过程,从而提升系统安装效率。同时,提升用户体验!
kexec --load --initrd="/boot/initrd.img" --command-line=" ks=http://osinstall.idcos.com/api/osinstall/v1/device/getSystemBySn?sn={sn}" /boot/vmlinuz