Skip to main content
NetApp database solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

AWS EC2 和 FSx 上的 Oracle 部署步驟

貢獻者 kevin-hoke

本節介紹使用 FSx 儲存部署 Oracle RDS 自訂資料庫的部署流程。

透過 EC2 控制台為 Oracle 部署 EC2 Linux 執行個體

如果您是 AWS 新手,則首先需要設定 AWS 環境。 AWS 網站登入頁面上的文件標籤提供了 EC2 說明鏈接,介紹如何部署可用於透過 AWS EC2 控制台託管 Oracle 資料庫的 Linux EC2 執行個體。以下部分是這些步驟的摘要。有關詳細信息,請參閱連結的 AWS EC2 特定文件。

設定您的 AWS EC2 環境

您必須建立一個 AWS 帳戶來配置在 EC2 和 FSx 服務上執行 Oracle 環境所需的資源。以下 AWS 文件提供了必要的詳細資訊:

關鍵主題:

  • 註冊 AWS。

  • 建立密鑰對。

  • 建立安全群組。

在 AWS 帳戶屬性中啟用多個可用區域

對於架構圖中所示的 Oracle 高可用性配置,您必須在一個區域中啟用至少四個可用區域。多個可用區也可以位於不同的區域,以滿足災難復原所需的距離。

此圖顯示輸入/輸出對話框或表示書面內容

建立並連接到用於託管 Oracle 資料庫的 EC2 執行個體

查看教學"開始使用 Amazon EC2 Linux 執行個體"了解逐步部署程序和最佳實務。

關鍵主題:

  • 概述。

  • 先決條件。

  • 步驟 1:啟動實例。

  • 第 2 步:連接到您的實例。

  • 步驟 3:清理您的實例。

以下螢幕截圖示範了使用 EC2 控制台部署 m5 類型 Linux 執行個體以執行 Oracle。

  1. 在 EC2 儀表板上,按一下黃色的啟動執行個體按鈕以啟動 EC2 執行個體部署工作流程。

    此圖顯示輸入/輸出對話框或表示書面內容

  2. 在步驟 1 中,選擇「Red Hat Enterprise Linux 8 (HVM),SSD 磁碟區類型 - ami-0b0af3577fe5e3532 (64 位元 x86) / ami-01fc429821bf1f4b4 (64 位元 Arm)」。

    此圖顯示輸入/輸出對話框或表示書面內容

  3. 在步驟 2 中,根據您的 Oracle 資料庫工作負載選擇具有適當 CPU 和記憶體分配的 m5 執行個體類型。按一下「下一步:配置實例詳細資料」。

    此圖顯示輸入/輸出對話框或表示書面內容

  4. 在步驟3中,選擇實例所在的VPC和子網,並啟用公用IP分配。按一下“下一步:新增儲存”。

    此圖顯示輸入/輸出對話框或表示書面內容

  5. 在步驟4中,為根磁碟分配足夠的空間。您可能需要空間來添加交換。預設情況下,EC2 實例分配零交換空間,這對於執行 Oracle 來說並不是最佳的。

    此圖顯示輸入/輸出對話框或表示書面內容

  6. 在步驟5中,如果需要,請新增用於實例識別的標籤。

    此圖顯示輸入/輸出對話框或表示書面內容

  7. 在步驟 6 中,選擇一個現有安全性群組或建立具有實例所需的入站和出站原則的新安全群組。

    此圖顯示輸入/輸出對話框或表示書面內容

  8. 在步驟 7 中,檢視實例設定摘要,然後按一下啟動以開始實例部署。系統會提示您建立金鑰對或選擇金鑰對來存取執行個體。

    此圖顯示輸入/輸出對話框或表示書面內容 此圖顯示輸入/輸出對話框或表示書面內容

  9. 使用 SSH 金鑰對登入 EC2 執行個體。根據需要變更您的金鑰名稱和執行個體 IP 位址。

    ssh -i ora-db1v2.pem ec2-user@54.80.114.77

您需要在指定的可用區域中建立兩個 EC2 執行個體作為主 Oracle 伺服器和備用 Oracle 伺服器,如架構圖所示。

為 Oracle 資料庫儲存配置 FSx ONTAP檔案系統

EC2 執行個體部署為作業系統指派一個 EBS 根磁碟區。 FSx ONTAP檔案系統提供 Oracle 資料庫儲存卷,包括 Oracle 二進位、資料和日誌卷。 FSx 儲存 NFS 磁碟區可以從 AWS FSx 控制台或 Oracle 安裝中進行配置,並根據使用者在自動化參數檔案中的配置來指派磁碟區的配置自動化。

建立 FSx ONTAP檔案系統

參考此文檔 "管理 FSx ONTAP檔案系統"用於建立 FSx ONTAP檔案系統。

主要考慮因素:

  • SSD 儲存容量。最小 1024 GiB,最大 192 TiB。

  • 預先配置的 SSD IOPS。根據工作負載要求,每個檔案系統最多 80,000 SSD IOPS。

  • 吞吐能力。

  • 設定管理員 fsxadmin/vsadmin 密碼。 FSx 配置自動化所需。

  • 備份和維護。停用每日自動備份;資料庫儲存備份透過SnapCenter調度執行。

  • 從 SVM 詳細資料頁面擷取 SVM 管理 IP 位址以及特定於協定的存取位址。 FSx 配置自動化所需。

    此圖顯示輸入/輸出對話框或表示書面內容

請參閱下列逐步程序來設定主或備用 HA FSx 叢集。

  1. 在 FSx 控制台中,按一下「建立檔案系統」以啟動 FSx 設定工作流程。

    此圖顯示輸入/輸出對話框或表示書面內容

  2. 選擇Amazon FSx ONTAP。然後按一下“下一步”。

    此圖顯示輸入/輸出對話框或表示書面內容

  3. 選擇標準創建,然後在檔案系統詳細資訊中將您的檔案系統命名為 Multi-AZ HA。根據您的資料庫工作負載,選擇自動或使用者配置的 IOPS,最高可達 80,000 SSD IOPS。 FSx 儲存在後端配備高達 2TiB NVMe 緩存,可提供更高的測量 IOPS。

    此圖顯示輸入/輸出對話框或表示書面內容

  4. 在網路和安全部分中,選擇 VPC、安全群組和子網路。這些應該在 FSx 部署之前建立。根據 FSx 叢集的角色(主叢集或備用叢集),將 FSx 儲存節點放置在適當的區域中。

    此圖顯示輸入/輸出對話框或表示書面內容

  5. 在「安全性和加密」部分中,接受預設值,然後輸入 fsxadmin 密碼。

    此圖顯示輸入/輸出對話框或表示書面內容

  6. 輸入 SVM 名稱和 vsadmin 密碼。

    此圖顯示輸入/輸出對話框或表示書面內容

  7. 將磁碟區配置留空;此時您不需要建立磁碟區。

    此圖顯示輸入/輸出對話框或表示書面內容

  8. 查看「摘要」頁面,然後按一下「建立檔案系統」以完成 FSx 檔案系統設定。

    此圖顯示輸入/輸出對話框或表示書面內容

為 Oracle 資料庫配置資料庫卷

主要考慮因素:

  • 適當調整資料庫磁碟區的大小。

  • 停用效能配置的容量池分層策略。

  • 為 NFS 儲存磁碟區啟用 Oracle dNFS。

  • 為 iSCSI 儲存卷設定多路徑。

從 FSx 控制台建立資料庫卷

從 AWS FSx 控制台,您可以為 Oracle 資料庫文件儲存建立三個磁碟區:一個用於 Oracle 二進位文件,一個用於 Oracle 數據,一個用於 Oracle 日誌。確保磁碟區命名與 Oracle 主機名稱(在自動化工具包中的 hosts 檔案中定義)匹配,以便正確識別。在此範例中,我們使用 db1 作為 EC2 Oracle 主機名,而不是 EC2 執行個體的典型基於 IP 位址的主機名稱。

此圖顯示輸入/輸出對話框或表示書面內容 此圖顯示輸入/輸出對話框或表示書面內容 此圖顯示輸入/輸出對話框或表示書面內容

註 FSx 控制台目前不支援建立 iSCSI LUN。對於 Oracle 的 iSCSI LUN 部署,可以使用NetApp自動化工具包透過ONTAP自動化來建立磁碟區和 LUN。

使用 FSx 資料庫磁碟區在 EC2 執行個體上安裝和設定 Oracle

NetApp自動化團隊提供了自動化工具包,以根據最佳實務在 EC2 執行個體上執行 Oracle 安裝和設定。目前版本的自動化套件支援 NFS 上的 Oracle 19c,預設 RU 補丁為 19.8。如果需要,自動化套件可以輕鬆適應其他 RU 補丁。

準備 Ansible 控制器來運作自動化

按照“建立並連接到用於託管 Oracle 資料庫的 EC2 執行個體 「設定一個小型 EC2 Linux 執行個體來執行 Ansible 控制器。與其使用 RedHat,不如使用具有 2vCPU 和 8G RAM 的 Amazon Linux t2.large 就足夠了。

檢索NetApp Oracle 部署自動化工具包

以 ec2-user 登入步驟 1 中設定的 EC2 Ansible 控制器實例,並從 ec2-user 主目錄執行 `git clone`指令來克隆自動化程式碼的副本。

git clone https://github.com/NetApp-Automation/na_oracle19c_deploy.git
git clone https://github.com/NetApp-Automation/na_rds_fsx_oranfs_config.git

使用自動化工具包執行自動化 Oracle 19c 部署

請參閱這些詳細說明"CLI 部署 Oracle 19c 資料庫"使用 CLI 自動化部署 Oracle 19c。由於您使用 SSH 金鑰對而不是密碼進行主機存取身份驗證,因此劇本執行的命令語法有細微的變化。以下列表是高度概括的:

  1. 預設情況下,EC2實例使用SSH金鑰對進行存取認證。從 Ansible 控制器自動化根目錄 /home/ec2-user/na_oracle19c_deploy, 和 /home/ec2-user/na_rds_fsx_oranfs_config,複製 SSH 金鑰 `accesststkey.pem`對於在步驟“中部署的 Oracle 主機”建立並連接到用於託管 Oracle 資料庫的 EC2 執行個體

  2. 以 ec2-user 登入 EC2 執行個體資料庫主機,並安裝 python3 函式庫。

    sudo yum install python3
  3. 從根磁碟機建立 16G 交換空間。預設情況下,EC2 實例會建立零交換空間。請遵循以下 AWS 文件:"如何使用交換檔案分配記憶體作為 Amazon EC2 執行個體中的交換空間?"

  4. 返回 Ansible 控制器(cd /home/ec2-user/na_rds_fsx_oranfs_config),並根據適當的要求執行預克隆劇本, `linux_config`標籤。

    ansible-playbook -i hosts rds_preclone_config.yml -u ec2-user --private-key accesststkey.pem -e @vars/fsx_vars.yml -t requirements_config
    ansible-playbook -i hosts rds_preclone_config.yml -u ec2-user --private-key accesststkey.pem -e @vars/fsx_vars.yml -t linux_config
  5. 切換到 `/home/ec2-user/na_oracle19c_deploy-master`目錄,閱讀 README 文件,並填充全局 `vars.yml`包含相關全域參數的檔案。

  6. 填充 `host_name.yml`文件中的相關參數 `host_vars`目錄。

  7. 執行 Linux 的劇本,當提示輸入 vsadmin 密碼時按 Enter。

    ansible-playbook -i hosts all_playbook.yml -u ec2-user --private-key accesststkey.pem -t linux_config -e @vars/vars.yml
  8. 執行 Oracle 的劇本,並在提示輸入 vsadmin 密碼時按 Enter。

    ansible-playbook -i hosts all_playbook.yml -u ec2-user --private-key accesststkey.pem -t oracle_config -e @vars/vars.yml

如果需要,將 SSH 金鑰檔案上的權限位元變更為 400。更改 Oracle 主機(`ansible_host`在 `host_vars`檔案)IP 位址到您的 EC2 執行個體公用位址。

在主 FSx HA 叢集和備用 FSx HA 叢集之間設定SnapMirror

為了實現高可用性和災難復原,您可以在主 FSx 儲存叢集和備用 FSx 儲存叢集之間設定SnapMirror複製。與其他雲端儲存服務不同,FSx 允許使用者以所需的頻率和複製吞吐量控制和管理儲存複製。它還使用戶能夠測試 HA/DR,而不會對可用性產生任何影響。

以下步驟顯示如何在主 FSx 儲存叢集和備用 FSx 儲存叢集之間設定複製。

  1. 設定主集群和備用集群對等。以 fsxadmin 使用者身分登入主集群並執行以下命令。這個相互的創建過程在主集群和備用集群上都執行創建命令。代替 `standby_cluster_name`使用適合您的環境的名稱。

    cluster peer create -peer-addrs standby_cluster_name,inter_cluster_ip_address -username fsxadmin -initial-allowed-vserver-peers *
  2. 在主叢集和備用叢集之間設定 vServer 對等連線。以 vsadmin 使用者身分登入主集群並執行以下命令。代替 primary_vserver_namestandby_vserver_name , `standby_cluster_name`使用適合您的環境的名稱。

    vserver peer create -vserver primary_vserver_name -peer-vserver standby_vserver_name -peer-cluster standby_cluster_name -applications snapmirror
  3. 驗證叢集和虛擬伺服器對等是否設定正確。

    此圖顯示輸入/輸出對話框或表示書面內容

  4. 為主 FSx 叢集上的每個來源磁碟區在備用 FSx 叢集上建立目標 NFS 磁碟區。根據您的環境替換磁碟區名稱。

    vol create -volume dr_db1_bin -aggregate aggr1 -size 50G -state online -policy default -type DP
    vol create -volume dr_db1_data -aggregate aggr1 -size 500G -state online -policy default -type DP
    vol create -volume dr_db1_log -aggregate aggr1 -size 250G -state online -policy default -type DP
  5. 如果使用 iSCSI 協定進行資料訪問,您還可以為 Oracle 二進位檔案、Oracle 資料和 Oracle 日誌建立 iSCSI 捲和 LUN。在磁碟區中留出大約 10% 的可用空間用於快照。

    vol create -volume dr_db1_bin -aggregate aggr1 -size 50G -state online -policy default -unix-permissions ---rwxr-xr-x -type RW
    lun create -path /vol/dr_db1_bin/dr_db1_bin_01 -size 45G -ostype linux
    vol create -volume dr_db1_data -aggregate aggr1 -size 500G -state online -policy default -unix-permissions ---rwxr-xr-x -type RW
    lun create -path /vol/dr_db1_data/dr_db1_data_01 -size 100G -ostype linux
    lun create -path /vol/dr_db1_data/dr_db1_data_02 -size 100G -ostype linux
    lun create -path /vol/dr_db1_data/dr_db1_data_03 -size 100G -ostype linux
    lun create -path /vol/dr_db1_data/dr_db1_data_04 -size 100G -ostype linux

    磁碟區建立-磁碟區 dr_db1_log-聚合 aggr1-大小 250G-狀態在線-策略預設-unix 權限 ---rwxr-xr-x-類型 RW

    lun create -path /vol/dr_db1_log/dr_db1_log_01 -size 45G -ostype linux
    lun create -path /vol/dr_db1_log/dr_db1_log_02 -size 45G -ostype linux
    lun create -path /vol/dr_db1_log/dr_db1_log_03 -size 45G -ostype linux
    lun create -path /vol/dr_db1_log/dr_db1_log_04 -size 45G -ostype linux
  6. 對於 iSCSI LUN,為每個 LUN 建立 Oracle 主機啟動器的映射,以二進位 LUN 為例。將 igroup 替換為適合您環境的名稱,並為每個附加 LUN 增加 lun-id。

    lun mapping create -path /vol/dr_db1_bin/dr_db1_bin_01 -igroup ip-10-0-1-136 -lun-id 0
    lun mapping create -path /vol/dr_db1_data/dr_db1_data_01 -igroup ip-10-0-1-136 -lun-id 1
  7. 在主資料庫磁碟區和備用資料庫磁碟區之間建立SnapMirror關係。替換適合您環境的 SVM 名稱。

    snapmirror create -source-path svm_FSxOraSource:db1_bin -destination-path svm_FSxOraTarget:dr_db1_bin -vserver svm_FSxOraTarget -throttle unlimited -identity-preserve false -policy MirrorAllSnapshots -type DP
    snapmirror create -source-path svm_FSxOraSource:db1_data -destination-path svm_FSxOraTarget:dr_db1_data -vserver svm_FSxOraTarget -throttle unlimited -identity-preserve false -policy MirrorAllSnapshots -type DP
    snapmirror create -source-path svm_FSxOraSource:db1_log -destination-path svm_FSxOraTarget:dr_db1_log -vserver svm_FSxOraTarget -throttle unlimited -identity-preserve false -policy MirrorAllSnapshots -type DP

可以使用適用於 NFS 資料庫磁碟區的NetApp自動化工具包自動執行此SnapMirror設定。該工具包可從NetApp公共 GitHub 網站下載。

git clone https://github.com/NetApp-Automation/na_ora_hadr_failover_resync.git

在嘗試設定和故障轉移測試之前,請仔細閱讀 README 說明。

註 將 Oracle 二進位檔案從主叢集複製到備用叢集可能會涉及 Oracle 授權。請聯絡您的 Oracle 授權代表以取得說明。另一種方法是在復原和故障轉移時安裝和配置 Oracle。

SnapCenter部署

SnapCenter安裝

跟隨"安裝SnapCenter伺服器"安裝SnapCenter伺服器。本文檔介紹如何安裝獨立的SnapCenter伺服器。 SnapCenter的 SaaS 版本目前處於 Beta 版審核階段,可能很快就會推出。如果需要,請與您的NetApp代表聯繫以了解可用性。

為 EC2 Oracle 主機配置SnapCenter插件

  1. 自動安裝SnapCenter後,以安裝SnapCenter伺服器的 Windows 主機的管理使用者身分登入SnapCenter 。

    此圖顯示輸入/輸出對話框或表示書面內容

  2. 從左側選單中,按一下“設定”,然後按一下“憑證”和“新建”以新增用於SnapCenter外掛程式安裝的 ec2-user 憑證。

    此圖顯示輸入/輸出對話框或表示書面內容

  3. 重設 ec2-user 密碼並透過編輯啟用密碼 SSH 身份驗證 `/etc/ssh/sshd_config`EC2 執行個體主機上的檔案。

  4. 驗證「使用 sudo 權限」複選框是否被選取。您剛剛在上一個步驟中重設了 ec2-user 密碼。

    此圖顯示輸入/輸出對話框或表示書面內容

  5. 將SnapCenter伺服器名稱和 IP 位址新增至 EC2 執行個體主機檔案以進行名稱解析。

    [ec2-user@ip-10-0-0-151 ~]$ sudo vi /etc/hosts
    [ec2-user@ip-10-0-0-151 ~]$ cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.1.233  rdscustomvalsc.rdscustomval.com rdscustomvalsc
  6. 在SnapCenter伺服器 Windows 主機上,將 EC2 執行個體主機 IP 位址新增至 Windows 主機檔案 C:\Windows\System32\drivers\etc\hosts

    10.0.0.151		ip-10-0-0-151.ec2.internal
  7. 在左側選單中,選擇“主機”>“託管主機”,然後按一下“新增”將 EC2 執行個體主機新增至SnapCenter。

    此圖顯示輸入/輸出對話框或表示書面內容

    檢查 Oracle 資料庫,然後在提交之前按一下更多選項。

    此圖顯示輸入/輸出對話框或表示書面內容

    勾選「跳過預安裝檢查」。確認跳過預安裝檢查,然後按一下儲存後提交。

    此圖顯示輸入/輸出對話框或表示書面內容

    系統會提示您確認指紋,然後按一下確認並提交。

    此圖顯示輸入/輸出對話框或表示書面內容

    插件配置成功後,被管理主機的整體狀態顯示為正在運作。

    此圖顯示輸入/輸出對話框或表示書面內容

配置 Oracle 資料庫的備份策略

參考本節"在SnapCenter中設定資料庫備份策略"有關配置 Oracle 資料庫備份策略的詳細資訊。

通常,您需要為完整快照 Oracle 資料庫備份建立策略,並為 Oracle 僅存檔日誌快照備份建立策略。

註 您可以在備份原則中啟用 Oracle 存檔日誌修剪來控制日誌存檔空間。在“選擇輔助複製選項”中選取“建立本機 Snapshot 副本後更新SnapMirror ”,因為您需要複製到 HA 或 DR 的備用位置。

配置Oracle資料庫備份和調度

SnapCenter中的資料庫備份由使用者配置,可以單獨設置,也可以作為資源群組中的群組進行設定。備份間隔取決於 RTO 和 RPO 目標。 NetApp建議您每隔幾個小時執行一次完整的資料庫備份,並以更高的頻率(例如 10-15 分鐘)存檔日誌備份,以便快速復原。

請參閱"實施備份策略以保護資料庫"有關實施本節中建立的備份策略的詳細逐步流程配置 Oracle 資料庫的備份策略並用於備份作業調度。

下圖提供了為備份 Oracle 資料庫而設定的資源組的範例。

此圖顯示輸入/輸出對話框或表示書面內容