Openstack離線映象封裝案例(基於Centos8.4)

AzeroW發表於2024-12-10

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 的內容來源。

相關文章