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

在 NetApp Backup and Recovery 中探索 Oracle Database 工作負載

貢獻者 netapp-mwallis

在 NetApp Backup and Recovery 中探索 Oracle Database 工作負載,以便使用備份和 Snapshot 快照技術加以保護。

必要的 NetApp Console 角色 備份與還原超級管理員。了解 "備份與恢復角色及權限""了解所有服務的NetApp Console存取角色"

在 NetApp Console 本機部署中設定 DNS 以實現氣隙主機探索

如果您在與網路隔離的環境中使用 NetApp Console 本地部署,且資料庫主機無法透過標準 DNS 訪問,則需要暫時修改內部 RKE2 CoreDNS 組態。這將使 Pod 能夠將特定主機名稱解析為叢集內的 IP 位址,類似於在節點上的 `/etc/hosts`中新增條目。

重要 在進行任何變更之前,請檢查現有的 CoreDNS 組態和現有的 rke2-coredns-config.yaml HelmChartConfig,以避免置換任何現有的自訂設定。在大多數 NetApp Console 本機部署節點上,此檔案已存在並已包含資源請求。如果該檔案已存在,請勿重新建立;而只需將 `servers:`區塊附加至現有的 `valuesContent`即可。使用 RKE2 資訊清單套用此變更,以便 RKE2 營運者和執行階段能夠持續一致地對其進行代管。
開始之前
  • 盡可能將 HelmChartConfig 檔案置於變更控制之下。

  • 使用清晰的檔案名稱,以便明確 CoreDNS 置換的目的。

  • 如果在 Corefile 中看不到預期的 DNS 記錄,請檢查 RKE2 伺服器日誌並確認清單檔案語法。

步驟
  1. 檢查現有的 CoreDNS 組態,確保您沒有置換現有的變更:

    kubectl -n kube-system get cm rke2-coredns-rke2-coredns -o jsonpath='{.data.Corefile}'
  2. 確認 HelmChartConfig 檔案是否存在:

    sudo cat /var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml
    如果檔案存在
    1. 執行以下指令碼,將該 servers: 區塊追加到現有 HelmChartConfig 檔案中:

      MANIFEST=/var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml
      
      # 1. Back up first
      sudo cp -a "$MANIFEST" "$MANIFEST.bak.$(date +%Y%m%d-%H%M%S)"
      
      # 2. Safety checks: valuesContent must be the last key, no servers: block yet
      grep -n 'servers:' "$MANIFEST"        # must return nothing
      tail -c 1 "$MANIFEST" | od -c | head  # file must end with a newline
      
      # 3. Append ONLY the servers block (nothing above it changes)
      sudo tee -a "$MANIFEST" >/dev/null <<'YAML'
          servers:
          - zones:
            - zone: .
            port: 53
            plugins:
            - name: errors
            - name: health
              configBlock: |-
                lameduck 10s
            - name: ready
            - name: kubernetes
              parameters: cluster.local in-addr.arpa ip6.arpa
              configBlock: |-
                pods insecure
                fallthrough in-addr.arpa ip6.arpa
                ttl 30
            # ───────────────────────── EDIT BELOW ─────────────────────────
            # Static DNS records for hosts the corporate DNS cannot resolve.
            # Format:  <IP>  <FQDN>  [optional aliases...]
            # `fallthrough` MUST stay as the last line -- it lets every other
            # name go to the upstream resolver via the `forward` plugin below.
            - name: hosts
              configBlock: |-
                1.2.3.4 example.domain.com exampleshortname
                fallthrough
            # ───────────────────────── EDIT ABOVE ─────────────────────────
            - name: prometheus
              parameters: 0.0.0.0:9153
            - name: forward
              parameters: . /etc/resolv.conf
            - name: cache
              parameters: 30
            - name: loop
            - name: reload
            - name: loadbalance
      YAML
      
      # 4. Confirm the merged result
      sudo cat "$MANIFEST"
    2. 確認 HelmChartConfig 檔案的唯一變更是新增了 `servers:`區塊。

    如果檔案不存在
    1. 編輯以下指令碼的 `configBlock`區域,並新增您的靜態 DNS 記錄。這會在 RKE2 清單資料夾中建立一個 HelmChartConfig YAML 檔案,RKE2 會自動套用該檔案來置換 CoreDNS 組態:

      sudo tee /var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml >/dev/null <<'YAML'
      apiVersion: helm.cattle.io/v1
      kind: HelmChartConfig
      metadata:
        name: rke2-coredns
        namespace: kube-system
      spec:
        # NOTE: This is a HelmChartConfig that *overlays* values onto the rke2-coredns
        # HelmChart already managed by RKE2. RKE2 watches /var/lib/rancher/rke2/server/manifests
        # and will re-render the rke2-coredns Helm release whenever this file changes.
        #
        # The `servers:` list below REPLACES the chart's default server definition,
        # so every plugin that was in the stock Corefile must be present here.
        # Do NOT delete plugins you don't recognize -- they are required for cluster DNS.
        valuesContent: |-
          servers:
          - zones:
            - zone: .
            port: 53
            plugins:
            - name: errors
            - name: health
              configBlock: |-
                lameduck 10s
            - name: ready
            - name: kubernetes
              parameters: cluster.local in-addr.arpa ip6.arpa
              configBlock: |-
                pods insecure
                fallthrough in-addr.arpa ip6.arpa
                ttl 30
            # ───────────────────────── EDIT BELOW ─────────────────────────
            # Static DNS records for hosts the corporate DNS cannot resolve.
            # Format:  <IP>  <FQDN>  [optional aliases...]
            # `fallthrough` MUST stay as the last line -- it lets every other
            # name go to the upstream resolver via the `forward` plugin below.
            - name: hosts
              configBlock: |-
                1.2.3.4 example.domain.com exampleshortname
                fallthrough
            # ───────────────────────── EDIT ABOVE ─────────────────────────
            - name: prometheus
              parameters: 0.0.0.0:9153
            - name: forward
              parameters: . /etc/resolv.conf
            - name: cache
              parameters: 30
            - name: loop
            - name: reload
            - name: loadbalance
      YAML
      sudo chmod 600 /var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml
    2. 複製並執行指令碼。

  3. 驗證 CoreDNS 是否已偵測到變更:

    kubectl -n kube-system get cm rke2-coredns-rke2-coredns -o jsonpath='{.data.Corefile}'

    如果幾分鐘後變更仍未生效,請重新啟動 CoreDNS 部署,然後再次驗證 Corefile:

    kubectl -n kube-system rollout restart deploy/rke2-coredns-rke2-coredns
  4. 如果在探索資料庫主機後需要移除條目,請執行下列操作:

    如果您向現有檔案追加內容
    1. 還原備份的檔案,或僅刪除檔案中的 `servers:`區塊:

      sudo cp -a /var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml.bak.<timestamp> \
      /var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml

      不要刪除該檔案,因為它包含現有的 RKE2 資源調校。

    2. 檔案恢復後,移除主機條目。過時的條目可能會導致主機探索和排程備份問題。

    3. 重新啟動 CoreDNS 部署:

      kubectl -n kube-system rollout restart deploy/rke2-coredns-rke2-coredns
    如果您建立了一個新檔案
    1. 從清單資料夾中刪除 HelmChartConfig 檔案:

      sudo rm /var/lib/rancher/rke2/server/manifests/rke2-coredns-config.yaml
    2. 刪除檔案後,移除主機條目。過時的條目可能會導致主機探索和排程備份問題。

    3. 重新啟動 CoreDNS 部署:

      kubectl -n kube-system rollout restart deploy/rke2-coredns-rke2-coredns

新增 Oracle Database 主機並探索資源

新增 Oracle 資料庫主機資訊,並讓 NetApp Backup and Recovery 探索工作負載。對於每個 Console 代理程式,選擇要探索的系統。

步驟
  1. 從 NetApp Console 選單中,選取 Protection > Backup and Recovery

  2. 在“工作負載”下,選擇“Oracle”磁貼。

  3. 選擇*發現資源*。

  4. Workload type 欄位中選擇 Oracle

  5. 如果您尚未儲存此 Oracle Database 主機的憑證,請選擇「新增憑證」。

    1. 選擇與該主機一起使用的控制台代理程式。

    2. 輸入此憑證的名稱。

    3. 輸入該帳戶的使用者名稱和密碼。

    4. 選擇*完成*。

  6. 主機註冊:新增新的 Oracle 資料庫主機。在「主機 FQDN 或 IP 位址」欄位中,輸入主機的 FQDN 或 IP 位址。對於叢集資料庫,您可以輸入叢集中任意節點的 FQDN 或 IP 位址。然後提供憑證、Console 代理程式和連接埠號碼。

  7. (可選)如果您為非 root 使用者選擇憑證,請執行下列操作:

    1. 有關將選定的非 root 使用者新增至 Oracle 資料庫主機上的 sudoers 檔案的說明,請選擇 Configure sudoers

    2. 按照對話框中的說明操作,完成後啟用核取方塊,然後選取 Done

  8. Advanced settings:請執行以下操作:

    1. 輸入要用於 NetApp 外掛程式的連接埠和安裝路徑。此外掛程式可實現 Oracle Database 主機與 NetApp Backup and Recovery 之間的通訊。

    2. 選擇是否允許 NetApp Backup and Recovery 自動在每個主機上安裝外掛程式,或略過所有主機的自動外掛程式安裝。選取 顯示手動安裝說明 以取得手動安裝指引。

      註

      NetApp Backup and Recovery 透過 SSH 連接到每台主機以自動安裝外掛。當出現以下任一情況時,請啟用 Use manual installation

      • 一個或多個主機未執行 SSH 服務。

      • 任何主機都已安裝 NetApp 外掛程式(包括僅部分叢集成員安裝的情況)。

      • 您偏好在每個主機上手動安裝外掛程式。

    3. 如果資料庫主機是叢集的,請啟用 Add all hosts in the cluster 選項以探索叢集中的所有主機。

    4. 選擇是否在自動安裝外掛程式之前,在每個主機上執行預先安裝檢查。如果檢查失敗,自動外掛程式安裝就會停止。若要略過檢查並繼續安裝,請啟用 Skip optional preinstall checks (如果您選擇手動安裝,則會自動啟用)。

  9. 選擇*發現*。

    提示 新增資源可能需要幾分鐘。若要查看進度,請在庫存頁面底部的狀態對話方塊中選取 Track progress,或從左側導覽列中選取 Monitoring
結果

Oracle 資料庫工作負載會顯示在「清單」頁面的工作負載清單中。

繼續存取NetApp Backup and Recovery儀表板

  1. 從 NetApp Console 選單中,選取 Protection > Backup and Recovery

  2. 選擇一個工作負載圖塊(例如,Oracle 資料庫)。

  3. 從備份和還原選單中,選擇*儀表板*。

  4. 審查資料保護健全狀況。面臨風險或受到保護的工作負載數量會根據新探索、受到保護和備份的工作負載而增加。