執行匯出前更新

建議您有時候在原始來源系統上變更 VM,以準備用於私有雲端設備的 VM。在來源系統複製 (而非原始 VM) 上,執行下列預先匯出更新步驟。

警示:

在來源系統上的生產映像檔複製作業。這可保護生產環境,並在需要重複處理時提供已知的備用環境。使用來源系統提供的方法複製 VM。

例如,在 Oracle VM 和 Private Cloud Appliance 2.4 中,選取伺服器與 VM 頁籤中的 VM,按一下滑鼠右鍵並選取複製。在所有情況下,請停止來源 VM,以確保複製具有一致的磁碟內容。

作業系統目前層次的修正程式

將複製 VM 更新至相同作業系統目前的修正程式層次。

指示取決於來賓作業系統。例如,yum update 為 Oracle Linux 7 或 8 的最新修補程式層級,或 Solaris 11.4 上的 pkg update,或 Microsoft Windows 上的 Windows Update。修正之後重新啟動,以確保後續修正作業正確。

這樣可確保最新的裝置驅動程式可以使用,並且避免最近關閉的錯誤和安全風險的風險。

將虛擬網路裝置變更為 DHCP

Private Cloud Appliance 上安裝之後,來賓 VM 的虛擬網路可能需要數種變更才能運作。

Private Cloud Appliance 使用 DHCP 為新實例提供一個網路位址。由於可以從同一個影像複製多個實例,因此建立每個實例時,指定新的 MAC 和 IP 位址相當合理。

附註:

  1. 建立執行處理時,DHCP 所取得的 IP 位址會穩定。
  2. 執行處理可見的 IP 位址是虛擬雲端網路 (VCN) 上的專用 IP 位址。您可以使用「網路位址轉譯 (NAT)」層從私有雲端設備外部存取執行處理。請參閱 Compute Enclave 執行處理描述中的「網路」頁籤,瞭解專用和公用 IP 位址。

在 Linux 上,編輯 /etc/sysconfig/network-scripts/ifcfg-NICNAME 檔案並移除 HWADDRMACADDR 行,然後設定 BOOTPROTO="dhcp"。或者,您也可以使用配銷隨附的圖形化工具。此外,如果存在,請移除 /etc/udev/rules.d/70-persistent-ipoib.rules/etc/udev/rules.d/70-persistentnet.rules 檔案。這些檔案包含的 MAC 位址與新的執行處理不符。如有需要,系統會自動重新建立。

在 Solaris 上使用 ipadm 指令。舉例而言:

# ipadm delete-addr net0/v4
# ipadm create-addr -T dhcp net0/v4
    

在 Windows 上,使用「控制台」或「設定」。

移除虛擬機器工具和驅動程式

如果您是從 VMware 或 Oracle VM 或 VirtualBox 移轉,請從複製項中移除相關的半虛擬化驅動程式和工具。此影像將使用已安裝的工具和驅動程式,不過您在啟動時或登入時可能會看到錯誤訊息,所以這是選擇性的。

例如,您可以在「控制台」中找到驅動程式,然後在按一下滑鼠右鍵並選取解除安裝,即可移除 Microsoft Windows 的 Oracle VM 半虛擬化 (PV) 驅動程式。

安裝 Private Cloud Appliance 的 Linux 核心與驅動程式功能

在啟動時,作業系統可能需要明確包含 VirtIO 裝置驅動程式。

附註:

如果來源虛擬機器管理程式是 KVM,您就已經擁有正確的 Private Cloud Appliance 驅動程式。
  1. 您可以選擇在執行 dracut 之前備份核心。例如:mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
  2. 使用 dracut 指令將裝置驅動程式新增至 initramfs。例如:dracut --force -Ndracut -N --regenerateall
    • -N 選項會停用僅主機模式,此模式只會為目前的主機建立 initramfs。此選項會產生一般影像。
    • 如果您在不具有 -N 選項的舊版 Linux 上執行,請特別列出 Private Cloud Appliance X9-2 所需的核心模組。例如:dracut --add-drivers 'sg sd_mod virtio virtio_pci virtio_ring virtio_scsi'
    • --regenerate-all 選項會重新產生 /boot 中所有核心版本的 initramfs,而不只是目前已啟動的核心版本。這對 Oracle Linux 而言非常有用,以確保 UEK 和 RHCK 核心都能取得所需的驅動程式,無論目前啟動的驅動程式為何。
    • --force 選項會重疊目前的 initramfs 檔案。

您可以看到 /boot 中更新的 initramfs 檔案。因為新增的裝置驅動程式,它們將會比舊版本大。

如果省略 dracut 步驟,您可以在第一次在 Private Cloud Appliance X9-2 上啟動執行處理時執行該步驟。

  1. 登入 Compute Enclave
  2. 選取執行處理並連線至主控台。
  3. Grub 功能表中選取救援線。
  4. 若在選取救援開機之前啟動失敗,請從 Compute Enclave 對執行處理執行重設動作。
  5. 執行處理啟動之後,請登入並執行 dracut 命令。

安裝 Private Cloud Appliance 適用的 Solaris Kernel 與驅動程式功能

在啟動時,作業系統可能需要明確包含 VirtIO 裝置驅動程式。

附註:

如果來源 Hypervisor 是 KVM,您將擁有適用於 PCA 的適當驅動程式。
  1. Oracle 強烈建議 Solaris 11 使用者升級到 Solaris 11.4,這是一個直接且高度相容的程序。在 Solaris 11.4 實例中建立 Solaris 10 品牌的非全域區域,以移動 Solaris 10 環境。這可讓 Solaris 10 環境受益於現代核心和裝置驅動程式。
  2. 使用 pkg update 指令並將 Solaris 11.4 更新為最新的 SRU,然後啟動至新的啟動環境。

安裝適用於 Windows 的 VirtIO 驅動程式

您將需要安裝 Oracle Private Cloud Appliance 的核心和驅動程式功能。您可以從 My Oracle Support 或從 Oracle Software Delivery Cloud 下載。以下是 Windows 作業系統適用的方法。

若為 Oracle Software Delivery Cloud:

  1. 登入 Oracle Software Delivery Cloud。
  2. 在「所有類別」清單中,選取版本
  3. 鍵入 Oracle Linux ,然後按一下搜尋
  4. 選取 DLP: Oracle Linux N.N.0.0.0 ( Oracle Linux )。N 的值將與新版本可供使用時有所不同。
  5. 按一下繼續
  6. 在「平台 / 語言」欄中,選取清單中的 x86 64 位元,然後按一下「繼續」。
  7. 接受「Oracle 標準條款與條件」,然後按一下繼續
  8. 按一下描述為 Oracle VirtIO Drivers for Microsoft Windows, version N.N.N 的檔案名稱即可下載驅動程式。目前的版本是 V1009702-01.zip。版本號碼會在新發行版本提供時變更。
  9. 將壓縮檔下載至您的 Windows VM。
  10. 擷取壓縮檔來安裝驅動程式,然後按兩下 [ 設定 ] 檔案。完成時,重新啟動並關閉。

從 My Oracle Support 下載:

  1. 登入 My Oracle Support。
  2. 選取修正程式和更新頁籤。
  3. 修正程式搜尋畫面的修正程式名稱或編號欄位中,輸入 27637937 ,然後按一下搜尋。請勿選取任何一個平台選項。
  4. 按一下 Oracle VirtIO driver version N.N.N 左邊的「修正程式名稱」。例如,版本 2.0.1。
  5. 修正程式詳細資訊頁面中,按一下下載
  6. 擷取壓縮檔以安裝驅動程式,然後按兩下 [ 設定 ] 檔案。完成時,重新啟動並關閉。

選擇性安裝初始化工具組

建議您安裝 cloud-init (Linux) 或 cloudbase-init (Solaris、Windows) 工具程式。

這些工具套件是業界標準、與供應商無關的跨平台執行個體初始化方法。它們可協助識別雲端執行處理在開機期間正在執行、從雲端讀取任何提供的 metadata,以及相應地初始化系統。它們能夠從密碼型 ssh 轉換成使用金鑰組交換。請參閱 Oracle Private Cloud Appliance User Guide 的 6.4 小節,瞭解詳細資訊。

在 Oracle Linux 上,安裝適合 Linux 發行套件的 cloud-initoci-utils 套裝軟體。若為 Oracle Linux 8,請使用以下程式碼:

# dnf install yum-utils
# yum-config-manager --enable ol8_addons
# dnf install cloud-init oci-utils

在 Solaris 上,依照 Installation and Software Management Features Solaris 11.4 What's New 文件中的描述發行 pkg install cloudbase-init

然後使用引用參照中描述的金鑰組交換,將 ssh 放入啟動的執行處理 (不含密碼) userid opc

先前的步驟會停用密碼式認證。如果您要繼續在目標系統上使用以密碼為基礎的 ssh 認證,以確保其運作方式與來源平台相同,您可以編輯 /etc/cloud.cfg 並新增行,在匯出前重新啟用:

ssh_pwauth: 1

或者,您可以在匯出之前,透過在 /etc/ssh/sshd_config 中註釋下列行來執行此動作:

# PasswordAuthentication no

在 Windows 執行處理上,使用 Cloudbase-init,如 Cloudbase-init 文件中所述。

準備啟動和檔案系統

此影像僅包含開機磁碟,因此請停用任何開機時間服務和需要其他磁碟的應用程式。

必須移除非啟動檔案系統的參考,直到以後再重新建立為止。若開機映像檔參考其他用於交換 (/tmp) 或 /var/logs 的磁碟,則必須將它們暫時移到開機磁碟區。

在 Linux 上執行下列步驟:

  1. 編輯 /etc/fstab
  2. 移除不位於啟動磁碟上的檔案系統掛載項目。
  3. 確定裝置名稱 (例如 /dev/xvda) 未直接參照任何開機磁碟分割區。
  4. 請改用 LABEL=UUID=
  5. 若是參照開機磁碟,則不需要修改 LVM 裝置的參照。
  6. 執行 pvs 指令,確定唯一的 LVM 實體磁碟區 (PV) 是開機磁碟區。
  7. 如果磁碟區群組 (VG) 位於其他實體磁碟區上,則應從 /etc/fstab 加註該磁碟區。

如果邏輯磁碟區同時包含開機和其他磁碟,則此解決方案的遷移會更複雜且更廣。

在 Solaris 上執行下列步驟:

  1. 編輯 /etc/vfstab
  2. 移除任何不在啟動磁碟上的掛載。
  3. 對非根 ZFS 集區執行 zpool export $POOLNAME 指令。一般而言,這些是 rpool 以外的 ZFS 集區。

由於首次在 Private Cloud Appliance 上啟動 X9-2 並沒有完整的操作環境,因此請停用在開機時啟動並需要完整設定的任何服務或應用程式。