在 Bare Metal 解決方案上部署 SAP HANA 的指南

本指南將說明設定裸機解決方案環境的獨特或與 SAP HANA 相關的部分。

在 Bare Metal 解決方案環境中,您可以按照 SAP 說明文件自行安裝 SAP HANA 和其他 SAP 軟體。

本指南也說明瞭在裸機解決方案環境中, Google Cloud SAP HANA 所需或可選的 SAP 基礎服務。

如需裸機解決方案上的 SAP HANA 總覽,以利您規劃部署作業,請參閱 裸機解決方案上的 SAP HANA 規劃指南

大致步驟

在收到機器就緒通知後,您需要完成下列高階步驟,才能在 Bare Metal Solution 上部署 SAP HANA。 Google Cloud

  1. 請按照裸機解決方案說明文件完成與新機器的連線作業。如需設定程序,請參閱 Bare Metal 解決方案說明文件中的「設定 Bare Metal 解決方案環境」。
  2. 驗證 SAP HANA 的機器設定
  3. 為需要存取 Google Cloud 資源的應用程式建立身分與存取權管理服務帳戶。請參閱「設定服務帳戶」。
  4. 建立網際網路連線,以便取得軟體更新。請參閱 Bare Metal 解決方案說明文件中的「存取網際網路」。
  5. 建立連線至 Google Cloud API。請參閱 Bare Metal 解決方案說明文件中的「設定 API 和服務的存取權」 Google Cloud 。
  6. 安裝 Google Cloud的 Agent for SAP。您也可以選擇啟用代理程式的 Backint 功能。
  7. 設定網路時間通訊協定 (NTP) 伺服器的存取權,這不在本指南的討論範圍。
  8. 設定網域名稱系統 (DNS) 伺服器 (本指南未涵蓋這項作業)。

驗證 SAP HANA 的機器設定

第一次登入機器時,請確認您收到的機器、作業系統和儲存空間是否與訂購內容相符,且所有設定都正確無誤。

除了裸機解決方案說明文件中列出的一般驗證檢查項目外,請驗證下列 SAP HANA 專屬項目:

  • 作業系統為正確的 SAP 專屬版本
  • SAP HANA 磁碟區和檔案系統掛載點已正確對應
  • 儲存空間已正確設定
  • 伺服器之間的時間同步

如要瞭解 Bare Metal 解決方案機器驗證作業,請參閱「首次登入 Bare Metal 解決方案機器」。

設定應用程式服務帳戶

任何從 Bare Metal 解決方案環境存取資源的應用程式、代理程式或程序,都需要 IAM 服務帳戶進行驗證和授權。 Google Cloud

如何建立服務帳戶:

  1. 前往 Google Cloud 控制台的「Service accounts」(服務帳戶) 頁面。

    前往「Service Accounts」(服務帳戶) 頁面

  2. 選取 Google Cloud 專案。

  3. 按一下「Create Service Account」(建立服務帳戶)

  4. 指定服務帳戶名稱,並視需要輸入說明。

  5. 按一下「建立並繼續」

  6. 在「將專案存取權授予這個服務帳戶」面板中,選取包含應用程式所需權限的角色。

    舉例來說,在高可用性叢集中使用的 fence_gce 代理程式需要 baremetalsolution.service.resetInstance 權限,而這項權限包含在 IAM 角色 roles/baremetalsolution.editorroles/baremetalsolution.admin 中。

  7. 按一下「繼續」

  8. 視情況授予其他使用者服務帳戶的存取權。

  9. 按一下 [完成]

  10. 在 Google Cloud 控制台的「Service accounts」頁面中,按一下您剛建立的服務帳戶電子郵件地址。

  11. 在服務帳戶名稱下方,按一下「金鑰」分頁標籤。

  12. 點選「Add Key」下拉式選單,然後選取「Create new key」,即可建立服務帳戶金鑰

  13. 接受 JSON 做為金鑰類型,然後按一下「建立」。私密金鑰會儲存到您的電腦中。

  14. 將 JSON 金鑰檔案上傳至 Bare Metal 解決方案伺服器的安全位置,讓需要的應用程式可以存取。

  15. 設定應用程式以存取 JSON 金鑰檔案。

    舉例來說,當您建立使用 fence_gce 代理程式且具備高可用性的叢集資源時,請在 fence_gce 設定屬性中指定 JSON 鍵檔案的路徑和檔案名稱。

如要進一步瞭解 IAM 服務帳戶,請參閱:

確認與應用程式伺服器的連線

確認 SAP HANA 伺服器和應用程式伺服器之間的網路連線。

請確認您的 Google Cloud 和來賓作業系統防火牆規則允許伺服器之間的流量。

驗證磁碟區與儲存空間對應

SAP HANA 磁碟區已對應至儲存空間,但您仍應驗證一下。

使用 48 TiB 儲存空間時,您應該會在 Bare Metal 解決方案伺服器上看到下列 SAP HANA 磁碟區版面配置:

  • /hana/log:四個 768 GiB LUN,以 64 KiB 區塊大小使用 LVM 進行條紋
  • /hana/data:四個 10.5 TiB LUNS,使用 256 KiB 區塊大小,以 LVM 進行區塊配置
  • /hana/shared:3 TiB 磁碟空間
  • /usr/sap:與作業系統共用的 200 GiB 磁碟分割區

下表說明瞭磁區群組和邏輯磁區的設定。

磁碟區群組 邏輯磁碟區 設定
hanadatavg data 分割成 4 個裝置,每個裝置至少 10 TiB,區塊大小為 256 KiB
hanalogvg log 分割成 4 個裝置,每個裝置至少 768 GiB,區塊大小為 64 KiB
hanasharedvg shared 在 3 TiB 裝置上使用線性 (未分割) 模式

在 Bare Metal 解決方案上安裝 SAP HANA

如要在裸機解決方案主機上安裝 SAP HANA,請按照 SAP HANA 版本的 SAP 安裝說明文件操作。

如要查看您所用 SAP HANA 版本的安裝說明文件,請參閱 SAP 說明入口網站

設定高可用性叢集

為重要業務工作負載設定叢集或合適的高可用性解決方案。建議您使用 Pacemaker 叢集。

除了少數需求和建議外,請按照作業系統供應商提供的叢集化操作說明,在 Bare Metal 解決方案電腦上設定高可用性叢集。

如要進一步瞭解在 Bare Metal 解決方案上設定高可用性 SAP HANA 系統的 Google Cloud 相關規定和建議,請參閱「Bare Metal 解決方案中 SAP HANA 的高可用性叢集」。

浮動 IP 位址

高可用性叢集會使用浮動或虛擬 IP 位址 (VIP),將網路通訊直接傳送至啟用中的 SAP HANA 系統。設定 VIP 時,請使用標準的 IPaddr2 Pacemaker 資源。以下範例顯示 SUSE 上的 IPaddr2 資源定義:

crm configure primitive rsc_ip_HA1_HDB10 IPaddr2 \
    params ip=10.0.0.79 \
    op monitor interval=10 timeout=20

設定 IPaddr2 資源,並與 HANA 資料庫建立並置關係,以便在發生故障時,與有效資料庫一同移動。例如:

colocation col_saphana_ip_HA1_HDB10 2000: rsc_ip_HA1_HDB10:Started \
   msl_SAPHana_HA1_HDB10:Master

設定圍欄裝置

SAP HANA 適用的高可用性 Linux 叢集需要隔離裝置,以便重設失敗的節點,避免發生腦分離情境。

在 Bare Metal 解決方案環境中,實作圍欄裝置的方法有兩種:

  • SBD 搭配軟體監控程式和共用區塊儲存空間。建議使用 SBD,但並非所有作業系統都支援 SBD 的軟體監視器。
  • Bare Metal Solution API 的 fence_gce 代理程式和 resetInstance 方法。

使用共用區塊儲存空間設定 SBD 圍欄

如要設定 SBD 圍欄,您必須按照軟體供應商提供的操作說明操作。

本節僅說明如何識別及驗證為 SBD 圍欄預配的儲存空間裝置。 Google Cloud

如要設定 SUSE 上的 SBD 圍欄,請參閱:

驗證用於 SBD 區隔的區塊儲存裝置

Google Cloud 為使用 SBD 隔離機制的高可用性叢集預留訂單時,會為 SBD 區塊儲存空間建立三個共用 LUN。

您可以透過發出 multipath -ll 指令來列出兩部伺服器上的多路徑裝置,藉此找出 SBD 的共用儲存裝置:

multipath -ll | grep "size=Size of your LUN" -B1

在每份清單中找出三個相同大小的裝置,並記下裝置名稱。預設大小為 50 GB。

在以下範例中,字串 size=50G 用於篩選 multipath -ll 指令傳回的多路徑裝置清單:

multipath -ll | grep "size=50G" -B1

上述指令的輸出範例包括三個 50 GB 多路徑裝置,可用於 SBD 圍欄:

3600a098038314566785d5150506a594b dm-16,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
--
3600a098038314566785d5150506a594c dm-15,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
--
3600a098038314566785d5150506a594d dm-11,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw

兩部伺服器上的三個裝置名稱必須完全相同,這表示這三個裝置是共用 LUN。

按照作業系統供應商提供的 SBD 設定操作說明操作時,您會參照這三個裝置名稱。

舉例來說,當您初始化每個裝置以供 SBD 使用,並設定等待和逾時值時,請指定裝置名稱,如以下範例所示:

sbd -d /dev/mapper/3600a098038314566785d5150506a594b -1 60 -4 180 create

/etc/sysconfig/sbd 中設定 SBD 設定時,您也需要參照裝置名稱。例如:

SBD_DEVICE="/dev/mapper/3600a098038314566785d5150506a594b;/dev/mapper/3600a098038314566785d5150506a594c;/dev/mapper/3600a098038314566785d5150506a594d"
[..]
SBD_PACEMAKER="yes"
[...]
SBD_STARTMODE="always"

設定 fence_gce 代理程式

下列高階步驟可協助您為高可用性叢集設定圍欄資源,該叢集會使用 Linux 作業系統隨附的 fence_gce 代理程式。

  1. 在 Google Cloud 專案中,將包含 baremetalsolution.service.resetInstance 權限的 IAM 角色指派給您擁有 JSON 金鑰檔案的新或現有 IAM 服務帳戶。

    預先定義的角色 roles/baremetalsolution.editor 包含必要權限,您也可以建立自訂角色,以便更精細地控管角色所包含的權限。

    如需詳細資訊,請參閱:

  1. 將服務帳戶 JSON 金鑰檔案上傳至高可用性叢集中的所有 Bare Metal Solution 伺服器。

  2. 確認 fence_gce 代理程式版本支援 Bare Metal 解決方案。

    1. 透過 SSH 連線至 Bare Metal 解決方案伺服器

    2. 顯示 fence_gce 服務專員說明:

      $ sudo fence_gce --help
    3. fence_gce 說明中找出下列屬性:

      --baremetalsolution            Enable on bare metal
      ...
      --serviceaccount=[filename]    Service account json file location e.g.
                                         serviceaccount=/somedir/service_account.json
      

      如果您沒有看到 --baremetalsolution--serviceaccount=[filename] 屬性,就需要更新代理程式。請與 Cloud Customer Care 團隊聯絡,取得修補程序說明。修補程序會因您使用的 Linux 版本而異。

  3. 按照作業系統供應商提供的叢集化操作說明設定叢集資源時,請在每個叢集節點上指定 fence_gce 代理程式做為圍欄裝置。

    定義資源時,請指定下列 fence_gce 參數,為 Bare Metal 解決方案環境啟用代理程式:

    • baremetalsolution="true"
    • serviceaccount="file_path/key_file.json"

    以下範例顯示在 SUSE 上定義的 fence_gce 圍欄裝置資源:

    crm configure primitive STONITH-"server_name" stonith:fence_gce \
     op monitor interval="300s" timeout="60s" on-fail="restart" \
     op start interval="0" timeout="60s" onfail="restart" \
     params port="server_name" zone="Google_Cloud_zone" project="Google_Cloud_project_ID" \
       baremetalsolution="true" method="cycle" \
       serviceaccount="file_path/key_file.json"

    以下是圍欄資源範例使用的定義:

    定義 說明
    baremetalsolution=true 設定圍欄代理程式,以便在 Bare Metal 解決方案環境中運作。
    serviceaccount=file_path/key_file.json JSON 金鑰檔案的檔案路徑,其中包含服務帳戶的金鑰,該帳戶是用於讓防火牆代理程式存取 Google Cloud API。
    port=server_name 圍欄裝置可重設的 Bare Metal 解決方案伺服器原始主機名稱。
    method=cycle 定義用於重設失敗伺服器的方法。
  4. 定義每個圍欄資源後,請將圍欄裝置的位置設為要重設的伺服器以外的伺服器:

    crm configure location LOC_STONITH_server_name STONITH-server_name -inf: server_name

安裝 Google Cloud的 Agent for SAP

Google Cloud的 SAP 代理程式是 SAP 在 Bare Metal 解決方案伺服器上執行 SAP 系統時所需的支援。

如果您使用 Google Cloud提供的下列 RHEL 或 SLES「for SAP」OS 映像檔, Google Cloud的 SAP 代理程式會與 OS 映像檔一併封裝:

  • RHEL:所有「SAP 專用」映像檔
  • SLES:SLES 15 SP4 for SAP 以上版本

如要瞭解可在 Bare Metal Solution 伺服器上執行 SAP 的作業系統,請參閱以下資訊:

如要在 Bare Metal 解決方案伺服器上安裝 Google Cloud的 Agent for SAP,請按照下列步驟操作:

  1. 建立與 Bare Metal 解決方案伺服器的 SSH 連線。

  2. 在終端機中,執行適用於您作業系統的指令來安裝代理程式:

    • (建議) 如要安裝代理程式的 3.8 版 (最新版),請按照下列步驟操作:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent
    • 如要安裝特定版本的代理程式,請按照下列步驟操作:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER 替換為要安裝的代理程式版本號碼,例如 3.1-606637668。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。

  3. 開啟以下設定檔:

    /etc/google-cloud-sap-agent/configuration.json

  4. 修改或新增下列參數至設定檔:

    • 在第一個部分中:
      • bare_metal:設為 true
    • 新增 cloud_properties 部分,並指定下列參數:
      • project_id:指定您的 Google Cloud 專案
      • instance_name:指定 Bare Metal 解決方案伺服器的名稱
      • region:指定 Bare Metal 解決方案伺服器的區域
  5. 儲存設定檔。

  6. 重新啟動代理程式:

    sudo systemctl restart google-cloud-sap-agent

如要進一步瞭解設定參數,請參閱「在 Bare Metal 解決方案伺服器上安裝 Google Cloud的 SAP 代理程式」一文。

安裝 Google Cloud的 Agent for SAP 和 SAP Host Agent 後,請按照「驗證代理程式安裝狀態」一節所述,驗證 Google Cloud的 Agent for SAP 安裝作業。

驗證 Google Cloud的 Agent for SAP 安裝狀態

  1. 與 Bare Metal 解決方案伺服器建立 SSH 連線。

  2. 執行下列指令:

    systemctl status google-cloud-sap-agent

    如果代理程式運作正常,輸出內容就會包含 active (running)。例如:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

如果代理程式未執行,請重新啟動代理程式

確認 SAP Host Agent 正在接收指標

如要確認Google Cloud的 Agent for SAP 是否收集基礎架構指標,並正確傳送至 SAP Host Agent,請按照下列步驟操作:

  1. 在 SAP 系統中輸入交易 ST06
  2. 在「Overview」(總覽) 窗格中,查看以下欄位的可用性和內容,確認 SAP 和 Google 監控基礎架構已做好正確的端對端設定:

    • 雲端服務供應商Google Cloud Platform
    • Enhanced Monitoring Access (強化版監控功能存取權)TRUE
    • Enhanced Monitoring Details (強化版監控功能詳細資料)ACTIVE

設定 SAP HANA 監控

您也可以使用Google Cloud的 SAP 代理程式監控 SAP HANA 例項。自 2.0 版起,您可以設定代理程式收集 SAP HANA 監控指標,然後將指標傳送至 Cloud Monitoring。Cloud Monitoring 可讓您建立資訊主頁,以圖表呈現這些指標,並依據指標門檻設定快訊等。

如要監控在 Bare Metal 解決方案環境中執行的 SAP 執行個體,您可以在 Bare Metal 解決方案伺服器或 Compute Engine 執行個體上安裝 Google Cloud的 SAP 代理程式。視代理程式主機在部署架構中的放置位置而定,您可以啟用 SAP HANA 監控指標的本機、遠端或混合式收集。

如要進一步瞭解如何使用Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,請參閱「SAP HANA 監控指標收集」。

啟用 Backint 功能

您也可以使用 Google Cloud的 SAP 代理程式中的 Backint 功能,為 SAP HANA 系統執行備份和復原作業。

如代理程式 Backint 功能的設定指南所述,您需要在 Google Cloud 上建立服務帳戶,並為 SAP HANA 主機電腦上的代理程式提供服務帳戶金鑰存取權。

如需啟用 Google Cloud代理程式 SAP 的 Backint 功能的操作說明,請參閱「為 SAP HANA 設定以 Backint 為基礎的備份和復原功能」。

維護 Bare Metal 解決方案環境

針對執行 SAP HANA 的 Bare Metal 解決方案環境,Google Cloud 提供下列自助功能,可用於維護 Bare Metal 解決方案伺服器、儲存空間和網路:

取得 Bare Metal 解決方案的 SAP HANA 支援

如果您需要協助解決裸機解決方案的 SAP HANA 部署問題,請收集必要的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。詳情請參閱「Bare Metal 解決方案上的 SAP 診斷資訊」。

支援

如果是基礎架構或服務相關問題,請與客戶服務團隊聯絡。 Google Cloud 您可以在 Google Cloud 控制台的「支援總覽」頁面中找到聯絡資訊。如果客戶服務團隊判定問題出在 SAP 系統,就會將您轉介給 SAP 支援團隊。

如要進一步瞭解 SAP 產品相關問題,請使用 SAP 支援登錄您的支援要求。SAP 會評估支援票證,如確定為 Google Cloud基礎架構方面的問題,就會將票證轉移至系統中的適當Google Cloud 元件:BC-OP-LNX-GOOGLEBC-OP-NT-GOOGLE

支援相關規定

您必須符合支援方案的最低需求,才能獲得 SAP 系統和Google Cloud所使用的基礎架構和服務支援服務。

如要進一步瞭解Google Cloud上 SAP 的最低支援需求,請參閱: