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