Oracle 資料庫部署需要考慮的因素
公有雲為運算和儲存提供了許多選擇,使用正確類型的運算實例和儲存引擎是資料庫部署的良好起點。您還應該選擇針對 Oracle 資料庫最佳化的運算和儲存配置。
以下部分介紹了在具有 FSx 儲存在 AWS 公有雲的 EC2 執行個體上部署 Oracle 資料庫時的主要注意事項。
虛擬機器效能
選擇正確的虛擬機器大小對於公有雲中關聯式資料庫的最佳效能非常重要。為了獲得更好的效能, NetApp建議使用 EC2 M5 系列執行個體進行 Oracle 部署,該執行個體針對資料庫工作負載進行了最佳化。相同的執行個體類型也用於為 AWS 的 Oracle RDS 執行個體提供支援。
-
根據工作負載特性選擇正確的 vCPU 和 RAM 組合。
-
在虛擬機器中新增交換空間。預設的 EC2 執行個體部署不會建立交換空間,這對資料庫來說不是最佳的。
儲存佈局和設定
NetApp建議採用以下儲存佈局:
-
對於 NFS 存儲,建議的磁碟區佈局為三個磁碟區:一個用於 Oracle 二進位檔案;一個用於 Oracle 資料和重複控製文件;一個用於 Oracle 活動日誌、存檔日誌和控製文件。
-
對於 iSCSI 存儲,建議的磁碟區佈局為三個磁碟區:一個用於 Oracle 二進位檔案;一個用於 Oracle 資料和重複控製檔案;一個用於 Oracle 活動日誌、存檔日誌和控製檔案。但是,每個資料和日誌卷理想情況下應該包含四個 LUN。 LUN 在 HA 叢集節點上達到理想平衡。
-
對於儲存 IOPS 和吞吐量,您可以選擇 FSx 儲存叢集的預先配置 IOPS 和吞吐量的閾值,並且可以在工作負載變更時隨時調整這些參數。
-
自動 IOPS 設定是每 GiB 分配的儲存容量或使用者定義的儲存 3 個 IOPS,最多 80,000 個。
-
吞吐量等級依下列方式遞增:128、256、512、1024、2045 MBps。
-
回顧"Amazon FSx ONTAP效能"確定吞吐量和 IOPS 大小時的文件。
NFS 配置
Linux 是最常見的作業系統,包含原生 NFS 功能。 Oracle 提供與 Oracle 原生整合的直接 NFS (dNFS) 用戶端。 Oracle 已支援 NFSv3 超過 20 年。所有版本的 Oracle 均支援 dNFS 和 NFSv3。所有遵循 NFSv4 標準的作業系統都支援 NFSv4。 dNFS 對 NFSv4 的支援需要 Oracle 12.1.0.2 或更高版本。 NFSv4.1 需要特定的作業系統支援。有關支援的作業系統,請查閱NetApp互通性矩陣工具 (IMT)。 dNFS 對 NFSv4.1 的支援需要 Oracle 版本 19.3.0.0 或更高版本。
使用NetApp自動化工具包的自動化 Oracle 部署會自動在 NFSv3 上設定 dNFS。
其他需要考慮的因素:
-
TCP 插槽表相當於 NFS 中的主機匯流排適配器 (HBA) 佇列深度。這些表控制著任何時候可以完成的 NFS 操作的數量。預設值通常為 16,這對於最佳效能來說太低了。相反的問題出現在較新的 Linux 核心上,它可以自動將 TCP 槽表限制增加到使 NFS 伺服器充滿請求的水平。
為了獲得最佳效能並防止效能問題,請將控制 TCP 槽表的核心參數調整為 128。
sysctl -a | grep tcp.*.slot_table
-
下表提供了針對 Linux NFSv3(單一實例)建議的 NFS 掛載選項。
|
在使用 dNFS 之前,請先驗證是否安裝了 Oracle Doc 1495104.1 中所述的補丁。 NetApp針對 NFSv3 和 NFSv4 的支援矩陣不包含特定的作業系統。所有遵循 RFC 的作業系統均受支援。在線上IMT中搜尋 NFSv3 或 NFSv4 支援時,請不要選擇特定的作業系統,因為不會顯示任何符合項目。所有作業系統均受到通用策略的隱含支援。 |
高可用性
如解決方案架構所示,HA 建立在儲存層級複製之上。因此,Oracle 的啟動和可用性取決於運算和儲存的啟動和復原速度。請參考以下關鍵因素:
-
準備好備用運算實例,並透過對兩個主機進行 Ansible 並行更新使其與主運算實例同步。
-
從主伺服器複製二進位磁碟區以備用,這樣您就不需要在最後一刻安裝 Oracle 並弄清楚需要安裝和修補什麼。
-
複製頻率決定了 Oracle 資料庫復原服務的速度。複製頻率和儲存消耗之間存在權衡。
-
利用自動化技術實現快速恢復和切換到待機狀態,並且不會出現人為錯誤。 NetApp為此提供了自動化工具包。