Workload Factory 中的資料庫環境配置分析
Workload Factory for Databases 會定期分析資料庫組態,以確定在 Amazon FSx for NetApp ONTAP 儲存設備上部署的 Microsoft SQL Server 和 Oracle 是否存在任何問題。發現問題時,Workload Factory 會向您說明問題所在,並解釋需要進行哪些變更,以使您的資料庫組態達到最佳效能、成本效率並符合最佳實務的法規遵循要求。
Workload Factory 為架構良好的資料庫工作負載提供最佳實務和建議。架構良好分析會評估 Microsoft SQL Server 和 Oracle Database 的組態和設定,包括儲存設備、運算、應用程式、恢復能力以及 Clone 等方面。
運作方式
Workload Factory 每日分析您在 Amazon FSx for NetApp ONTAP 檔案系統部署上執行的工作負載。此分析提供架構完善的狀態資訊、洞察分析和建議。
每日分析完成後,部署的 Well-architected 儀表板會顯示配置狀態為「已最佳化」或「未最佳化」。您可以在這裡查看總優化得分、按類別劃分的配置問題以及配置問題和建議清單。您可以查看針對配置問題的建議。部分問題可由 Workload Factory 自動修復,而其他問題則需要人工幹預。在這種情況下,Workload Factory 會提供詳細說明,幫助您實施建議的變更。
您可以忽略不適用於您環境的組態分析。這樣可以避免不必要的警示和不準確的最佳化結果。
您也可以使用純文字語言建立自訂規則,以根據組織的標準和 NetApp 最佳實務來驗證您的環境。先進行模擬執行測試規則,然後排程在您的環境中執行。"深入瞭解自訂規則"。
您也可以使用純文字語言建立自訂規則,以根據組織的標準和 NetApp 最佳實務來驗證您的環境。先進行模擬執行測試規則,然後排程在您的環境中執行。
為什麼這很重要
Workload Factory 將最佳實踐應用於大型儲存、資料庫和 VMware 環境,透過持續評估與建議洞察和修復措施相結合。在 Workload Factory 主控台中套用的自動化修復可減少人為錯誤、確保統一管理,並維護工作負載基礎架構的效能和可靠性。
分析資料庫環境的選項
Workload Factory 提供以下選項來分析您的資料庫環境:
-
一次性評估:執行"一次性評估"以了解您的 Microsoft SQL Server 執行個體或 Oracle 資料庫的架構良好狀態,而無需儲存憑證或註冊資源。
對於一次性評估,您只需提供一次要分析的 Microsoft SQL Server 執行個體或 Oracle 資料庫的憑證即可。
-
持續評估:Workload Factory 定期分析您的資料庫環境,後續提供最佳化組態的建議,並自動修復問題。
要進行持續評估,您需要在 AWS 帳戶中註冊您的資源、關聯連結並授予權限。
Microsoft SQL Server 最佳實務
以下最佳實務與建議適用於 Microsoft SQL Server 工作負載。
儲存
將主要 SSD 分層用於對效能敏感的 SQL 工作負載。
Details
為了獲得最佳效能,請使用主要 SSD 分層來儲存 FSx for ONTAP Volume。容量資源池分層可能會降低效能並增加延遲。主要 SSD 分層專為高效能工作負載而設計,而容量資源池分層則針對成本效率進行最佳化,可能無法滿足 SQL Server 工作負載的效能要求。
保持高於 Volume 總大小的足夠可用空間。
Details
請確保檔案系統容量高於總 Volume 大小。可用空間過少會導致效能問題;可用空間過多則會浪費儲存設備並增加成本。
調整日誌磁碟機的大小並加以監控,以避免復原和中斷。
Details
調整 SQL Server 日誌磁碟機的大小並加以監控,以防止因日誌磁碟機已滿而導致的交易回溯、資料庫無法使用、資料毀損和效能問題。
調整 TempDB 的大小,避免瓶頸和逾時。
Details
合理調整並監控 TempDB 的大小,以維持效能和穩定性。TempDB 空間過小會導致查詢變慢、應用程式逾時甚至系統當機。
分開 `.mdf`和 `.ldf`路徑。
Details
將資料和日誌檔案分別放在不同的磁碟機上,可以提高並行 I/O 效能、備份靈活度和還原效能。對於較小的資料庫,我們建議將資料和日誌 LUN 路徑分別放在不同的 Volume 中。
使用專用磁碟機。
Details
將 TempDB 放置在專用磁碟機上,可以避免 I/O 爭用,進而提高 SQL Server 的效能和穩定性。
根據需要分配儲存設備。
Details
為 FSx for ONTAP Volume 配置資源隨需配置,以更妥善地利用儲存設備並降低成本。資源隨需配置可讓您視需要分配儲存設備,而非一次保留所有容量。
自動擴充 Volume。
Details
啟用自動調整規模,並將模式設定為 grow,使 Volume 在變滿並變為唯讀之前自動增加。
設定 SQL Server 所使用 LUN 的區塊裝置空間設定。
Details
設定 Microsoft SQL Server 執行個體所使用之 LUN 的區塊裝置空間設定,以防止寫入失敗並提升 FSx for ONTAP 的空間效率。
保留空間用於儲存作用中資料。
Details
將 Snapshot 複本保留設為 0%,並啟用 Snapshot 自動刪除,以保護作用中資料的空間。
刪除 Snapshot 複本前,請先擴充 Volume。
Details
當空間不足時,請在刪除 Snapshot 複本之前擴充 Volume。擴充 Volume 可防止出現「Volume 已滿」錯誤,減少寫入失敗,並保留 Snapshot 恢復點。
使用僅快照分層原則對 Snapshot 資料進行分層。
Details
使用僅快照分層原則,此原則僅將快照資料移至容量分層,同時將作用中資料保留在 SSD 分層。這種方法既能保持 SQL 工作負載的低延遲效能,又能降低儲存設備成本。快照資料在 7 天冷卻期後進行分層。
使用重複資料刪除、壓縮和資料精簡。
Details
啟用重複資料刪除、壓縮和資料精簡,以減少儲存設備使用量和成本,同時保持效能。
將 ONTAP LUN 作業系統類型與主機分割區進行比對。
Details
將 ONTAP LUN 作業系統值與主機分割區方案相符,以維持正確的 I/O 對齊。
設定多路徑 I/O (MPIO) 原則、工作階段、狀態和逾時設定。
Details
設定多路徑 I/O (MPIO) 以提高彈性和處理量。對於 iSCSI LUN 上的 SQL Server,每個目標介面使用五個 MPIO 工作階段,監控路徑狀態,並將主機逾時設為 60 秒。
設定為 64K。
Details
將 NTFS 分配單元大小設定為 64K,以提升 SQL Server 工作負載的磁碟效率並減少碎片。
停用排程 Snapshot。
Details
停用 Microsoft SQL Server 所使用的 FSx for ONTAP Volume 的排程快照。而是使用 NetApp SnapCenter 等工具在外部管理快照,這些工具可建立應用程式一致性備份,並有助於防止還原作業期間發生資料毀損。
運算
根據工作負載需求調整 EC2 執行個體大小。
Details
根據工作負載需求調整 SQL Server EC2 執行個體的大小。當資源配置不足時增加執行個體大小,當資源配置過剩時減少執行個體大小,以平衡成本和效能。
安裝最新的作業系統修補程式。
Details
套用最新的作業系統修補程式,以提升安全性和可靠性。
設定接收端縮放(RSS)。
Details
設定接收端擴充 (RSS) 以將網路處理分配至各個 CPU,進而提升網路效能。在正式部署前驗證設定。
使主機和儲存設備路徑上的最大傳輸單元 (MTU) 保持一致。
Details
將 EC2 最大傳輸單元 (MTU) 設定與 FSx for ONTAP 路徑保持一致,以防止碎片化並維持穩定的處理量。
應用程式
審查付費功能的授權使用情況。
Details
審查主機層級的 SQL Server 授權使用情況。如果未使用付費功能,則授權並非最佳化的,可能會增加成本。
套用最新的 Microsoft SQL Server 修補程式。
Details
套用最新的 SQL Server 修補程式,以提升安全性和系統可靠性。
使用經過工作負載測試的值。
Details
配置 MAXDOP 以最佳化查詢效能。通常情況下,4、8 或 16 的值效果良好。測試您的工作負載並監控並行等待類型,例如 CXPACKET。
彈性
使用 NetApp SnapCenter 的應用程式一致性快照。
Details
使用 NetApp SnapCenter 的應用程式一致性快照,可以在特定時間點對 Volume 資料進行準確可靠的快照。SnapCenter 可簡化備份程序,並協助您快速還原資料,從而減少停機並保護關鍵工作負載。
防止區域性中斷。
Details
啟用跨區域複寫 (CRR) 可提高 SQL Server 環境中的資料可用度和災難恢復。CRR 透過在不同位置複寫資料,協助防範區域性中斷,並確保業務連續性。
設定 FSx for ONTAP 備份或 AWS Backup。
Details
設定 FSx for ONTAP 備份或 AWS Backup,以符合保留和法規遵循要求,同時避免重複的備份工作流程。
設定容錯移轉叢集執行個體的仲裁。
Details
正確設定 SQL Server Failover Cluster Instances 的仲裁,使叢集能夠容忍預期的節點故障。
保持各節點上的磁碟機代號一致。
Details
在 SQL Server 高可用度設定中,每個節點都應使用相同的磁碟機代號。這可以簡化管理,並有助於故障轉移正常運作。
調整心跳機制以實現穩定的故障轉移行為。
Details
調整心跳設定,避免不必要的容錯移轉,同時快速偵測真正的故障。
確保兩個節點都能存取共享的 iSCSI LUN。
Details
在 FCI 部署模型中,所有共享磁碟(iSCSI LUN)必須可從兩個節點存取,以便容錯移轉能夠正常運作。
驗證服務帳戶和啟動相依性。
Details
驗證服務帳戶權限、啟動類型和相依性,以確保可靠的高可用度行為。
複製
定期移除舊的複製。
Details
定期移除過時的複製,以降低儲存設備成本並減少運維工作量。老舊且未使用的複製會導致高昂的成本。
Oracle 最佳實務
以下最佳實務和建議適用於 Oracle 工作負載。
儲存
保持高於 Volume 總大小的足夠可用空間。
Details
請確保檔案系統容量高於總 Volume 大小。可用空間過少會導致效能問題;可用空間過多則會浪費儲存設備並增加成本。
根據需要分配儲存設備。
Details
為 FSx for ONTAP Volume 配置資源隨需配置,以更妥善地利用儲存設備並降低成本。資源隨需配置可讓您視需要分配儲存設備,而非一次保留所有容量。
自動擴充 Volume。
Details
啟用自動調整規模功能,並將模式設定為 grow,使 Volume 在容量滿載並變為唯讀之前自動增加。
設定 SQL Server 所使用 LUN 的區塊裝置空間設定。
Details
設定 Oracle 資料庫所使用 LUN 的區塊設備空間設定,以防止寫入失敗並提升 FSx for ONTAP 的儲存效率。
保留空間用於儲存作用中資料。
Details
將 Snapshot 複本保留設為 0%,並啟用 Snapshot 自動刪除,以保護作用中資料的空間。
刪除 Snapshot 複本前,請先擴充 Volume。
Details
當空間不足時,請在刪除 Snapshot 複本之前擴充 Volume。擴充 Volume 可防止出現「Volume 已滿」錯誤,減少寫入失敗,並保留 Snapshot 恢復點。
使用僅快照分層原則對 Snapshot 資料進行分層。
Details
使用僅快照分層原則,此原則僅將快照資料移至容量分層,同時將作用中資料保留在 SSD 分層。這種方法既能保持 SQL 工作負載的低延遲效能,又能降低儲存設備成本。快照資料在 7 天冷卻期後進行分層。
使用重複資料刪除、壓縮和資料精簡。
Details
啟用重複資料刪除、壓縮和資料精簡,以減少儲存設備使用量和成本,同時保持效能。
根據記憶體容量設定交換空間。
Details
根據 RAM 容量設定交換空間,以便系統能夠應對記憶體壓力,避免運行速度變慢或崩潰。
為每種類型的 Oracle 檔案使用專用 Volume,以隔離 I/O 模式並提升效能。
Details
將歸檔日誌、資料檔案、控制檔案、重做日誌和臨時檔案放置在分隔的磁碟機上,以隔離 I/O 模式並提高系統彈性。必要時,在分隔的 Volume 上保留備援副本。
使用專用 Volume。
Details
將 Oracle 二進位檔案放置在專用 Volume 上,以減少 I/O 爭用。這種分隔方式簡化了軟體更新,並將意外修改或毀損的風險降至最低。
停用本機排程快照。
Details
停用 Oracle 用於 FSx for ONTAP Volume 的排程快照,以節省空間並降低成本。而是使用 NetApp SnapCenter 等工具在外部管理快照,這些工具可建立應用程式一致性備份,並有助於防止在還原作業期間發生資料毀損。
停用 dNFS。
Details
停用 dNFS 的 ONTAP nfs-rootonly 參數。 nfs-rootonly 會將 NFS 連線限制在特權連接埠(<1024)。由於 NFSv4+ 中的 dNFS 程序並非以根目錄執行,而是使用較高的連接埠,因此停用此參數可允許必要的連線。
在 Oracle 二進位檔案的專用匯出原則中包含超級使用者和 setuid 權限。
Details
如果 Oracle 二進位檔案位於 NFS 共享上,請確保匯出原則包含超級使用者和 setuid 權限。超級使用者(root)存取允許 NFS 用戶端以 root 身分進行映射,這是執行二進位檔案所必需的。
為在 FSx for ONTAP 上執行的 iSCSI 型儲存設備設定 Oracle Automatic Storage Management (ASM)。
Details
使用 Oracle Automatic Storage Management (ASM) 來最佳化在 FSx for ONTAP 上執行的 iSCSI 型儲存設備,以提升效能、簡化儲存管理,並增強 Oracle Database 部署的擴充性。
-
ASM 資料磁碟群組、ASM 日誌磁碟群組、ASM FRA 磁碟群組和 ASM 歸檔磁碟群組 LUN
將 LUN 分散到自動儲存管理 (ASM) 磁碟群組資源。
Details
將 LUN 分佈在 Automatic Storage Management (ASM) 資料、重做日誌和歸檔日誌磁碟組中,以實現最佳效能和冗餘。
-
ASM 外部備援
使用 EXTERNAL 備援設定 Oracle ASM 磁碟群組。
Details
為 FSx for ONTAP iSCSI LUN 配置具有 EXTERNAL 備援的 Oracle ASM 磁碟群組,以運用 FSx for ONTAP 的內建高可用度、最佳化儲存效率,並透過避免 Oracle 層級資料鏡射來降低成本。
-
ASM 過濾器驅動程式和 ASMLib 邏輯區塊大小對齊
設定 Oracle ASM Filter Driver (AFD) 和 ASMLib,以使用底層 FSx for ONTAP 儲存設備的邏輯區塊大小。
Details
在 ASMLib 組態檔案中設定 Oracle ASM 過濾器驅動程式 (AFD) 和 ASMLib,使其使用底層 FSx for ONTAP 儲存設備的邏輯區塊大小。這可確保 AFD 和 ASMLib 將 I/O 操作與儲存設備的區塊大小保持一致,從而透過最小化延遲並降低不必要的 I/O 例行成本來最佳化效能。
對於基於 NFS 的 Oracle 工作負載,設定為 128。
Details
對於執行在 NFS 上的 Oracle 工作負載,請將 TCP 插槽表核心參數設定為 128。此組態可實現更多並行 I/O 作業,從而降低 Oracle 資料檔案存取等高處理量情境下的延遲。核心參數控制 TCP 上未完成的 NFS 請求的最大數量,其作用類似於 Fibre Channel 設定中的佇列深度。Linux 的預設值通常設定為 16,無法支援最佳資料庫效能。
使用能最佳化資料庫檔案效能的 NFS 裝載選項。
Details
為資料庫檔案使用最佳化的 NFS 裝載選項。關鍵參數包括 `rw`用於讀寫存取、 `bg`用於背景裝載、 `hard`用於故障時無限重試,以及 `proto=tcp`用於可靠傳輸。 `rsize`和 `wsize`的值 262144 可改善大型 I/O 作業,提升處理量,同時 `nointr`不會中斷長時間執行的任務。此組態可提升資料庫效能和彈性,尤其是在高處理量環境中。
使用 NFS 裝載選項來最佳化 ADR 主目錄的效能。
Details
對自動診斷儲存庫 (ADR) 主目錄(或根目錄)使用最佳化的 NFS 裝載選項。ADR 主目錄儲存日誌和追蹤資訊,這些資訊與核心資料庫檔案享有類似的可靠性選項優點,但由於其操作對中斷的敏感度較低,因此不需要 `nointr`裝載選項。
確保主機和 NFS 伺服器之間的 NFSv4 網域名稱相符。
Details
在主機 (/etc/idmapd.conf 或 hostname -d)與 ONTAP 中的 NFS 伺服器 (v4-id-domain)之間比對 NFSv4 網域名稱。
請勿在獨立式部署中停用主機快取。
Details
在獨立式 Oracle 部署中,為了提高效率和可靠性,應省略停用主機快取的 NFS 裝載選項(例如 actimeo=0`和 `noac)。這些選項適用於叢集環境以確保快取一致性,但在單一執行個體環境中,它們會不必要地繞過快取,並可能顯著降低效能。
啟用 dNFS。
Details
在 Oracle 環境中啟用 Direct NFS (dNFS),以提升 NFS 儲存效能和可靠性。
避免採用輪詢方式進行名稱解析。
Details
避免將 Direct NFS (dNFS) 與任何類型的輪詢名稱解析方式(包括 DNS、DDNS、NIS 或任何其他方法)一起使用。這包括 ONTAP 中提供的 DNS 負載平衡功能。一致的 IP 位址解析可維護資料庫穩定性,並防止潛在的崩潰或資料毀損。
驗證 `oranfstab`內容。
Details
檢查並更新 `oranfstab`檔案內容,以確保正確使用 Direct NFS (dNFS)。該 `oranfstab`檔案對於設定進階 dNFS 功能(例如多路徑和特定 NFS 選項)至關重要。正確的組態可提升資料存取和管理的效率。
適用 `nosharecache`於特定的多重掛載案例。
Details
為啟用了 Direct NFS (dNFS) 的環境設定 `nosharecache`裝載選項,適用於來源 Volume 透過巢狀 NFS 裝載在單一伺服器上超過一次的情況。此組態可防止裝載點之間共用快取,從而確保資料一致性和最佳化的效能。
運算
套用目前的修補程式。
Details
套用最新的作業系統修補程式,以提升安全性和可靠性。
停用透明大頁面(THP)。
Details
在執行 Oracle 資料庫的資料庫主機上停用透明大頁 (THP),以防止潛在的效能減低並改善記憶體容量管理。
啟用傳輸控制協定(TCP)進階選項。
Details
啟用 TCP 時間戳、SACK 和視窗擴充,以獲得最佳網路效能和可靠性。
設定 filesystemio_options = setall。
Details
設定 `filesystemio_options = setall`以獲得最佳 I/O 效能。如有需要,在停用緩衝 I/O 時調整系統全域區域 (SGA) 大小。
移除該 `db_file_multiblock_read_count`參數。
Details
從文字格式的 FILE init.ora 或伺服器管理的二進位 SPFILE (spfile<SID>.ora) 移除 db_file_multiblock_read_count 參數,以防止 Oracle 資料庫發生效能問題,並允許 Oracle 自動管理此設定。
套用最新的 CPU 更新。
Details
套用最新的 Oracle Critical Patch Updates 以解決安全性漏洞,並維護資料庫環境的完整性。定期檢閱並套用修補程式,以防範潛在威脅並確保符合安全性最佳實務做法。
彈性
使用 NetApp SnapCenter 的應用程式一致性快照。
Details
使用 NetApp SnapCenter 的應用程式一致性快照,可以在特定時間點對 Volume 資料進行準確可靠的快照。SnapCenter 可簡化備份程序,並協助您快速還原資料,從而減少停機並保護關鍵工作負載。
防止區域性中斷。
Details
啟用跨區域複寫 (CRR) 可提高 Oracle 資料庫的資料可用度和災難恢復。CRR 透過在不同位置複寫資料,協助防範區域性中斷,並確保業務連續性。
設定 FSx for ONTAP 備份或 AWS Backup。
Details
設定 FSx for ONTAP 備份或 AWS Backup,以符合保留和法規遵循要求,同時避免重複的備份工作流程。