在 OCI Linux 執行處理的資源配置變更後解決啟動失敗

簡介

本教學課程將引導您解決自訂 Oracle Cloud Infrastructure (OCI) 映像檔的開機失敗,這些映像檔在資源配置變更之後,或甚至因相關裝置對應變更而簡單的重新啟動。

在深入探索解決方案之前,我們首先瞭解自訂映像檔的內容。

OCI 中的自訂映像檔是執行處理開機磁碟區的快照,可擷取作業系統組態、已安裝的軟體及環境設定值。自訂映像檔通常用來跨多個執行處理或區域複寫預先設定的環境,以確保大規模的一致性。

這些映像檔可能會帶來風險,尤其是與實例的原始硬體緊密結合時。如果未設計可攜性,則變更資源配置 (例如,從 VM.Standard3 切換至 VM.Standard4 執行處理) 時可能會發生問題,因為基礎硬體變更會影響裝置的對應方式。

此部落格概述了客戶使用來自 Oracle Cloud Marketplace 的 Rocky Linux 映像檔所遇到的實際開機失敗案例。雖然此範例是 Rocky Linux 特有,但根本原因與解析度大致適用於任何在其配置中使用靜態裝置名稱的自訂 Linux 式影像。

目標

本指南透過更正掛載組態並增強映像檔可攜性,協助 OCI 使用者識別及解決自訂 Linux 映像檔上因資源配置變更或重新啟動而導致的開機失敗。

必備條件

工作 1:瞭解問題

  1. 檢閱 OCI 資源配置變更如何影響基礎硬體和裝置命名。
  2. 辨識 /etc/fstab 中的靜態裝置名稱 (例如 /dev/sdX) 可能在資源配置變更後或甚至重新啟動後變成無效。
    • 變更資源配置時,作業系統可能會指定新名稱給連附的區塊磁碟區。例如,/dev/sdb 版的磁碟現在可能會顯示為 /dev/sdc
    • 如果 /etc/fstab 依賴這些靜態名稱,則磁碟區在啟動時可能會無法掛載。
    • 為避免發生此情況,請使用永久識別碼,例如 /etc/fstab 中的磁碟區 UUID/dev/disk/by-uuid/ 路徑。

工作 2:識別症狀和錯誤

  1. 請檢查序列主控台或系統日誌 (journalctl -xb),以瞭解發生的錯誤,例如:

    • Welcome to emergency mode! After logging in, type “journalctl -xb”...
    • Failed to mount /mnt/data: No such device
    • Duplicate mount point /mnt/data detected
    • Cannot mount /dev/sdX: No such file or directory
    • systemd[1]: Failed to mount /mnt/data.
    • systemd[1]: Dependency failed for Local File Systems.
    • systemd[1]: Job local-fs.target/start failed with result ‘dependency’.

工作 3:啟動至救援 / 緊急模式

  1. 存取執行處理的序列主控台。
  2. 啟動至救援或緊急模式,以執行診斷與更正動作。

作業 4:識別正確的裝置名稱

  1. 執行 blkidlsblk 指令來列出目前的區塊裝置及其 UUID。

作業 5:手動掛載開機磁碟區

  1. 使用正確的裝置名稱掛載開機磁碟區:

    • mount /dev/sdXn /mnt
    • chroot /mnt

工作 6:編輯 /etc/fstab

  1. 使用編輯器開啟 /etc/fstab (例如 vi /etc/fstab)

    • 將所有 /dev/sdX 項目取代為從 blkid 找到的對應永久 UUID 值。
    • 移除任何重複的掛載項目。注意:使用永久 ID 後,這是一次性修正,未來的資源配置變更不應造成此問題。

工作 7:結束並重新啟動

  1. 結束 chroot 環境:exit
  2. 視需要卸載磁碟區。
  3. 重新啟動執行處理。

OCI 資源配置變更後避免啟動失敗的預防秘訣

  1. 使用持續性識別碼:一律使用 UUID=LABEL= 指定 /etc/fstab 中的磁碟,而非使用 /dev/sdX 等裝置名稱。這樣可確保掛載點在硬體變更時保持一致。
  2. 執行 blkid 稽核:在資源配置變更前後執行 blkid,以驗證裝置與 UUID 的對應是否正確。
  3. 變更前的備份:在任何資源配置修改之前,一律先備份您的執行處理或開機磁碟區,以便在發生問題時啟用復原。
  4. 在非生產環境中測試資源配置變更:尤其是在使用市集或可能具有硬式編碼掛載的自訂映像檔時,測試資源配置會先在非生產環境中變更。

結論

雖然在 Rocky Linux 上觀察到此問題,但如果未遵循磁碟掛載的最佳做法,可能會影響任何以 Linux 為基礎的自訂映像檔。好消息是,這是一次性的修正。將 /etc/fstab 更新為使用 UUID 或 LABEL 等永久 ID 之後,未來的 OCI 資源配置便會變更或甚至重新啟動,不會導致啟動失敗。主動驗證組態,確保跨資源配置進行順暢、可靠的轉換。

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center