我正在嘗試透過建立 Amazon Machine Image (AMI) 或快照來建立我的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或 Amazon Elastic Block Store (Amazon EBS) 磁碟區的備份。但是,此程序很慢或似乎卡在「待定」狀態。
簡短描述
Amazon EBS 支援的 AMI 包含一或多個 Amazon EBS 快照。由於必須將大量資料複製到 Amazon Simple Storage Service (Amazon S3),因此建立 EBS 支援的 AMI 或 EBS 快照的速度可能緩慢。影響建立時間的因素有很多 (例如 EBS 磁碟區上的「寫入」活動)。因此,快照的建立時間可能會有很大差異。
解決方法
髒區塊
必須複製到 Amazon S3 的髒數據量是 AMI 或快照建立速度緩慢的最常見原因。該髒數據透過區塊數量測量。下列因素可能會導致大量髒區塊:
- EBS 磁碟區的大小
- 自上次快照後的時間
- 磁碟區上的寫入活動
快照設計为增量。這表示 Amazon EBS 只會複製自上次建立快照以來變更的區塊。由於之前沒有建立快照,或先前的快照已刪除,EBS 磁碟區可能沒有現有的快照。在這種情況下,區塊不能與任何快照進行比較。因此,所有區塊都視為是髒的。
此外,如果快照是很久以前建立的,或是 EBS 磁碟區非常活躍,您可能有大量區塊必須作為新快照的一部分進行複製。
若要避免此問題,最佳實務是經常建立快照。透過此實務,每個快照所要複製的區塊數量會減少。您可以使用 Amazon Data Lifecycle Manager 自動化 EBS 磁碟區快照的建立、保留和刪除。您可以根據復原點目標 (RPO) 設定快照的頻率。EBS 快照不會根據快照數量收費,而是根據 S3 中儲存的增量資料收費。如需詳細資訊,請參閱 Amazon EBS 定價。
多個磁碟區排入建立快照的佇列
建立快照是一種共用頻寬操作。這表示 Amazon EBS 使用共用頻寬將資料傳送到 S3。因此,如果有多個磁碟區排入建立快照的佇列,您可能會遇到延遲。如果在整點時建立多個快照,通常會發生這種情況。例如,如果您的自動化程序恰好在午夜建立快照,則快照建立可能會延遲。
若要避免此問題,最佳實務是在一小時後的不同時間建立快照。此實務可能有助於減少建立快照所需的時間。您可以使用 Amazon Data Lifecycle Manager 在排程的開始時間後一小時內自動建立快照,而不是立即建立快照。
堆疊快照
當您在短時間內為相同磁碟區建立多個快照時,則會建立第一個快照,而其他快照會移至待定狀態。在第一個快照建立完成後,才會建立處於待定狀態的快照。刪除處於待定狀態的快照並不會停止建立程序。如果您嘗試刪除處於待定狀態的快照,則會先建立該快照,然後再將其刪除。
若要解決此問題,請避免在為磁碟區建立快照時建立快照,除非需要這麼做。
相關資訊
我的 Amazon EBS 快照顯示沒有進度或收到錯誤 "ConcurrentSnapshotLimitExceeded"。我該如何解決?