如何疑難排解 OpenSearch Service 網域中儲存空間不足的問題?

2 分的閱讀內容
0

我的 Amazon OpenSearch Service 域存儲空間不足,我收到一個錯誤。

簡短說明

您的 OpenSearch Service 網域對處理工作負載有儲存空間需求。如果您的 OpenSearch Service 網域用完了儲存空間,可能會發生 ClusterBlockException 錯誤。例如,您將儲存裝置配置到叢集節點時,最多有 20% 的空間 (20 GB) 是預留空間。此外,Linux 等作業系統會保留 5% 的檔案系統,以支援根使用者執行的任何重要程序。如需 OpenSearch Service 儲存空間需求的詳細資訊,請參閱計算儲存需求

若要解決儲存空間不足的問題,請完成以下步驟:

  • 更新叢集碎片策略,以便碎片在所有節點上均勻分佈。
  • 增加網域的 Amazon Elastic Block Store (Amazon EBS) 磁碟區的大小。您也可以將更多叢集節點新增至 OpenSearch Service 網域。
  • 減少網域中儲存的資料量。您可以刪除不必要的檔案、最佳化舊索引,或減少網域的複本計數。請務必先拍攝手動快照
    **注意:**減少網域的複本計數可以降低容錯能力。最佳做法是為每個索引設定至少一個複本。
  • 使用索引狀態管理 (ISM) 來管理儲存空間不足。
  • 使用 Amazon CloudWatch 指標來監控叢集中的可用儲存空間量。

解決方法

更新儲存區組態設定

**重要事項:**更新組態設定之前,請確認可能觸發藍色/綠色部署的組態變更。此外,請確定您的專用主節點類型是建議的節點類型。

使用 cat 分配 (來自 Elastic 網站) 命令檢查叢集中每個節點有多少可用的儲存空間:

curl -XGET "es_endpoint/_cat/allocation?v"

若要更新您的 OpenSearch Service 網域組態設定,請完成下列步驟:

1.     Python Package Index 開啟 OpenSearch Service 主控台

2.     從導覽窗格的受管理的叢集下,選擇網域

3.     選擇您要新增儲存空間的網域。

4.    更新您的網域設定。

注意:如果您使用 Amazon EBS 磁碟區進行儲存,請更新儲存組態設定。或者,您可以更新資料節點的數量。

5.    選擇提交

如果您的網域使用 EBS 磁碟區進行資料儲存

如果網域使用 EBS 磁碟區進行儲存,請執行下列其中一個動作:

  • 增加 EBS 磁碟區的大小最大磁碟區大小取決於節點的執行個體類型或彈性搜尋版本類型。例如,512 GiB 是 Elasticsearch 1.5 版本的最大音量大小。
  • 如果您無法增加 EBS 磁碟區的大小,請新增節點擴展您的網域,然後選擇新的 EBS 限制。如需 EBS 磁碟區的詳細資訊,請參閱 EBS 磁碟區大小配額
  • 為您的 Amazon Simple Storage Service (Amazon S3) 建立不需要的索引備份。然後,從 OpenSearch Service 叢集中刪除索引,以釋放磁碟空間。或者,您也可以使用 Curator 在 OpenSearch Service 中輪換資料 (來自 Python Package Index 網站)。您也可以使用 ISM 輪替 OpenSearch Service 中的索引。
    **注意:**您必須設定手動快照儲存庫才能建立備份。

如果您的網域使用 Amazon Elastic Compute Cloud (Amazon EC2) I3 執行個體進行資料儲存

如果您使用 Amazon EC2 I3 執行個體進行資料儲存,請執行下列其中一項操作:

  • 將更多節點新增至您的 OpenSearch Service 叢集。
  • 擴展執行個體類型以取得更多儲存空間。
  • 從您的 OpenSearch Service 叢集中刪除任何不想要的索引。

刪除未使用或舊的索引

您可以使用以下命令檢查索引建立日期:

GET _cat/indices?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string&s=creation.date.string:desc

若要刪除單一索引,請執行下列命令:

DELETE <index-name>

若要刪除多個索引,請執行下列命令:

DELETE cwl-index-*

使用 ISM 管理儲存空間不足

ISM 允許您將例行任務自動化,然後將它們套用至 OpenSearch Service 中的索引和索引模式。透過 ISM,您可以定義自訂管理政策,協助維護磁碟空間不足等問題。例如,您可以使用變換操作和 ISM 政策,根據索引大小等條件,自動刪除舊索引。當現有索引符合定義的條件時,變換操作會將目標變換至新索引。

下列範例 ISM 政策會在 50 分鐘後刪除索引:

PUT _plugins/_ism/policies/delete_ism_policy
{
    "policy": {
        "policy_id": "delete_ism_policy",
        "description": "A simple default policy that deletes old unused indices“,
        "last_updated_time": 1658834661281,
        "schema_version": 13,
        "error_notification": null,
        "default_state": "example_hot_state",        #Default state
        "states": [
            {
                "name": "example_hot_state",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": “50m”   #Note that after 50 minutes index will transit from hot_state to delete state
                        }
                    }
                ]
            },
            {
                "name": "delete",                    #Indices moved to delete state
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [                  #This ISM policy attaches to all indices for the index pattern and you can mention your index pattern here
                    "sample*"
                ],
                "priority": 100,                     #Priority can be set from 0 to 100
                "last_updated_time": 1658834436349
            }
        ]
    }
}

使用下列 API 呼叫,將 ISM 政策手動附加至索引:

POST _plugins/_ism/add/your-index-*
{
     "policy_id": "<policy_id>"
}

如需詳細資訊,請參閱如何使用 ISM 管理 Amazon OpenSearch Service 中的低儲存空間?

使用 CloudWatch 警示來監控儲存

您可以使用 CloudWatch FreeStorageSpace 指標來監控叢集中的可用儲存空間量。若要在儲存空間不足時接收通知,請設定 CloudWatch 警示

如需更多詳細資訊,請參閱使用 Amazon CloudWatch 監控 OpenSearch 叢集指標

相關資訊

Amazon OpenSearch Service 的最佳操作實踐

如何提升我的 Amazon OpenSearch Service 網域容錯能力?

為什麼我的 Amazon OpenSearch Service 叢集處於紅色或黃色狀態?

AWS 官方
AWS 官方已更新 2 年前