跳到主內容
版本: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 位址或網路存取。

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