Openstack离线镜像封装案例(基于Centos8.4)

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 的内容来源。
posted @ 2024-12-10 15:35  AzeroW  阅读(222)  评论(0)    收藏  举报