本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以針對使用佈建 (DLV) 儲存體的資料庫執行個體使用專用日誌磁碟區 IOPS(PIOPS)。DLV 會移動 PostgreSQL 資料庫交易日誌和MySQL/MariaDB redo logs and binary logs to a storage volume that's separate from the volume containing the database tables. A DLV makes transaction write logging more efficient and consistent. DLVs are ideal for databases with large allocated storage, high I/O每秒 (IOPS) 要求,或延遲敏感工作負載。
DLVs 支援PIOPS儲存 (io1 和 io2 Block Express),並以固定大小 1,024 GiB 和 3,000 佈建 建立IOPS。
Amazon RDS支援下列版本DLVs AWS 區域 的所有 :
MariaDB 10.6.7 和更新的 10 版本
我的SQL 8.0.28 和更新版本 8.0、我的SQL 8.4.3 和更新版本 8.4
PostgreSQL 13.10 和更新版本 13、14.7 和更新版本 14、15.2 和更新版本 15
RDS 支援DLVs多可用區域部署。當您修改或建立多可用區域執行個體時,DLV會同時為主要執行個體和次要執行個體建立 。
RDS 支援DLVs具有僅供讀取複本的 。如果主要資料庫執行個體已啟用 DLV,則在啟用後建立的所有僅供讀取複本DLV也會有 DLV。除非明確修改,否則在切換到 之前建立的任何僅供讀取複本DLV都不會啟用。我們建議DLV在啟用 之前連接到主要執行個體的所有僅供讀取複本,也要手動修改為具有 DLV。
注意
我們建議資料庫組態DLVs為 5 TiB 或更高。
如需 優點的詳細資訊DLVs,請參閱下列部落格文章:
如需每個資料庫引擎可用之已配置儲存、佈建 IOPS和儲存輸送量範圍的資訊,請參閱 佈建的IOPSSSD儲存。
啟用和停用時的考量事項 DLV
啟用和停用DLV可能會耗時,並導致停機時間。程序涉及在啟用時將所有交易日誌或重做和二進位日誌 (取決於資料庫引擎) 複製到新磁碟區,或在停用時回到原始儲存體。此操作的持續時間受到幾個因素的影響:
-
交易日誌數量:
-
具有更多交易的大型資料庫會產生更多日誌,增加複製所需的時間。
-
如果複寫槽處於非作用中狀態,或複寫延遲,則交易日誌可以累積在主要資料庫執行個體上,從而增加複製所需的時間。確定複寫是最新的,並移除任何不必要的插槽。
-
-
儲存組態:
-
資料庫執行個體EBS頻寬 – 頻寬越高,資料傳輸速度越快。
-
佈建數量 IOPS – 每秒更多的輸入/輸出操作 (IOPS) 可以加快複製程序。
-
-
資料庫活動 – 在組態期間高層級的資料庫活動可能會拖慢程序。
為了將停機時間降至最低,我們建議您在活動或維護時段不足期間規劃和排程。
建立資料庫執行個體DLV時啟用
您可以使用 AWS Management Console AWS CLI、 或 RDS API 來建立DLV已啟用 的資料庫執行個體。
在新的資料庫執行個體DLV上啟用
登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/
。 -
選擇建立資料庫。
-
在建立資料庫執行個體頁面上,選擇支援 的資料庫引擎DLV。
-
對於儲存:
-
選擇佈建 IOPSSSD(io1) 或佈建 IOPSSSD(io2)。
-
輸入您想要的配置儲存和佈建IOPS。
-
展開專用日誌磁碟區,然後選取開啟專用日誌磁碟區。
-
-
視需要選擇其他設定。
-
選擇建立資料庫。
建立資料庫之後,專用日誌磁碟區的值會出現在資料庫詳細資訊頁面的組態索引標籤上。
若要在使用佈建IOPS儲存體建立資料庫執行個體DLV時啟用 ,請使用 AWS CLI 命令 create-db-instance。設定下列參數:
-
--dedicated-log-volume
– 啟用專用日誌磁碟區。 -
--storage-type
– 將佈建io2
的 設為io1
或 IOPS。 -
--allocated-storage
– 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。 -
--iops
– 資料庫執行個體IOPS的佈建數量,以每秒的 I/O 操作表示。
若要在使用佈建IOPS儲存體建立資料庫執行個體DLV時啟用 ,請使用 Amazon RDSAPI操作 CreateDBInstance。 設定下列參數:
-
DedicatedLogVolume
– 設定為true
以啟用專用日誌磁碟區。 -
StorageType
– 將佈建io2
的 設為io1
或 IOPS。 -
AllocatedStorage
– 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。 -
Iops
– 資料庫執行個體的IOPS速率,以每秒的 I/O 操作表示。
在現有的資料庫執行個體DLV上啟用
您可以使用 AWS Management Console AWS CLI、 或 RDSAPI來修改資料庫執行個體以啟用 DLV。
修改資料庫執行個體DLV的設定後,您必須重新啟動資料庫執行個體。
在現有資料庫執行個體DLV上啟用
登入 AWS Management Console ,並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/
。 -
在導覽窗格中,選擇 Databases (資料庫)。
若要篩選資料庫執行個體清單,請針對篩選條件資料庫輸入文字字串RDS,讓 Amazon 用來篩選結果。只有名稱中包含此字串的資料庫執行個體會顯示出來。
-
選擇具有您要修改之佈建IOPS儲存體的資料庫執行個體。
-
選擇 Modify (修改)。
-
在修改資料庫執行個體頁面上:
-
對於儲存,展開專用日誌磁碟區,然後選取開啟專用日誌磁碟區。
-
-
選擇繼續。
-
選擇立即套用,以立即將變更套用至資料庫執行個體。或選擇 Apply during the next scheduled maintenance window (在下一個排定的維護時段套用) 在下個維護時段套用變更。
-
檢閱要變更的參數,並選擇 Modify DB instance (修改資料庫執行個體) 以完成修改。
專用日誌磁碟區的新值會出現在資料庫詳細資訊頁面的組態索引標籤上。
若要使用佈建IOPS儲存在現有資料庫執行個體DLV上啟用或停用 ,請使用 AWS CLI 命令 modify-db-instance
。設定下列參數:
-
--dedicated-log-volume
– 啟用專用日誌磁碟區。使用
--no-dedicated-log-volume
(預設值) 停用專用日誌磁碟區。 -
--apply-immediately
– 使用--apply-immediately
立即套用變更。使用
--no-apply-immediately
(預設值) 在下個維護時段套用變更。
若要使用佈建IOPS儲存在現有資料庫執行個體DLV上啟用或停用 ,請使用 Amazon RDSAPI操作 ModifyDBInstance
。設定下列參數:
-
DedicatedLogVolume
– 將此選項設定為true
以啟用專用日誌磁碟區。將此選項設定為
false
以停用專用日誌磁碟區。這是預設值。 -
ApplyImmediately
– 將此選項設為True
立即套用變更。將此選項設為
False
(預設值) 在下個維護時段套用變更。
監控DLV儲存體
您可以使用 FreeStorageSpaceLogVolume
中的 指標來監控DLV儲存體用量 CloudWatch。
您可以使用下列RDS適用於 PostgreSQL 的 查詢來尋找交易日誌佔用的大小:
SELECT pg_size_pretty(COALESCE(sum(size), 0)) AS total_wal_generated_size
FROM pg_catalog.pg_ls_waldir();
如果 DLV耗盡儲存體,資料庫執行個體將進入 storage-full
狀態,導致停機。
我們建議您先刪除舊的日誌檔案,再將DLV儲存空間用盡。