儲存問題的疑難排解
請參閱本指南,以診斷 CubeCOS 儲存系統的常見問題。 若您尚未閱讀,請先參閱 疑難排解概覽,以排除是否為整個叢集範圍的問題。
開始之前
某些檢查需要以 admin 使用者身分透過 SSH 存取叢集節點。 連線完成後,請使用 storage 指令檢查 Ceph 叢集與 OSD 的運作狀態。
ssh admin@<cluster-vip>
Ceph 叢集回報 HEALTH_WARN
-
檢查叢集的整體狀態。
Check storage cluster statuscc1> storage status -
請閱讀
health這一行及其下方的訊息,例如N osds down或Degraded data redundancy。 OSD 表中的STATE欄位顯示受影響的 OSD —— 運作正常的 OSD 會顯示exists,up,而發生故障的 OSD 則會顯示exists,但不顯示up。 -
若特定 OSD 發生故障,請參閱下方的 OSD 發生故障。
-
如果沒有任何 OSD 處於離線狀態,但叢集仍報告配置群組狀態降級,則該叢集可能仍在從最近的變更中恢復。 請在幾分鐘後重新執行
storage status,以確認其狀態是否已恢復為HEALTH_OK。
一個 OSD 已停機
-
列出所有 OSD,並找出其中具有
down狀態或缺少up狀態的那一個。List all OSDscc1> storage list_osd -
檢查發生故障的 OSD 的磁碟健康狀態。
Get details for a specific OSDcc1> storage list_osd <osd-id>如需更多資訊,請參閱 檢查 OSD 狀態。
-
若底層磁碟發生故障,請移除該 OSD,以便叢集能繞過該磁碟進行重新平衡。
Remove a failed OSDcc1> storage remove_osd有關完整操作步驟,請參閱 從儲存池中移除 OSD。
-
若需實際更換磁碟,請先將其從叢集中移除。
Remove a failed diskcc1> storage remove_disk危險強制模式會跳過資料遷移,且存在資料損毀的高風險。 除非您了解相關風險且必須立即移除磁碟,否則請使用安全模式。 請參閱 移除硬碟。
某個卷卡在「建立中」狀態
-
直接檢查音量狀態。
Check volume statusopenstack volume show <volume-id> -c status -
檢查 Ceph 叢集的狀態。 如果底層儲存池處於降級或重新平衡狀態,卷可能會維持在
Creating狀態。Check storage cluster statuscc1> storage status
磁碟區無法附加至或從實例中移除
-
確認磁碟區的狀態及目前已連接的裝置。
Check volume attachmentsopenstack volume show <volume-id> -c status -c attachments -
請確認目標實例的狀態為
Active。 若實例仍處於建立、調整大小或錯誤狀態中,則無法將儲存卷掛載或卸載至該實例。 -
請從 運算 > 實例 > 更多 > 相關資源 > 附加卷 重新嘗試此操作。 有關完整操作步驟,請參閱 建立並掛載卷。
擴展磁區並不會在客體作業系統內反映出新的大小
在 CubeCOS 中擴展磁碟區會擴大底層的區塊裝置,但客體作業系統仍需擴展其自身的分割區和檔案系統,才能使用新增的空間。 請參閱 延伸分割區。
磁碟的重新平衡或移除過程耗時甚久或失敗
- 「安全模式移除」會在移除磁碟之前,先將現有資料遷移出磁碟;若磁碟上的資料較多,此過程所需時間會較長。 讓它執行完畢,而非重新嘗試。
- 若因叢集剩餘容量或故障域不足而無法遷移資料,導致安全模式移除失敗,請先增加容量,或接受強制模式所帶來的風險。 請參閱 移除硬碟。
- 如果您已透過
storage rebalance變更複製因子,且叢集已持續進行復原一段時間,請先查看storage status以確認當前的復原速率,再斷定其是否陷入停滯。
物件儲存或 S3 操作失敗
- 請確認您為該專案使用的 EC2/S3 憑證有效,且容器的存取政策允許您嘗試執行的操作。
- 請確認該容器確實存在,且可在 專案 > 儲存 > 物件儲存 下看到該容器。
有關設定與使用詳情,請參閱 物件儲存 (Swift API) 及 物件儲存 (S3 API)。
檔案共用無法掛載
- 請確認分享狀態為
Active。 - 請確認共用網路及存取規則是否允許該客戶的 IP 位址或網路存取。
有關設定的詳細資訊,請參閱 租戶共享。