跳到主內容
版本:3.1

儲存問題的疑難排解

請參閱本指南,以診斷 CubeCOS 儲存系統的常見問題。若您尚未閱讀,請先參閱 疑難排解概覽,以排除是否為整個叢集範圍的問題。

開始之前​

某些檢查需要以 admin 使用者身分透過 SSH 存取叢集節點。連線完成後,請使用 storage 指令檢查 Ceph 叢集與 OSD 的運作狀態。

Connect to a cluster node
ssh admin@<cluster-vip>

Ceph 叢集回報 HEALTH_WARN​

  1. 檢查叢集的整體狀態。

    Check storage cluster status
    cc1> storage status
  2. 請閱讀 health 這一行及其下方的訊息,例如 N osds down 或 Degraded data redundancy。 OSD 表中的 STATE 欄位顯示受影響的 OSD —— 運作正常的 OSD 會顯示 exists,up,而發生故障的 OSD 則會顯示 exists,但不顯示 up。

  3. 若特定 OSD 發生故障,請參閱下方的 OSD 發生故障。

  4. 如果沒有任何 OSD 處於離線狀態,但叢集仍報告配置群組狀態降級,則該叢集可能仍在從最近的變更中恢復。請在幾分鐘後重新執行 storage status,以確認其狀態是否已恢復為 HEALTH_OK。

一個 OSD 已停機​

  1. 列出所有 OSD,並找出其中具有 down 狀態或缺少 up 狀態的那一個。

    List all OSDs
    cc1> storage list_osd
  2. 檢查發生故障的 OSD 的磁碟健康狀態。

    Get details for a specific OSD
    cc1> storage list_osd <osd-id>

    如需更多資訊,請參閱 檢查 OSD 狀態。

  3. 若底層磁碟發生故障,請移除該 OSD,以便叢集能繞過該磁碟進行重新平衡。

    Remove a failed OSD
    cc1> storage remove_osd

    有關完整操作步驟,請參閱 從儲存池中移除 OSD。

  4. 若需實際更換磁碟,請先將其從叢集中移除。

    Remove a failed disk
    cc1> storage remove_disk
    危險

    強制模式會跳過資料遷移,且存在資料損毀的高風險。除非您了解相關風險且必須立即移除磁碟,否則請使用安全模式。請參閱 移除硬碟。

某個磁碟區卡在「建立中」狀態​

  1. 直接檢查音量狀態。

    Check volume status
    openstack volume show <volume-id> -c status
  2. 檢查 Ceph 叢集的狀態。如果底層儲存池處於降級或重新平衡狀態,磁碟區可能會維持在 Creating 狀態。

    Check storage cluster status
    cc1> storage status

磁碟區無法附加至或從實例中移除​

  1. 確認磁碟區的狀態及目前已連接的裝置。

    Check volume attachments
    openstack volume show <volume-id> -c status -c attachments
  2. 請確認目標實例的狀態為 Active。若實例仍處於建立、調整大小或錯誤狀態中,則無法將儲存磁碟區掛載或卸載至該實例。

  3. 請從 運算 > 實例 > 更多 > 相關資源 > 附加磁碟區 重新嘗試此操作。有關完整操作步驟,請參閱 建立並掛載磁碟區。

擴展磁區並不會在客體作業系統內反映出新的大小​

在 CubeCOS 中擴展磁碟區會擴大底層的區塊裝置,但客體作業系統仍需擴展其自身的分割區和檔案系統,才能使用新增的空間。請參閱 延伸分割區。

磁碟的重新平衡或移除過程耗時甚久或失敗​

  • 「安全模式移除」會在移除磁碟之前,先將現有資料遷移出磁碟;若磁碟上的資料較多,此過程所需時間會較長。讓它執行完畢,而非重新嘗試。
  • 若因叢集剩餘容量或故障域不足而無法遷移資料,導致安全模式移除失敗,請先增加容量,或接受強制模式所帶來的風險。請參閱 移除硬碟。
  • 如果您已透過 storage rebalance 變更複製因子,且叢集已持續進行復原一段時間,請先查看 storage status 以確認當前的復原速率,再斷定其是否陷入停滯。

物件儲存或 S3 操作失敗​

  1. 請確認您為該專案使用的 EC2/S3 憑證有效,且容器的存取政策允許您嘗試執行的操作。
  2. 請確認該容器確實存在,且可在 專案 > 儲存 > 物件儲存 下看到該容器。

有關設定與使用詳情,請參閱 物件儲存 (Swift API) 及 物件儲存 (S3 API)。

檔案共用無法掛載​

  1. 請確認分享狀態為 Active。
  2. 請確認共用網路及存取規則是否允許該客戶的 IP 位址或網路存取。

有關設定的詳細資訊,請參閱 租戶共享。