Deployment Manager:SAP HANA 擴充部署指南

本部署指南說明如何使用 Cloud Deployment Manager 和設定檔範本來定義安裝,藉此在Google Cloud 上部署 SAP HANA 系統。本指南將協助您設定 Compute Engine 虛擬機器 (VM)、永久磁碟和 Linux 作業系統,讓您的 SAP HANA 系統發揮最佳效能。Deployment Manager 範本則整合了 Compute Engine 和 SAP 的最佳做法。

您可以按照本指南的操作說明,部署單一主機向上擴充型或多主機向外擴充型的 SAP HANA系統 (不含待命主機)。

如果您需要納入 SAP HANA 自動主機容錯移轉,請改用含主機自動容錯移轉的 SAP HANA 向外擴充系統部署指南。

如果您需要在 Linux 高可用性叢集中部署 SAP HANA,請使用下列任一指南:

必要條件

開始前,請確認您符合下列必要條件:

  • 您已閱讀 SAP HANA 規劃指南
  • 您擁有 Google Cloud 帳戶和專案。
  • 如果您希望 SAP 工作負載能遵循資料落地、存取權控管、支援人員或法規規定執行,就必須建立必要的 Assured Workloads 資料夾。詳情請參閱「SAP on Google Cloud的符合性和主權控管措施」。
  • 虛擬私有雲網路會透過防火牆規則或其他方法設定,以便控管 VM 的存取權。
  • 您可以存取 SAP HANA 安裝媒體。

  • 如果專案中繼資料中已啟用 OS 登入功能,且您正在部署橫向擴展節點,則需要暫時停用 OS 登入功能,直到部署作業完成為止。為了部署目的,這個程序會在執行個體中繼資料中設定 SSH 金鑰。啟用 OS 登入功能後,系統會停用中繼資料型安全殼層金鑰設定,這項部署作業就會失敗。部署完成後,您可以再次啟用 OS 登入功能。

    如需詳細資訊,請參閱:

設定您的 Google 帳戶

您必須要有 Google 帳戶才能使用 Google Cloud。

  1. 如果您還沒有 Google 帳戶,請先註冊帳戶
  2. (選用) 如果您希望 SAP 工作負載在符合資料落地、存取權控管、支援人員或法規規定的情況下執行,則必須建立必要的 Assured Workloads 資料夾。詳情請參閱「SAP on Google Cloud的符合性和主權控管措施」。
  3. 登入 Google Cloud 控制台,然後建立新專案
  4. 啟用您的帳單帳戶
  5. 設定安全殼層 (SSH) 金鑰組,以便您使用金鑰透過 SSH 登入 Compute Engine VM 執行個體。使用 Google Cloud CLI 建立新的安全殼層金鑰
  6. 使用 gcloud CLI 或 Google Cloud 主控台,將安全殼層金鑰新增至專案中繼資料。這可讓您存取在這項專案中建立的任何 Compute Engine VM 執行個體 (明確停用全專案安全殼層 (SSH) 金鑰組的執行個體除外)。

建立網路

基於安全性考量,請建立新的網路。您可以新增防火牆規則或使用另一個存取權控管方法,藉此控管具有存取權的對象。

如果您的專案具有預設的虛擬私有雲網路,請勿使用。請建立您自己專屬的虛擬私有雲網路,確保系統只套用您明確建立的防火牆規則。

在部署期間,Compute Engine 執行個體通常需要網際網路的存取權,才能下載 Google Cloud的 SAP 代理程式。如果您使用 Google Cloud提供的其中一種 SAP 認證 Linux 映像檔,則計算機執行個體也需要存取網際網路,才能註冊憑證並且存取 OS 供應商存放區。具有 NAT 閘道和 VM 網路標記的設定即可支援上述存取需求,即便目標運算執行個體沒有外部 IP 也沒關係。

如要設定網路:

控制台

  1. 在 Google Cloud 控制台中,前往「VPC networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下「建立虛擬私有雲網路」
  3. 輸入網路的名稱

    名稱必須遵循命名慣例。虛擬私有雲網路會使用 Compute Engine 命名慣例。

  4. 在 [Subnet creation mode] (子網路建立模式) 中,選擇 [Custom]。
  5. 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:
    1. 輸入子網路的「名稱」
    2. 在「區域」中,選取要建立子網路的 Compute Engine 區域
    3. 針對「IP 堆疊類型」,請選取「IPv4 (單一堆疊)」,然後以 CIDR 格式輸入 IP 位址範圍,例如 10.1.0.0/24

      這是子網路的主要 IPv4 範圍。如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。

    4. 按一下「完成」
  6. 如要新增其他子網路,請按一下「Add subnet」(新增子網路),然後重複上述步驟。建立網路後,您可以新增更多子網路。
  7. 按一下 [建立]。

gcloud

  1. 前往 Cloud Shell。

    前往 Cloud Shell

  2. 如要在自訂子網路模式中建立新的網路,請執行:
    gcloud compute networks create NETWORK_NAME --subnet-mode custom

    請將 NETWORK_NAME 替換為新網路的名稱。名稱必須遵循命名慣例。虛擬私有雲網路會使用 Compute Engine 命名慣例。

    指定 --subnet-mode custom 以避免使用預設的自動模式,不然系統會自動在每個 Compute Engine 地區建立子網路。詳情請參閱「子網路建立模式」。

  3. 建立子網路,並指定地區和 IP 範圍。
    gcloud compute networks subnets create SUBNETWORK_NAME \
        --network NETWORK_NAME --region REGION --range RANGE

    更改下列內容:

    • SUBNETWORK_NAME:新子網路的名稱
    • NETWORK_NAME:您在上一個步驟中建立的網路名稱
    • REGION:您希望子網路所在的區域
    • RANGE以 CIDR 格式指定的 IP 位址範圍,例如 10.1.0.0/24

      如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。

  4. (選用) 重複上述步驟以新增其他子網路。

設定 NAT 閘道

如果您需要建立一或多個沒有公開 IP 位址的 VM,就必須使用網路位址轉譯 (NAT),讓 VM 能夠存取網際網路。使用 Cloud NAT,這是一項 Google Cloud 分散式軟體定義的受控服務,可讓 VM 將傳出封包傳送至網際網路,並接收任何相應的已建立傳入回應封包。或者,您也可以設定個別的 VM 做為 NAT 閘道。

如要為專案建立 Cloud NAT 執行個體,請參閱「使用 Cloud NAT」。

為專案設定 Cloud NAT 後,VM 執行個體就能在不使用公開 IP 位址的情況下,安全地存取網際網路。

新增防火牆規則

根據預設,「默示的防火牆規則」會封鎖從虛擬私有雲 (VPC) 網路之外連入的連線。如要允許連入的連線,請為 VM 設定防火牆規則。與 VM 建立連入連線後,系統會允許該連線上雙向的流量。

您也可以建立防火牆規則,允許外部存取指定的通訊埠,或限制相同網路上 VM 之間的存取。若使用 default 虛擬私人雲端網路類型,一些其他的預設規則也適用,例如 default-allow-internal 規則,允許相同網路中 VM 之間所有通訊埠的連線。

根據適用於環境的 IT 政策,您可能需要區隔或限制資料庫主機的連線,這些功能可以透過建立防火牆規則來完成。

根據您的情境,您可以建立防火牆規則,允許下列項目存取:

  • 列於所有 SAP 產品的 TCP/IP 中的預設 SAP 通訊埠。
  • 從電腦或公司網路環境到 Compute Engine VM 執行個體的連線。如果不確定要使用哪一個 IP 位址,請詢問貴公司的網路管理員。
  • SAP HANA 子網路中 VM 之間的通訊,包括 SAP HANA 擴充系統中節點之間的通訊,或 3 層架構中資料庫伺服器和應用程式伺服器之間的通訊。您可以建立防火牆規則,允許來自子網路的流量,藉此啟用 VM 之間的通訊。
  • 連往 VM 執行個體的 SSH 連線,包括瀏覽器中的 SSH
  • 使用 Linux 第三方工具連到 VM 的連線。請建立防火牆規則以允許工具透過防火牆存取。

建立防火牆規則的步驟如下:

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Network」(虛擬私有雲網路) 「Firewall」(防火牆) 頁面。

    前往「Firewall」(防火牆)

  2. 按一下頁面頂端的 [Create firewall rule] (建立防火牆規則)

    • 在「Network」(網路) 欄位中,選取您 VM 所在的網路。
    • 在「Targets」欄位中,指定此規則適用的 Google Cloud資源。例如,指定「All instances in the network」(網路中的所有執行個體),或者,如要將規則限制於 Google Cloud上的特定執行個體,請在「Specified target tags」(指定的目標標記) 中輸入標記。
    • 在「Source filter」(來源篩選器) 欄位中選取下列其中一項:
      • 「IP ranges」(IP 範圍) - 允許來自特定 IP 位址連入的流量。請在「Source IP ranges」(來源 IP 範圍) 欄位中指定 IP 位址的範圍。
      • 「Subnets」(子網路) - 允許來自特定子網路的連入流量。請在隨後的「Subnets」(子網路) 欄位中指定子網路名稱。您可以使用這個選項允許 3 層或向外擴充設定中 VM 之間的存取作業。
    • 在「Protocols and ports」(通訊協定和通訊埠) 區段中,選取「Specified protocols and ports」(指定的通訊協定和通訊埠),然後輸入 tcp:PORT_NUMBER
  3. 按一下 [Create] (建立) 以建立您的防火牆規則。

gcloud

使用下列指令建立防火牆規則:

$ gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS

建立 SAP HANA 安裝檔案要用的 Cloud Storage 值區

在使用 Deployment Manager 在 Compute Engine VM 上安裝 SAP HANA 之前,您必須先將包含 SAP HANA 二進位檔的安裝檔案上傳至 Cloud Storage 值區。

Deployment Manager 會預期 SAP HANA 安裝檔案採用 SAP 提供的檔案格式。視 SAP HANA 版本而定,檔案格式可能是 ZIP、EXE 或 RAR。

如要下載 SAP HANA 安裝檔案,您必須建立 Cloud Storage 值區,然後將檔案上傳至該值區,步驟如下:

  1. 下載所需 SAP HANA 版本的基礎安裝檔案:

    1. 前往 SAP 支援入口網站
    2. 按一下「軟體下載」
    3. 在「Installations & Upgrades」分頁下,依序按一下「By Alphabetical Index (A-Z)」> H> SAP HANA Platform Edition > SAP HANA Platform Edition 2.0
    4. 按一下「安裝」
    5. 針對必要的 Service Pack,請選取 Linux x86_64 發行版本,然後按一下「Download Basket」

    如果您的 SAP 支援入口網站帳戶不允許存取軟體,但您認為自己有權使用該軟體,請與 SAP 全球支援客戶互動中心聯絡

  2. 下載升級 SAP HANA 資料庫至必要版本所需的檔案。這些檔案採用 SAR 格式,檔案名稱開頭為 IMDB_SERVERIMDB_CLIENTIMDB_AFL

    1. 前往 SAP 支援入口網站

    2. 按一下「軟體下載」

    3. 前往「支援套件和修補程式」分頁。

    4. 依序按一下「依字母順序索引 (A-Z)」> H > SAP HANA Platform Edition > SAP HANA Platform Edition 2.0

    5. 按一下所需元件。例如 SAP HANA Database 2.0、SAP HANA Client 2.0 或 SAP HANA AFL 2.0。

    6. 選取所需檔案,然後按一下「下載籃子」

  3. 在 Google Cloud 專案中建立 Cloud Storage 值區。如需操作說明,請參閱「建立 bucket」。

    值區名稱在 Google Cloud中不得重複。建立值區時,請選擇「Standard」做為儲存空間級別。

  4. 設定值區權限。根據預設,身為值區的擁有者,您會具有值區的讀取/寫入存取權。如要授予其他主體存取權,請參閱「使用 IAM 權限」一文。

  5. 將下載的 SAP HANA 二進位檔上傳至 Cloud Storage 值區,或值區中的資料夾。如需操作說明,請參閱「從檔案系統上傳物件」一文。

  6. 請確認您的 bucket 或資料夾中,每個檔案類型只包含一個安裝檔案。例如:

    510056441.ZIP
    IMDB_SERVER20_059_11-80002031.SAR
    IMDB_CLIENT20_005_111-80002082.SAR
    IMDB_AFL20_059_11-80002031.SAR
    
  7. 請記下您上傳 SAP 二進位檔的值區和資料夾名稱。您稍後安裝 SAP HANA 時需要用到。

建立已安裝 SAP HANA 的 VM

以下說明使用 Deployment Manager 在一或多個 VM 執行個體上安裝SAP HANA,以及 SAP HANA 需要的所有永久磁碟。您將在 Deployment Manager 設定檔案範本中定義安裝的值。

Deployment Manager 會將您的 SAP HANA 系統以及您為該系統建立的所有 VM、磁碟和其他資源全部視為一個實體,稱為「部署」。您可以在 Deployment Manager 的「Deployments」頁面上,查看 Google Cloud 專案的所有部署。

以下操作說明使用的是 Cloud Shell,不過這些步驟通常也適用於 Google Cloud CLI。

  1. 確認目前的永久磁碟和 CPU 等資源配額足夠您即將安裝的 SAP HANA 系統使用。如果您的配額不足,則部署會失敗。如要瞭解 SAP HANA 配額需求,請參閱 SAP HANA 的定價與配額考量事項一文。

    前往「配額」頁面

  2. 開啟 Cloud Shell;如果您在本機工作站上安裝了 Google Cloud CLI,請開啟終端機。

    前往 Cloud Shell

  3. 在 Cloud Shell 或 gcloud CLI 中輸入以下指令,將 template.yaml 設定檔範本下載到您的工作目錄:

    wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/template.yaml
  4. 或者,您也可以重新命名 template.yaml 檔案,藉此識別其定義的設定。

  5. 在 Cloud Shell 程式碼編輯器中開啟 template.yaml 檔案;如果您目前使用 gcloud CLI,請選擇您要用的文字編輯器。

    如要開啟 Cloud Shell 程式碼編輯器,請按一下 Cloud Shell 終端機視窗右上角的鉛筆圖示。

  6. template.yaml 檔案中,使用安裝的值來取代括號及其內容,即可更新下列屬性值。

    您為 SAP HANA 系統指定的部分屬性值 (例如 [SID] 或 [PASSWORD]) 必須遵守由 SAP 定義的規則。詳情請參閱 SAP HANA 伺服器安裝與更新指南中的「參數參考資料」。

    如果要在不安裝 SAP HANA 的情況下建立 VM 執行個體,請刪除以 sap_hana_ 開頭的所有資料行。

    屬性 資料類型 說明
    類型 字串

    指定在部署期間要使用的 Deployment Manager 範本位置、類型和版本。

    YAML 檔案包含兩個 type 規格,其中一個已註解掉。預設啟用的 type 規格會將範本版本指定為 latest。註解掉的 type 規格會指定具有時間戳記的特定範本版本。

    如果您需要所有部署都使用相同的範本版本,請使用包含時間戳記的 type 規格。

    instanceName 字串 SAP HANA 主要主機的 VM 執行個體名稱。名稱只能以小寫字母、數字或連字號指定。如果使用其他字元 (例如「_」底線或大寫字母),則部署作業會失敗。工作站主機的 VM 執行個體都使用具有「w」的相同名稱,並在名稱後面附加主機編號。
    instanceType 字串 您需要執行 SAP HANA 的 Compute Engine 虛擬機器類型。如果您需要自訂 VM 類型,請指定預先定義的 VM 類型,並將 vCPU 數量設為最接近您所需數量的數字,但仍要大於該數字。部署完成後,請修改 vCPU 數量和記憶體容量
    可用區 字串 您要部署並執行 SAP HANA 系統的區域,此區域必須位於您為子網路選取的地區。
    子網路 字串 您在先前步驟中建立的子網路名稱。如果您要部署共用虛擬私人雲端,請將這個值指定為 [SHAREDVPC_PROJECT]/[SUBNETWORK]。例如:myproject/network1
    linuxImage 字串 要用於 SAP HANA 的 Linux 作業系統映像檔或映像檔系列的名稱。如要指定映像檔系列,請在系列名稱加上 family/ 前置詞,例如 family/rhel-7-4-sapfamily/sles-12-sp2-sap。如要指定特定映像檔,請只指定映像檔名稱。如需可用的映像檔系列清單,請參閱 Cloud Console 中的「映像檔」頁面。
    linuxImageProject 字串 您要使用的映像檔所屬的 Google Cloud專案。這個專案可能是您自有的專案或 Google Cloud 映像檔專案,例如 rhel-sap-cloudsuse-sap-cloud。如需 Google Cloud 映像檔專案清單,請參閱 Compute Engine 說明文件中的「映像檔」頁面。
    sap_hana_deployment_bucket 字串 專案中 Cloud Storage 值區的名稱,其中包含您在上一個步驟中上傳的 SAP HANA 安裝項目及修訂檔案。值區中的所有升級修訂檔案都會在部署期間中套用至 SAP HANA。
    sap_hana_sid 字串 SAP HANA 系統 ID。此 ID 必須包含 3 個英數字元,並以字母開頭。所有字母都必須是大寫。
    sap_hana_instance_number 整數 SAP HANA 系統的執行個體編號,從 0 到 99。預設值為 0。
    sap_hana_sidadm_password 字串 作業系統管理員的臨時密碼。密碼至少必須為 8 個字元,並包含至少 1 個大寫字母、1 個小寫字母與 1 個數字。
    sap_hana_system_password 字串 資料庫超級使用者的臨時密碼。密碼至少必須為 8 個字元,並包含至少 1 個大寫字母、1 個小寫字母與 1 個數字。
    sap_hana_scaleout_nodes 整數 您需要的其他 SAP HANA 工作站主機數量。這個工作站主機數目不包含主要 SAP HANA 執行個體。舉例來說,如果您指定 3,向外擴充叢集中部署的 SAP HANA 執行個體就會有 4 個。
    sap_hana_shared_nfs 字串 如果是使用 NFS 解決方案與工作站主機共用 /hana/shared 磁碟區的多主機部署作業,請指定該磁碟區的 NFS 掛接點。例如:10.151.91.122:/hana_shared_nfs

    如果您未指定 sap_hana_shared_nfs,但指定 sap_hana_scaleout_nodes 的值為 1 以上,則部署指令碼會為主要 SAP HANA VM 執行個體上的 /hana/shared 磁碟區建立 NFS 匯出,並與工作站節點共用該磁碟區,以便透過所需的共用 /hana/shared 掛載來進行分散式設定。

    這個引數適用於 Deployment Manager 範本 202302060649 以上版本。
    sap_hana_backup_nfs 字串 如果是多主機部署,且使用 NFS 解決方案與工作站主機共用 /hanabackup 磁碟區,請指定該磁碟區的 NFS 掛接點。例如:10.216.41.122:/hana_backup_nfs

    如果您未指定 sap_hana_backup_nfs,但指定 sap_hana_scaleout_nodes 的值為 1 以上,則部署指令碼會為主要 SAP HANA VM 執行個體上的 /hanabackup 磁碟區建立 NFS 匯出,並與工作站節點共用該磁碟區,以便透過 NFS 共用 /hanabackup 掛載點進行分散式設定。

    這個引數適用於 Deployment Manager 範本 202302060649 以上版本。
    networkTag 字串 (選用步驟) 代表您 VM 執行個體的網路標記,供防火牆或轉送使用。如果您指定 `publicIP: No` 但未指定網路標記,請務必提供其他能存取網際網路的方式。
    nic_type 字串 選用,但如果目標機器和 OS 版本提供此選項,則建議使用。指定要與 VM 執行個體搭配使用的網路介面。您可以指定 GVNICVIRTIO_NET 值。如要使用 Google Virtual NIC (gVNIC),您必須指定支援 gVNIC 的 OS 映像檔,做為 linuxImage 屬性的值。如需作業系統映像檔清單,請參閱「作業系統詳細資料」。

    如果您未為此屬性指定值,系統會根據您為 instanceType 屬性指定的機器類型,自動選取網路介面。

    這個引數適用於 Deployment Manager 範本 202302060649 以上版本。
    publicIP 布林值 (選用步驟) 指定是否要將公開 IP 位址加到您的 VM 執行個體。預設為 Yes

    下列顯示已完成的設定檔,這個檔案會指示 Deployment Manager 部署具有向外擴充 HANA 系統的 n2-highmem-32 虛擬機器,而該系統包含具備三個工作站主機的 SAP HANA 主要執行個體。SAP HANA 是在 SLES 15 SP2 作業系統上執行。

    resources:
    - name: sap_hana
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana/sap_hana.py
      #
      properties:
        instanceName: example-vm
        instanceType: n2-highmem-32
        zone: us-central1-f
        subnetwork: example-subnet-us-central1
        linuxImage: family/sles-15-sp2-sap
        linuxImageProject: suse-sap-cloud
        sap_hana_deployment_bucket: mybucketname
        sap_hana_sid: ABC
        sap_hana_instance_number: 00
        sap_hana_sidadm_password: TempPa55word
        sap_hana_system_password: TempPa55word
        sap_hana_scaleout_nodes: 3
  7. 建立執行個體:

    gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml
    

    上述指令會叫用 Deployment Manager,部署 VM 和永久磁碟。接著,Deployment Manager 會呼叫其他指令碼,設定作業系統並安裝 SAP HANA。

    在 Deployment Manager 控制期間,系統會將狀態訊息寫入 Cloud Shell。指令碼叫用後,系統會將狀態訊息寫入 Logging,並在 Google Cloud 主控台中顯示,如「檢查記錄」一節所述。

    完成時間可能有所不同,但整個程序通常會在 30 分鐘內完成。

驗證部署作業

如要驗證部署作業,您可以檢查 Cloud Logging 中的部署記錄,並檢查主要與工作站主機 VM 上的磁碟與服務。

檢查記錄

  1. 在 Google Cloud 控制台中開啟 Cloud Logging,監控安裝進度及檢查錯誤。

    前往 Cloud Logging

  2. 篩選記錄:

    記錄檔探索工具

    1. 在「Logs Explorer」頁面中,前往「查詢」窗格。

    2. 在「Resource」下拉式選單中,選取「Global」,然後點選「Add」

      如果找不到「Global」選項,請在查詢編輯器中輸入以下查詢:

      resource.type="global"
      "Deployment"
      
    3. 點選「執行查詢」

    舊版記錄檢視器

    • 在「Legacy Logs Viewer」頁面中,從基本選取器選單中選取「Global」做為記錄資源。
  3. 分析篩選過的記錄:

檢查 VM 和 SAP HANA 系統的設定

  1. SAP HANA 系統部署後如沒有任何錯誤,請使用 SSH 連線到 VM。您可以從 Compute Engine 的「VM instances」(VM 執行個體) 頁面按一下 VM 執行個體的 SSH 按鈕,或者使用您偏好的 SSH 方法。

    Compute Engine VM 執行個體頁面中的 [SSH] 按鈕。

  2. 變更為超級使用者:

    sudo su -
  3. 在命令提示字元中輸入 df -h。請確認您看到類似以下的輸出內容,並且音量和大小符合預期。以下範例是從具有三個工作站節點的向外擴充系統的主要節點擷取。

    example-vm:~ # df -h
    Filesystem                        Size  Used Avail Use% Mounted on
    devtmpfs                          126G  8.0K  126G   1% /dev
    tmpfs                             189G     0  189G   0% /dev/shm
    tmpfs                             126G   18M  126G   1% /run
    tmpfs                             126G     0  126G   0% /sys/fs/cgroup
    /dev/sda3                          30G  5.4G   25G  18% /
    /dev/sda2                          20M  2.9M   18M  15% /boot/efi
    /dev/mapper/vg_hana-shared        251G   50G  201G  20% /hana/shared
    /dev/mapper/vg_hana-sap            32G  282M   32G   1% /usr/sap
    /dev/mapper/vg_hana-data          426G  7.4G  419G   2% /hana/data
    /dev/mapper/vg_hana-log           125G  4.3G  121G   4% /hana/log
    /dev/mapper/vg_hanabackup-backup  2.0T  2.1G  2.0T   1% /hanabackup
    tmpfs                              26G     0   26G   0% /run/user/473
    tmpfs                              26G     0   26G   0% /run/user/900
    tmpfs                              26G     0   26G   0% /run/user/1003
  4. 切換至 SAP 管理員使用者:

    su - SID_LCadm
    

    SID_LC 替換為您在設定檔範本中指定的 SID 值。請使用小寫字母。

  5. 確認 SAP HANA 服務 (例如 hdbnameserverhdbindexserver 等) 都在執行個體上執行:

    HDB info
    
  6. 如果您使用的是 RHEL for SAP 9.0 以上版本,請務必在 VM 執行個體上安裝 chkconfigcompat-openssl11 套件。

    如需 SAP 的更多資訊,請參閱 SAP 附註 3108316 - Red Hat Enterprise Linux 9.x:安裝和設定

如有任何驗證步驟指出安裝失敗,請修正所有錯誤,並從「Deployments」(部署)頁面刪除部署,然後按照上一節的最後一個步驟重新建立執行個體。

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

部署 VM 並安裝 SAP 系統後,請確認Google Cloud的 SAP 代理程式是否正常運作。

確認 Google Cloud的 Agent for SAP 是否正在執行

如要確認代理程式是否正在執行,請按照下列步驟操作:

  1. 與 Compute Engine 執行個體建立 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 可讓您建立資訊主頁,以圖表呈現這些指標,並依據指標門檻設定快訊等。

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

在 Compute Engine Windows VM 上安裝 SAP HANA Studio

您可以從 Google Cloud 以外的 SAP HANA 執行個體或 Google Cloud上的執行個體連線。如要連線,您可能需要從 SAP HANA Studio 內部啟用目標 VM 的網路存取權。

如要在 Google Cloud的 Windows VM 上安裝 SAP HANA Studio,請按照下列程序操作。

  1. 使用 Cloud Shell 叫用下列命令。

    開啟 Cloud Shell

    export NETWORK_NAME="[YOUR_NETWORK_NAME]"
    export REGION="[YOUR_REGION]"
    export ZONE="[YOUR_ZONE]"
    export SUBNET="[YOUR_SUBNETWORK_NAME]"
    export SOURCE_IP_RANGE="[YOUR_WORKSTATION_IP]"
    gcloud compute instances create saphanastudio --zone=$ZONE \
    --machine-type=n1-standard-2  --subnet=$SUBNET --tags=hanastudio \
    --image-family=windows-2016  --image-project=windows-cloud \
    --boot-disk-size=100 --boot-disk-type=pd-standard \
    --boot-disk-device-name=saphanastudio
    gcloud compute firewall-rules create ${NETWORK_NAME}-allow-rdp \
    --network=$NETWORK_NAME --allow=tcp:3389 --source-ranges=$SOURCE_IP_RANGE \
    --target-tags=hanastudio

    上述指令會為目前的 Cloud Shell 工作階段設定變數,在您先前建立的子網路中建立 Windows 伺服器,並建立防火牆規則,允許本機工作站透過遠端桌面通訊協定 (RDP) 存取執行個體。

  2. 在這個伺服器上安裝 SAP HANA Studio

    1. 將 SAP HANA Studio 安裝檔案和 SAPCAR 解壓縮工具上傳至 Google Cloud 專案中的 Cloud Storage 值區。
    2. 使用遠端桌面協定或您偏好的方法連線至新的 Windows VM。
    3. 在 Windows 中,使用管理員權限開啟 Google Cloud CLI Shell 或其他指令列介面。
    4. 在指令列介面中輸入 gcloud storage cp 指令,將 SAP HANA Studio 安裝檔案和 SAPCAR 解壓縮工具從 Storage 值區複製到 VM。例如:

      gcloud storage cp gs://[SOURCE_BUCKET]/IMC_STUDIO2_232_0-80000323.SAR C:\[TARGET_DIRECTORY] &
      gcloud storage cp gs://[SOURCE_BUCKET]/SAPCAR_1014-80000938.EXE C:\[TARGET_DIRECTORY]
      
    5. 將目錄變更為目標目錄。

      cd C:\[TARGET_DIRECTORY]
      
    6. 執行 SAPCAR 程式來解壓縮 SAP HANA Studio 安裝檔。

      SAPCAR_1014-80000938.EXE -xvf IMC_STUDIO2_232_0-80000323.SAR
      
    7. 執行解壓縮的 hdbinst 程式,安裝 SAP HANA Studio。

啟用 SAP HANA 快速重新啟動功能

Google Cloud 強烈建議您為每個 SAP HANA 執行個體啟用 SAP HANA 快速重新啟動功能,尤其是大型執行個體。如果 SAP HANA 終止,但作業系統仍在執行,SAP HANA 快速重新啟動功能可縮短重新啟動時間。

根據 Google Cloud 提供的自動化指令碼設定,作業系統和核心設定已支援 SAP HANA 快速重新啟動。您需要定義 tmpfs 檔案系統,並設定 SAP HANA。

如要定義 tmpfs 檔案系統並設定 SAP HANA,您可以按照手動步驟操作,也可以使用Google Cloud 提供的自動化指令碼啟用 SAP HANA 快速重新啟動功能。詳情請參閱:

如需 SAP HANA 快速重新啟動功能的完整操作說明,請參閱 SAP HANA 快速重新啟動選項說明文件

手動步驟

設定 tmpfs 檔案系統

主機 VM 和基礎 SAP HANA 系統成功部署後,您需要在 tmpfs 檔案系統中為 NUMA 節點建立及掛載目錄。

顯示 VM 的 NUMA 拓撲

您必須先瞭解 VM 有多少個 NUMA 節點,才能對應必要的 tmpfs 檔案系統。如要顯示 Compute Engine VM 上的可用 NUMA 節點,請輸入下列指令:

lscpu | grep NUMA

舉例來說,m2-ultramem-208 VM 類型有四個 NUMA 節點,編號為 0 到 3,如以下範例所示:

NUMA node(s):        4
NUMA node0 CPU(s):   0-25,104-129
NUMA node1 CPU(s):   26-51,130-155
NUMA node2 CPU(s):   52-77,156-181
NUMA node3 CPU(s):   78-103,182-207
建立 NUMA 節點目錄

為 VM 中的每個 NUMA 節點建立目錄,並設定權限。

舉例來說,如果有四個 NUMA 節點,編號為 0 到 3:

mkdir -pv /hana/tmpfs{0..3}/SID
chown -R SID_LCadm:sapsys /hana/tmpfs*/SID
chmod 777 -R /hana/tmpfs*/SID
將 NUMA 節點目錄掛接至 tmpfs

掛接 tmpfs 檔案系統目錄,並使用 mpol=prefer 為每個目錄指定 NUMA 節點偏好設定:

SID 請使用大寫英文字母指定 SID。

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID
mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID
mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID
mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
更新「/etc/fstab

為確保掛接點在作業系統重新啟動後可供使用,請在檔案系統表格 /etc/fstab 中新增項目:

tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,nofail,relatime,mpol=prefer:0
tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,nofail,relatime,mpol=prefer:1
tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,nofail,relatime,mpol=prefer:2
tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,nofail,relatime,mpol=prefer:3

選用:設定記憶體用量限制

tmpfs 檔案系統可動態擴充及縮減。

如要限制 tmpfs 檔案系統使用的記憶體,您可以使用 size 選項為 NUMA 節點磁碟機容納的大小設定限制。例如:

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID

您也可以在 global.ini 檔案的 [memorymanager] 區段中設定 persistent_memory_global_allocation_limit 參數,為特定 SAP HANA 例項和特定伺服器節點的所有 NUMA 節點限制整體 tmpfs 記憶體用量。

快速重新啟動的 SAP HANA 設定

如要設定 SAP HANA 以便快速重新啟動,請更新 global.ini 檔案,並指定要儲存在永久性記憶體中的資料表。

更新 global.ini 檔案中的 [persistence] 區段

設定 SAP HANA global.ini 檔案中的 [persistence] 區段,以參照 tmpfs 位置。請使用半形分號分隔每個 tmpfs 位置:

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID

上述範例為四個 NUMA 節點指定四個記憶體磁碟區,對應至 m2-ultramem-208。如果您在 m2-ultramem-416 上執行,則需要設定八個記憶體磁區 (0..7)。

修改 global.ini 檔案後,請重新啟動 SAP HANA。

SAP HANA 現在可以使用 tmpfs 位置做為永久記憶體空間。

指定要儲存在永久性記憶體中的資料表

指定要儲存在永久性記憶體中的特定資料欄資料表或分區。

舉例來說,如要為現有資料表開啟永久性記憶體,請執行 SQL 查詢:

ALTER TABLE exampletable persistent memory ON immediate CASCADE

如要變更新資料表的預設值,請在 indexserver.ini 檔案中新增 table_default 參數。例如:

[persistent_memory]
table_default = ON

如要進一步瞭解如何控制資料欄、資料表,以及哪些監控檢視畫面可提供詳細資訊,請參閱「SAP HANA 永久記憶體」。

自動化步驟

Google Cloud 提供的自動化指令碼可啟用 SAP HANA 快速重新啟動功能,並修改目錄 /hana/tmpfs*、檔案 /etc/fstab 和 SAP HANA 設定。執行指令碼時,您可能需要執行額外步驟,具體取決於這是 SAP HANA 系統的初始部署作業,還是將機器大小調整為不同的 NUMA 大小。

如要初始部署 SAP HANA 系統,或調整機器大小以增加 NUMA 節點數量,請務必在執行 Google Cloud提供的自動化指令碼時,讓 SAP HANA 執行,以便啟用 SAP HANA 快速重新啟動功能。

當您調整機器大小以減少 NUMA 節點數時,請務必在執行 Google Cloud 提供的自動化指令碼時,停止 SAP HANA,以便啟用 SAP HANA 快速重新啟動功能。執行指令碼後,您必須手動更新 SAP HANA 設定,才能完成 SAP HANA 快速重新啟動設定。詳情請參閱「SAP HANA 快速重新啟動設定」。

如要啟用 SAP HANA 快速重新啟動功能,請按照下列步驟操作:

  1. 與主機 VM 建立 SSH 連線。

  2. 切換至根目錄:

    sudo su -

  3. 下載 sap_lib_hdbfr.sh 指令碼:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
  4. 將檔案設為可執行檔:

    chmod +x sap_lib_hdbfr.sh
  5. 確認指令碼沒有錯誤:

    vi sap_lib_hdbfr.sh
    ./sap_lib_hdbfr.sh -help

    如果指令傳回錯誤,請與 Cloud Customer Care 團隊聯絡。如要進一步瞭解如何與客戶服務團隊聯絡,請參閱「取得 SAP 支援 Google Cloud」一文。

  6. 請先為 SAP HANA 資料庫的系統使用者,替換 SAP HANA 系統 ID (SID) 和密碼,再執行指令碼。為確保密碼安全,建議您在 Secret Manager 中使用密鑰。

    使用 Secret Manager 中的密鑰名稱執行指令碼。這個機密金鑰必須存在於包含主機 VM 執行個體的 Google Cloud 專案中。

    sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME 

    更改下列內容:

    • SID:請使用大寫字母指定 SID。例如:AHA
    • SECRET_NAME:指定與 SAP HANA 資料庫系統使用者密碼相對應的機密金鑰名稱。這個祕密值必須存在於 Google Cloud 專案中,且該專案包含主機 VM 執行個體。

    或者,您也可以使用純文字密碼執行指令碼。啟用 SAP HANA 快速重新啟動功能後,請務必變更密碼。我們不建議使用純文字密碼,因為密碼會記錄在 VM 的指令列記錄中。

    sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'

    更改下列內容:

    • SID:請使用大寫字母指定 SID。例如:AHA
    • PASSWORD:指定 SAP HANA 資料庫系統使用者的密碼。

如果初次執行成功,您應該會看到類似以下的輸出內容:

INFO - Script is running in standalone mode
ls: cannot access '/hana/tmpfs*': No such file or directory
INFO - Setting up HANA Fast Restart for system 'TST/00'.
INFO - Number of NUMA nodes is 2
INFO - Number of directories /hana/tmpfs* is 0
INFO - HANA version 2.57
INFO - No directories /hana/tmpfs* exist. Assuming initial setup.
INFO - Creating 2 directories /hana/tmpfs* and mounting them
INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839
INFO - Updating the HANA configuration.
INFO - Running command: select * from dummy
DUMMY
"X"
1 row selected (overall time 4124 usec; server time 130 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;'
0 rows affected (overall time 3570 usec; server time 2239 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain';
0 rows affected (overall time 4308 usec; server time 2441 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON';
0 rows affected (overall time 3422 usec; server time 2152 usec)

連線至 SAP HANA

請注意,由於以下指示並沒有為 SAP HANA 使用外部 IP,因此您只能使用 SSH,透過防禦執行個體連線至 SAP HANA 執行個體,或使用 SAP HANA Studio,透過 Windows 伺服器連線至 SAP HANA 執行個體。

  • 如要透過防禦執行個體連線至 SAP HANA,請使用您選擇的 SSH 用戶端連線至防禦主機,然後連線至 SAP HANA 執行個體。

  • 如要透過 SAP HANA Studio 連線至 SAP HANA 資料庫,請使用遠端桌面用戶端連線至 Windows Server 執行個體。連線之後,請手動安裝 SAP HANA Studio,並存取您的 SAP HANA 資料庫。

執行部署後工作

使用 SAP HANA 執行個體之前,建議您執行下列部署後步驟。詳情請參閱 SAP HANA 安裝與更新指南

  1. 變更 SAP HANA 系統管理員和資料庫超級使用者的臨時密碼。例如:

    sudo passwd SID_LCadm

    請參閱「重設系統資料庫的系統使用者密碼」。

  2. 安裝永久的 SAP HANA 授權。如果不這樣做,SAP HANA 可能會在暫時授權到期後進入「資料庫鎖定」狀態。

    如需 SAP 提供的 SAP HANA 授權管理相關資訊,請參閱 SAP HANA 資料庫授權金鑰

  3. 使用最新的修補程式更新 SAP HANA 軟體。

  4. 安裝其他任何元件,例如 Application Function Libraries (AFL) 或 Smart Data Access (SDA)。

  5. 設定並備份新的 SAP HANA 資料庫。詳情請參閱 SAP HANA 作業指南

後續步驟

  • 如果您需要使用 Google Cloud NetApp 磁碟區 (而非永久磁碟或 Hyperdisk 磁碟區) 來代管 SAP HANA 目錄 (例如 /hana/shared/hanabackup),請參閱 SAP HANA 規劃指南中的 NetApp 磁碟區部署資訊。
  • 如要進一步瞭解 VM 管理與監控,請參閱 SAP HANA 作業指南