Openstack离线镜像封装案例(基于Centos8.4)
以下步骤是一个完整的流程,从准备环境、下载必要文件,到最终创建定制 ISO 镜像。
环境准备
在 CentOS 8.4 系统上进行以下操作(也可根据自身需要选择合适的操作系统):
系统镜像处理
1、安装必备工具
安装用于创建和操作 ISO 镜像的工具:
yum install -y genisoimage createrepo yum-utils syslinux
2、挂载Centos8.4原始镜像
挂载官方 CentOS 8.4 ISO 镜像,作为封装的基础。
mkdir /mnt/centos_iso
mount -o loop /root/CentOS-8.4-x86_64.iso /mnt/centos_iso
3、复制镜像内容到工作目录
创建一个工作目录,并将 ISO 的内容复制到该目录:
mkdir -p /root/iso_build
cp -a /mnt/centos_iso/* /root/iso_build/
cp -a /mnt/centos_iso/.discinfo /root/iso_build/
cp -a /mnt/centos_iso/.treeinfo /root/iso_build/
OpenStack Victoria 软件包处理(其他类型的软件封装添加对应仓库地址即可)
要离线安装 OpenStack Victoria,需要下载所有必要的 RPM 包。
1、配置OpenStack 仓库:
cat <<EOF > openstack-victoria.repo
[openstack-victoria]
name=openstack-victoria
baseurl=https://mirrors.aliyun.com/centos-vault/8.4.2105/cloud/x86_64/openstack-victoria/
enabled=1
EOF
yum makecache
2、下载软件包openstack-victoria到本地
mkdir -p /root/iso_build/Packages/openstack-victoria
reposync --repoid=openstack-victoria --download-metadata --download-path=/root/iso_build/Packages/openstack-victoria
3、更新工作系统镜像软件目录
cp -a /root/iso_build/Packages/openstack-victoria/* /root/iso_build/Packages/
cp -a /root/iso_build/Packages/base/* /root/iso_build/Packages/
4、创建本地仓库元数据
createrepo --update /root/iso_build
OpenStack Victoria版本ISO镜像处理
生成最终的 ISO 镜像文件:
1、设置卷标
确保 ISO 文件的卷标和 .discinfo
文件匹配(系统默认卷标在系统镜像中isolinux/isolinux.cfg
中引导配置中对应):
#设置卷标变量
[root@MiWiFi-RA70-srv iso_build]#LABEL="CentOS-8-4-2105-x86_64-dvd"
2、生成 ISO:
添加 -joliet-long
参数,允许更长的文件名
genisoimage -o /root/CentOS-8.4-OpenStack-Victoria.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-R -J -T -V "$LABEL" -joliet-long \
/root/iso_build
-o /root/CentOS-8.4-OpenStack-Victoria.iso
指定输出的 ISO 文件路径为/root/CentOS-8.4-OpenStack-Victoria.iso
。-b isolinux/isolinux.bin
指定 ISO 引导的主引导加载程序文件(isolinux.bin
)。它位于/root/iso_build/isolinux/
中。-c isolinux/boot.cat
指定启动信息文件(boot catalog
文件)。该文件在生成 ISO 时自动创建。-no-emul-boot
指定 ISO 使用无模拟启动模式,适合光盘引导。-boot-load-size 4
加载的启动扇区数,通常设置为4
。-boot-info-table
更新引导信息表以支持 BIOS 引导。-R
和-J
分别启用 Rock Ridge 和 Joliet 文件系统扩展,以支持长文件名和跨平台兼容性。-T
在 ISO 镜像中创建目录树信息。-V "$LABEL"
设置 ISO 镜像的卷标,变量$LABEL
应包含卷标字符串(例如CentOS-8.4-OpenStack-Victoria
)。/root/iso_build
指定包含文件系统的目录,作为 ISO 的内容来源。