IBM SmartCloud init啟動時通過使用啟動腳本來使用配置資料

來源:互聯網
上載者:User
關鍵字 IBM SmartCloud 配置資料 啟動腳本

IBM SmartCloud™ init(一個 IBM SmartCloud 支援包)是從開源 cloud-init 包上獲得靈感而開發出來的第一個啟動腳本。 它最初是採用 ICON bundle 的形式在 Image Construction and Composition Tools (ICON) 和 IBM SmartCloud Provisioning 1.2 之間的集成上下文中開發的,後來擴 展成為 IBM SmartCloud Provisioning 2.1 中的一個關鍵元件。

IBM SmartCloud init 是一個簡單的獨立元件,該元件在虛擬機器 (VM) 啟動時執行,以便使用被格式為多個部分組成的多用途 Internet 郵件擴展 (MIME) 的配置資料。 IBM SmartCloud init 會獲得此輸入資料,並查看與每個部分關聯的內容類型。 如果內容類型是已知的,那麼 IBM SmartCloud init 會調用相關消費者。

利用 IBM SmartCloud init 腳本的可能用例

第一個用例和相關的 MIME 類型是支援 ICON 生成的開放虛擬化格式 (OVF) 鏡像。 當前的實現只處理一種內容類型(應用程式/ovf-param)和一個消費者來處理 OVF 中繼資料,並將相關部分作為啟動引擎 (AE) 的 OVF-env.xml 進行保存。

您可以使用 IBM SmartCloud init 來初始化一個在啟動時執行了一系列操作的雲實例,比如安裝一系列 Red Hat 套裝軟體 (RPM),並在啟動時執行命令,或者在啟動時下載和執行腳本(這對於虛擬機器到虛擬機器的轉換非常有用)。 或者,您可以對該腳本進行擴展,以支援套裝程式的已排序清單,例如:

IBM Tivoli® Endpoint Manager(TEM 或 BigFix)Fixlet(通過在啟動 VM 時部署 BigFix 代理和 Fixlet) Chef Recipes Puppet 策略 ICON/Image Constru ction and Composition Tool (ICCT) bundle(用於安裝任何 IBM 中介軟體,如 IBM DB2® 或 WebSphere® 應用伺服器) Maestro bundle IBM Workload Deploye r (IWD) 腳本套裝程式 RPM 和 Debian 本機套裝程式

您可以使用指向儲存庫搜索順序的統一資源識別項來下載用於執行的套裝程式。 其他用例包括支援 Maestro 使用包含 IBM SmartCloud init 初次開機腳本的任何鏡像,該腳本將下載和安裝 Maestro 代理,並擴展 IBM SmartCloud Provisioning 安裝程式,以便創建一個基本的 Red Hat Enterprise Linux 鏡像,該鏡像具有已安裝的 IBM SmartCloud init 套裝程式。 這樣,任何根據該鏡像創建的新實例都可以在啟動時自動執行任務。

IBM SmartCloud init 可交付成果

scp-cloud-init 是一個可用於 Linux 和 Windows 的簡單元件。 Linux 中的 scp-cloud-init 包含檔 scp-cloud-init。 在使用級別 3 和 5 的鏡像中安裝此檔的最簡單方法是運行以下命令:

cp -f scp-cloud-init.sh /etc/init.d/scp-cloud-init 2>/dev/nullchkconfig scp-cloud-init on

如果您已經掛載該磁片,並且無法使用 chkconfig,那麼可以使用清單 1 中顯示的命令手動生成 rc#.d 連結。

清單 1. 手動生成 rc#.d 連結的命令

if [ -d /etc/rc3.d ]; then ln -fs .. /init.d/scp-cloud-init /etc/rc3.d/S11scp-cloud-init chmod 755 /etc/rc3.d/S11scp-cloud-init 2>/dev/nullfiif [ -d / etc/init.d/rc3.d ]; then ln -fs .. /scp-cloud-init /etc/init.d/rc3.d/S11scp-cloud-init chmod 755 /etc/init.d/rc3.d/S11scp-cloud-init 2>/dev/ nullfiif [ -d /etc/rc5.d ]; then ln -fs .. /init.d/scp-cloud-init /etc/rc5.d/S11scp-cloud-init chmod 755 /etc/rc5.d/S11scp-cloud-init 2>/dev/nullfiif [ -d / etc/init.d/rc5.d ]; then ln -fs .. /scp-cloud-init /etc/init.d/rc5.d/S11scp-cloud-init chmod 755 /etc/init.d/rc5.d/S11scp-cloud-init 2>/dev/nullfi # The S## above should be after the "network" but before any activation.* (AE) scripts.

Windows 中的 scp-cloud-init 包含檔 scp-cloud-init.cmd 和 scp-cloud-init.vbs。 要在鏡像中安裝這些檔以便在啟動時運行它們,請執行以下操作:

將 scp-cloud-init.* 檔案複製到某個目錄,比如 C:\windows\setup\ibm。 通過運行 gpedit.msc 添加將在啟動時使用群組原則編輯器運行的腳本。 按一下Computer Configuration > Windows Settings > Scripts,然後按兩下 Startup。 按一下 Add,然後鍵入 c:\Windows\Setup\IBM\scp-cloud-init.cmd 作為該程式(無參數)。 按一下 OK,再次按一下 OK 退出啟動腳本視窗,然後退出 gpedit 應用程式。

以前向 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 添加登錄機碼的方法(如下所示)似乎只在管理員登錄時執行腳本, 在系統啟動時不會自動執行腳本。

"reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v a-cloud-init /d c:\windows\setup\ ibm\scp-cloud-init.cmd"

scp-cloud-init 在 Linux 中是作為 RPM 套裝程式提供的,在 Windows 中是作為 .msi 檔案提供的。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.