本部署指南說明如何使用 Terraform 和設定檔來定義安裝,藉此在Google Cloud 上部署 SAP HANA 系統。本指南將協助您設定 Compute Engine 虛擬機器 (VM)、永久磁碟和 Linux 作業系統,讓您的 SAP HANA 系統發揮最佳效能。Terraform 設定檔整合了 Compute Engine 和 SAP 的最佳做法。
您可以按照本指南的操作說明,部署單一主機向上擴充型或多主機向外擴充型的 SAP HANA系統 (不含待命主機)。
如果您需要納入 SAP HANA 自動主機容錯移轉,請改用 Terraform:具有主機自動容錯移轉功能的 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。
- 如果您還沒有 Google 帳戶,請先註冊帳戶。
- (選用) 如果您希望 SAP 工作負載在符合資料落地、存取權控管、支援人員或法規規定的情況下執行,則必須建立必要的 Assured Workloads 資料夾。詳情請參閱「SAP on Google Cloud的符合性和主權控管措施」。
- 登入 Google Cloud 控制台,然後建立新專案。
- 啟用您的帳單帳戶。
- 設定安全殼層 (SSH) 金鑰,以便您使用金鑰透過 SSH 登入 Compute Engine VM 執行個體。使用 Google Cloud CLI 建立新的安全殼層金鑰。
- 使用 gcloud CLI 或 Google Cloud 主控台,將安全殼層金鑰新增至專案中繼資料。這可讓您存取在這項專案中建立的任何 Compute Engine VM 執行個體 (明確停用全專案安全殼層 (SSH) 金鑰組的執行個體除外)。
建立網路
基於安全性考量,請建立新的網路。您可以新增防火牆規則或使用另一個存取權控管方法,藉此控管具有存取權的對象。
如果您的專案具有預設的虛擬私有雲網路,請勿使用。請建立您自己專屬的虛擬私有雲網路,確保系統只套用您明確建立的防火牆規則。
在部署期間,Compute Engine 執行個體通常需要網際網路的存取權,才能下載 Google Cloud的 SAP 代理程式。如果您使用 Google Cloud提供的其中一種 SAP 認證 Linux 映像檔,則計算機執行個體也需要存取網際網路,才能註冊憑證並且存取 OS 供應商存放區。具有 NAT 閘道和 VM 網路標記的設定即可支援上述存取需求,即便目標運算執行個體沒有外部 IP 也沒關係。
如要為專案建立虛擬私有雲網路,請完成下列步驟:
設定 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 的連線。請建立防火牆規則以允許工具透過防火牆存取。
如要為專案建立防火牆規則,請參閱「建立防火牆規則」。
建立 SAP HANA 安裝檔案要用的 Cloud Storage 值區
使用 Terraform 在 Compute Engine VM 上安裝 SAP HANA 前,您必須先將包含 SAP HANA 二進位檔的安裝檔案上傳至 Cloud Storage 值區。
Terraform 預期 SAP HANA 安裝檔案的檔案格式為 SAP 提供的格式。視 SAP HANA 版本而定,檔案格式可能是 ZIP、EXE 或 RAR。如要下載 SAP HANA 安裝檔案,您必須建立 Cloud Storage 值區,然後將檔案上傳至該值區,步驟如下:
下載所需 SAP HANA 版本的基礎安裝檔案:
- 前往 SAP 支援入口網站。
- 按一下「軟體下載」。
- 在「Installations & Upgrades」分頁下,依序按一下「By Alphabetical Index (A-Z)」> H> SAP HANA Platform Edition > SAP HANA Platform Edition 2.0。
- 按一下「安裝」。
針對必要的 Service Pack,請選取 Linux x86_64 發行版本,然後按一下「Download Basket」。
如果您的 SAP 支援入口網站帳戶不允許存取軟體,但您認為自己有權使用該軟體,請與 SAP 全球支援客戶互動中心聯絡。
下載升級 SAP HANA 資料庫至必要版本所需的檔案。這些檔案採用 SAR 格式,檔案名稱開頭為
IMDB_SERVER
、IMDB_CLIENT
和IMDB_AFL
。前往 SAP 支援入口網站。
按一下「軟體下載」。
前往「支援套件和修補程式」分頁。
依序按一下「依字母順序索引 (A-Z)」> H > SAP HANA Platform Edition > SAP HANA Platform Edition 2.0。
按一下所需元件。例如 SAP HANA Database 2.0、SAP HANA Client 2.0 或 SAP HANA AFL 2.0。
選取所需檔案,然後點選「下載籃」。
在 Google Cloud 專案中建立 Cloud Storage 值區。如需操作說明,請參閱「建立 bucket」。
值區名稱在 Google Cloud中不得重複。建立值區時,請選擇「Standard」做為儲存空間級別。
設定值區權限。根據預設,身為值區的擁有者,您會具有值區的讀取/寫入存取權。如要授予其他主體存取權,請參閱「使用 IAM 權限」。
將下載的 SAP HANA 二進位檔上傳至 Cloud Storage 值區,或值區中的資料夾。如需操作說明,請參閱「從檔案系統上傳物件」一文。
請確認 bucket 或資料夾中,每個檔案類型只包含一個安裝檔案。例如:
510056441.ZIP IMDB_SERVER20_059_11-80002031.SAR IMDB_CLIENT20_005_111-80002082.SAR IMDB_AFL20_059_11-80002031.SAR
請記下您上傳 SAP 二進位檔的值區和資料夾名稱。您稍後安裝 SAP HANA 時需要用到。
建立已安裝 SAP HANA 的 VM
以下操作說明會使用 Terraform 在一或多個 VM 執行個體上安裝 SAP HANA,以及 SAP HANA 需要的所有永久磁碟。您將在 Terraform 設定檔中定義安裝的值。
以下操作說明使用的是 Cloud Shell,不過這些步驟通常也適用於 Google Cloud CLI。
確認目前的永久磁碟和 CPU 等資源配額足夠您即將安裝的 SAP HANA 系統使用。如果您的配額不足,則部署會失敗。如要瞭解 SAP HANA 配額需求,請參閱 SAP HANA 的定價與配額考量事項一文。
開啟 Cloud Shell;如果您在本機工作站上安裝了 Google Cloud CLI,請開啟終端機。
在 Cloud Shell 或終端機中執行下列指令,將
sap_hana.tf
設定檔下載到工作目錄:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/terraform/sap_hana.tf
在 Cloud Shell 程式碼編輯器中開啟
sap_hana.tf
檔案;如果您使用的是終端機,請選擇您要用的文字編輯器。如要開啟 Cloud Shell 程式碼編輯器,請按一下 Cloud Shell 終端機視窗右上角的鉛筆圖示。
在
sap_hana.tf
檔案中,使用安裝的值取代括號及其內容,即可更新下列引數值。您為 SAP HANA 系統指定的部分引數值 (例如
sap_hana_sid
、sap_hana_sidadm_password
或sap_hana_system_password
的值) 必須遵守由 SAP 定義的規則。詳情請參閱 SAP HANA 伺服器安裝與更新指南中的「參數參考資料」。如要在設定檔中指定密碼,您必須使用密鑰,或以純文字指定密碼。詳情請參閱「密碼管理」。
如果要在不安裝 SAP HANA 的情況下建立 VM 執行個體,請刪除以
sap_hana_
開頭的所有資料行。引數 資料類型 說明 source
字串 指定在部署期間要使用的 Terraform 模組位置和版本。
sap_hana.tf
設定檔包含兩個source
引數例項:一個是處於啟用狀態,另一個則是做為註解加入。預設啟用的source
引數會將latest
指定為模組版本。source
引數的第二個例項預設會因開頭的#
字元而停用,用來指定可識別模組版本的時間戳記。如果您需要所有部署作業都使用相同的模組版本,請從指定版本時間戳記的
source
引數中移除開頭的#
字元,然後將其新增至指定latest
的source
引數。project_id
字串 指定您要部署此系統的 Google Cloud 專案 ID。例如: my-project-x
。instance_name
字串 指定主機 VM 執行個體的名稱。名稱可包含小寫英文字母、數字和連字號,工作站與待命主機的 VM 執行個體都使用相同名稱,並在名稱後面附加 w
和主機編號。machine_type
字串 指定您需要執行 SAP 系統的 Compute Engine 虛擬機器 (VM) 類型。如果您需要自訂的 VM 類型,請指定預先定義的 VM 類型,並將 vCPU 數量設為最接近您所需數量的數字,但仍要大於該數字。部署完成後,請修改 vCPU 數量和記憶體容量。 例如
n1-highmem-32
。zone
字串 指定要部署 SAP 系統的區域。這個區域必須位於您為子網路選取的地區內。
舉例來說,如果您的子網路部署在
us-central1
地區,您可以指定us-central1-a
等區域。sole_tenant_deployment
布林值 (非必要) 如果您想為 SAP HANA 部署作業佈建單一租用戶節點,請指定
true
值。預設值為
false
。這個引數適用於
sap_hana
1.3.704310921
以上版本。sole_tenant_name_prefix
字串 (非必要) 如果您要為 SAP HANA 部署作業提供單一租用戶節點,可以使用這個引數指定 Terraform 為對應單一租用戶範本和單一租用戶群組的名稱設定的前置字串。
預設值為
st-SID_LC
。如要瞭解單一用戶群範本和單一用戶群群組,請參閱單一用戶群總覽。
這個引數適用於
sap_hana
1.3.704310921
以上版本。sole_tenant_node_type
字串 選用。如果您想為 SAP HANA 部署佈建專屬節點,請指定要為對應節點範本設定的節點類型。
這個引數適用於
sap_hana
1.3.704310921
以上版本。subnetwork
字串 指定您在先前步驟中建立的子網路名稱。如果您要部署共用虛擬私有雲端,請將這個值指定為 SHARED_VPC_PROJECT_ID/SUBNETWORK
。例如:myproject/network1
。linux_image
字串 指定要部署 SAP 系統的 Linux 作業系統映像檔名稱。例如 rhel-9-2-sap-ha
或sles-15-sp5-sap
。如需可用的作業系統映像檔清單,請參閱 Google Cloud 控制台的「映像檔」頁面。linux_image_project
字串 請指定 Google Cloud 專案,該專案包含您為引數 linux_image
指定的圖片。這個專案可能是您自己的專案或 Google Cloud 映像檔專案。如果是 Compute Engine 映像檔,請指定rhel-sap-cloud
或suse-sap-cloud
。如要查看作業系統的映像檔專案,請參閱「作業系統詳細資料」。sap_hana_deployment_bucket
字串 如要在已部署的 VM 上自動安裝 SAP HANA,請指定包含 SAP HANA 安裝檔案的 Cloud Storage 值區路徑。請勿在路徑中加入 gs://
,只需加入值區名稱和任何資料夾的名稱即可。例如:my-bucket-name/my-folder
。Cloud Storage 值區必須位於您為
project_id
引數指定的 Google Cloud 專案中。sap_hana_sid
字串 如要在已部署的 VM 上自動安裝 SAP HANA,請指定 SAP HANA 系統 ID。ID 必須包含 3 個英數字元,並以字母開頭。所有字母都必須大寫。例如: ED1
。sap_hana_sidadm_uid
整數 (非必要) 指定值以覆寫 SID_LCadm 使用者 ID 的預設值。預設值為 900
。您可以在 SAP 範圍內針對一致性的目的將其改為其他值。sap_hana_instance_number
整數 (非必要) 指定 SAP HANA 系統的執行個體編號 (0 到 99)。 預設為 0
。sap_hana_sidadm_password
字串 如要在已部署的 VM 上自動安裝 SAP HANA,請為部署期間要使用的安裝指令碼指定臨時 SIDadm
密碼。密碼至少必須包含 8 個字元,且應包含至少一個大寫字母、一個小寫字母和一個數字。建議您改用密鑰,而非以純文字指定密碼。詳情請參閱「密碼管理」一文。
sap_hana_sidadm_password_secret
字串 (非必要) 如果您使用 Secret Manager 儲存 SIDadm
密碼,請指定與此密碼相對應的密鑰名稱。在 Secret Manager 中,請確認密鑰值 (即密碼) 至少包含 8 個字元,且包含至少一個大寫字母、一個小寫字母和一個數字。
詳情請參閱「密碼管理」一文。
sap_hana_system_password
字串 如要在已部署的 VM 上自動安裝 SAP HANA,請為安裝指令碼指定臨時資料庫超級使用者密碼,以便在部署期間使用。密碼至少必須包含 8 個字元,並包含至少 1 個大寫字母、1 個小寫字母與 1 個數字。 建議您改用密鑰,而非以純文字指定密碼。詳情請參閱「密碼管理」一文。
sap_hana_system_password_secret
字串 (非必要) 如果您使用 Secret Manager 來儲存資料庫超級使用者密碼,請指定與此密碼相對應的密鑰名稱。 在 Secret Manager 中,請確認密鑰值 (即密碼) 至少包含 8 個字元,且包含至少一個大寫字母、一個小寫字母和一個數字。
詳情請參閱「密碼管理」一文。
sap_hana_scaleout_nodes
整數 指定在擴展系統中所需的工作站主機數量。如要部署外推系統,您至少需要一個 worker 主機。 Terraform 會建立工作站主機,但不包含主要 SAP HANA 執行個體。舉例來說,如果您指定
3
,向外擴充系統中就會部署四個 SAP HANA 執行個體。sap_hana_shared_nfs
字串 (非必要) 如果是多主機擴展部署,且使用 NFS 解決方案與工作站主機共用 /hana/shared
磁碟區,請指定該磁碟區的 NFS 掛接點。例如:10.151.91.122:/hana_shared_nfs
。詳情請參閱「適用於多主機擴展部署的檔案共用解決方案」。
這個引數適用於sap_hana
模組202302060649
以上版本。sap_hana_backup_nfs
字串 (非必要) 如果是多主機擴展部署,且使用 NFS 解決方案與工作站主機共用 /hanabackup
磁碟區,請指定該磁碟區的 NFS 掛接點。例如:10.216.41.122:/hana_backup_nfs
。詳情請參閱「適用於多主機擴展部署的檔案共用解決方案」。
這個引數適用於sap_hana
模組202302060649
以上版本。sap_hana_shared_nfs_resource
地圖/物件 (非必要) 如要部署 Filestore 執行個體,讓其與多主機向外擴充 SAP HANA 系統中的主機共用 /hana/shared/
磁碟區,請在google_filestore_instance
資源的定義中指定您設定的檔案共用區名稱。如需範例,請參閱本指南的設定範例。詳情請參閱適用於多主機擴展部署的檔案共用解決方案。
這個引數適用於sap_hana
模組202302060649
以上版本。sap_hana_backup_nfs_resource
地圖/物件 (非必要) 如要部署 Filestore 執行個體,讓其與多主機向外擴充 SAP HANA 系統中的主機共用 /hanabackup
磁碟區,請在google_filestore_instance
資源的定義中指定您設定的檔案共用區名稱。如需範例,請參閱本指南的設定範例。詳情請參閱適用於多主機擴展部署的檔案共用解決方案。
這個引數適用於sap_hana
模組202302060649
以上版本。sap_hana_backup_size
整數 (非必要) 以 GB 為單位指定 /hanabackup
磁碟區的大小。如果您未指定這個引數或將其設為0
,則安裝指令碼會為 Compute Engine 例項配置 HANA 備份磁碟區,其容量是總記憶體的兩倍。為
sap_hana_backup_nfs
或sap_hana_backup_nfs_resource
指定值時,系統會忽略sap_hana_backup_size
。sap_hana_sapsys_gid
整數 (非必要) 覆寫 sapsys
的預設群組 ID。預設值為79
。network_tags
字串 (非必要) 指定一或多個以半形逗號分隔的網路標記,用於與 VM 執行個體建立關聯,以便用於防火牆或轉送。 如果您指定
public_ip = false
但未指定網路標記,請務必提供其他能存取網際網路的方式。nic_type
字串 (非必要) 指定要與 VM 執行個體搭配使用的網路介面。您可以指定 GVNIC
或VIRTIO_NET
值。如要使用 Google Virtual NIC (gVNIC),您必須指定支援 gVNIC 的 OS 映像檔,做為linux_image
引數的值。如要查看作業系統映像檔清單,請參閱「作業系統詳細資料」。如果您未為這個引數指定值,系統會根據您為
這個引數適用於machine_type
引數指定的機器類型,自動選取網路介面。sap_hana
模組202302060649
以上版本。disk_type
字串 (非必要) 指定要為部署中的 SAP 資料和記錄磁碟區部署的預設 Persistent Disk 或 Hyperdisk 磁碟區類型。如要瞭解 Google Cloud提供的 Terraform 設定所執行的預設磁碟部署作業,請參閱「 Terraform 的磁碟部署作業」。 此引數的有效值如下:
pd-ssd
、pd-balanced
、hyperdisk-extreme
、hyperdisk-balanced
和pd-extreme
。在 SAP HANA 擴充部署中,也會為/hana/shared
目錄部署獨立的平衡永久磁碟。您可以使用一些進階引數,覆寫這個預設磁碟類型、相關的預設磁碟大小和預設 IOPS。如需更多資訊,請前往工作目錄,然後執行
terraform init
指令,並查看/.terraform/modules/sap_hana/variables.tf
檔案。在正式環境中使用這些引數前,請務必先在非正式環境中進行測試。如果您想使用 SAP HANA 原生儲存空間擴充功能 (NSE),就必須使用進階引數來配置較大的磁碟。
use_single_shared_data_log_disk
布林值 (非必要) 預設值為 false
,可指示 Terraform 為下列每個 SAP 磁碟分割區部署個別的永久磁碟或 Hyperdisk:/hana/data
、/hana/log
、/hana/shared
和/usr/sap
。如要在同一個永久磁碟或 Hyperdisk 上掛載這些 SAP 磁碟區,請指定true
。enable_data_striping
布林值 (非必要) 這個引數可讓您在兩個磁碟上部署 /hana/data
磁碟區。預設值為false
,可指示 Terraform 部署單一磁碟,用於代管/hana/data
磁碟區。這個引數適用於
sap_hana
模組1.3.674800406
以上版本。include_backup_disk
布林值 (非必要) 這個引數適用於 SAP HANA 向上擴充部署作業。預設值為 true
,可指示 Terraform 部署單獨磁碟來代管/hanabackup
目錄。磁碟類型取決於
backup_disk_type
參數。這個磁碟的大小取決於sap_hana_backup_size
引數。如果您將
include_backup_disk
的值設為false
,則系統不會為/hanabackup
目錄部署任何磁碟。backup_disk_type
字串 (非必要) 對於升級部署作業,請指定要為 /hanabackup
磁碟區部署的 Persistent Disk 或 Hyperdisk 類型。如要瞭解 Google Cloud提供的 Terraform 設定所執行的預設磁碟部署作業,請參閱「 Terraform 的磁碟部署作業」。以下是這個引數的有效值:
pd-ssd
、pd-balanced
、pd-standard
、hyperdisk-extreme
、hyperdisk-balanced
和pd-extreme
。這個引數適用於
sap_hana
模組202307061058
以上版本。enable_fast_restart
布林值 (非必要) 這個引數會決定是否為部署作業啟用 SAP HANA 快速重新啟動選項。預設值為 true
。 Google Cloud 強烈建議您啟用 SAP HANA 快速重新啟動選項。這個引數適用於
sap_hana
模組202309280828
以上版本。public_ip
布林值 (非必要) 指定是否要將公開 IP 位址加到您的 VM 執行個體。預設值為 true
。service_account
字串 (非必要) 指定使用者代管的服務帳戶電子郵件地址,供主機 VM 和在主機 VM 上執行的程式使用。例如: svc-acct-name@project-id.iam.gserviceaccount.com
。如果您指定這個引數但未附加值,或省略這個引數,安裝指令碼就會使用 Compute Engine 的預設服務帳戶。詳情請參閱「Google Cloud 中的 SAP 程式身分與存取權管理」。 Google Cloud
sap_deployment_debug
布林值 (非必要) 只有在 Cloud 客戶服務團隊要求您為部署作業啟用偵錯功能時,才指定 true
,這樣部署作業就會產生詳細的部署記錄。預設值為false
。reservation_name
字串 (非必要) 如要為此部署使用特定的 Compute Engine VM 保留項目,請指定保留項目名稱。根據預設,安裝指令碼會根據下列條件選取任何可用的 Compute Engine 預留容量。 無論您是否指定名稱,或安裝指令碼是否自動選取名稱,保留項目都必須設定下列項目,才能使用:
-
specificReservationRequired
選項已設為true
,或是在 Google Cloud 控制台中選取「Select specific reservation」(選取特定保留項目) 選項。 -
部分 Compute Engine 機器類型支援的 CPU 平台並未納入機器類型的 SAP 認證範圍。如果目標保留項目適用於下列任何機器類型,則保留項目必須指定最低 CPU 平台,如下所示:
n1-highmem-32
:Intel Broadwelln1-highmem-64
:Intel Broadwelln1-highmem-96
:Intel Skylakem1-megamem-96
:Intel Skylake
所有其他機器類型 (已獲 SAP 認證,可用於 Google Cloud ) 的最低 CPU 平台,均符合 SAP 最低 CPU 需求。
vm_static_ip
字串 (非必要) 為 VM 執行個體指定有效的靜態 IP 位址。如果您未指定 IP 位址,系統會為您的 VM 執行個體自動產生 IP 位址。 這個引數適用於
sap_hana
模組202306120959
以上版本。worker_static_ips
List(String) (非必要) 為橫向擴充系統中的 worker 執行個體指定有效的靜態 IP 位址陣列。如果您未為這個引數指定值,系統會為每個 worker VM 執行個體自動產生 IP 位址。例如: [ "1.0.0.1", "2.3.3.4" ]
。系統會依建立執行個體的順序指派靜態 IP 位址。舉例來說,如果您選擇部署 3 個 worker 執行個體,但只為引數
worker_static_ips
指定 2 個 IP 位址,則這些 IP 位址會指派給 Terraform 設定部署的頭兩個 VM 執行個體。第三個 worker VM 執行個體的 IP 位址會自動產生。這個引數適用於
sap_hana
模組202306120959
以上版本。can_ip_forward
布林值 指定是否允許傳送和接收具有不相符來源或目的地 IP 的封包,這可讓 VM 像路由器一樣運作。預設值為
true
。如果您只想使用 Google 內部負載平衡器來管理已部署 VM 的虛擬 IP,請將值設為
false
。系統會自動部署內部負載平衡器,做為高可用性範本的一部分。下列範例顯示已完成的設定檔,這個檔案會指示 Terraform 部署具有向外擴充 SAP HANA 系統的
n2-highmem-32
虛擬機器,而該系統包含具備三個工作站主機的 SAP HANA 主要執行個體,以及與工作站主機共用/hana/shared
和/hanabackup
磁碟區的 Filestore Basic 執行個體。主機執行 SLES for SAP 15 SP2 作業系統。# resource "google_filestore_instance" "hana_shared_nfs" { name = "fs-basic-shared" tier = "PREMIUM" project = "example-project-123456" location = "us-central1-f" file_shares { name = "hana_shared_nfs" capacity_gb = 2600 } networks { network = "example-network" modes = ["MODE_IPV4"] } } resource "google_filestore_instance" "hana_backup_nfs" { name = "fs-basic-backup" tier = "PREMIUM" project = "example-project-123456" location = "us-central1-f" file_shares { name = "hana_backup_nfs" capacity_gb = 2600 } networks { network = "example-network" modes = ["MODE_IPV4"] } } #... module "sap_hana" { source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/sap_hana_module.zip" # # By default, this source file uses the latest release of the terraform module # for SAP on Google Cloud. To fix your deployments to a specific release # of the module, comment out the source property above and uncomment the source property below. # # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana/sap_hana_module.zip" # ... project_id = "example-project-123456" zone = "us-central1-f" machine_type = "n2-highmem-32" subnetwork = "example-subnet-us-central1" linux_image = "sles-15-sp2-sap" linux_image_project = "suse-sap-cloud" instance_name = "hana-scaleout" sap_hana_shared_nfs_resource = resource.google_filestore_instance.hana_shared_nfs sap_hana_backup_nfs_resource = resource.google_filestore_instance.hana_backup_nfs # sap_hana_shared_nfs = "10.151.91.122:/hana_shared_nfs" # sap_hana_backup_nfs = "10.216.41.122:/hana_backup_nfs" sap_hana_deployment_bucket = "mybucketname" sap_hana_sid = "AB2" sap_hana_instance_number = 12 sap_hana_sidadm_password = "TempPa55word" sap_hana_system_password = "TempPa55word" sap_hana_scaleout_nodes = 3 sap_hana_sidadm_uid = 11 vm_static_ip = "10.0.0.1" worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"] enable_fast_restart = true # ... }
-
如要初始化目前的工作目錄,並下載 Google Cloud的 Terraform 供應器外掛程式和模組檔案:
terraform init
terraform init
指令會為其他 Terraform 指令準備工作目錄。如要強制重新整理工作目錄中的提供者外掛程式和設定檔,請指定
--upgrade
標記。如果省略--upgrade
標記,且您未在工作目錄中進行任何變更,Terraform 會使用本機快取的副本,即使source
網址中指定了latest
也一樣。terraform init --upgrade
如要建立 Terraform 執行計畫,請按照下列步驟操作:
terraform plan
terraform plan
指令會顯示目前設定所需的變更。如果您略過terraform plan
指令,terraform apply
指令會先計算計畫,再套用該計畫。如何套用執行計畫:
terraform apply
出現核准動作的提示時,請輸入
yes
。terraform apply
指令會設定 Google Cloud 基礎架構,然後叫用其他指令碼,以便設定作業系統並安裝 SAP HANA。在 Terraform 控制時,系統會將狀態訊息寫入 Cloud Shell。指令碼叫用後,系統會將狀態訊息寫入 Logging,並在 Google Cloud 主控台中顯示,如「檢查記錄」一節所述。
完成時間可能有所不同,但整個程序通常會在 30 分鐘內完成。
驗證部署作業
如要驗證部署作業,您可以檢查 Cloud Logging 中的部署記錄,並檢查主要與工作站主機 VM 上的磁碟與服務。
檢查記錄
在 Google Cloud 控制台中開啟 Cloud Logging,監控安裝進度及檢查錯誤。
篩選記錄:
記錄檔探索工具
在「Logs Explorer」頁面中,前往「查詢」窗格。
在「Resource」下拉式選單中,選取「Global」,然後點選「Add」。
如果找不到「Global」選項,請在查詢編輯器中輸入以下查詢:
resource.type="global" "Deployment"
點選「執行查詢」。
舊版記錄檢視器
- 在「Legacy Logs Viewer」頁面中,從基本選取器選單中選取「Global」做為記錄資源。
分析篩選過的記錄:
- 如果顯示
"--- Finished"
,表示部署程序已完成,您可以繼續進行下一個步驟。 如果畫面顯示配額錯誤:
在 IAM 和管理員「Quotas」(配額) 頁面上,增加 SAP HANA 規劃指南中所列出不符 SAP HANA 規定的任何配額。
開啟 Cloud Shell。
前往工作目錄並刪除部署,清除安裝失敗的 VM 與永久磁碟:
terraform destroy
出現是否核准該動作的提示時,請輸入
yes
。重新執行部署。
- 如果顯示
檢查 VM 和 SAP HANA 系統的設定
SAP HANA 系統部署後如沒有任何錯誤,請使用 SSH 連線到 VM。您可以從 Compute Engine 的「VM instances」(VM 執行個體) 頁面按一下 VM 執行個體的 SSH 按鈕,或者使用您偏好的 SSH 方法。
變更為超級使用者:
sudo su -
在命令提示字元中輸入
df -h
,然後確認您看到類似以下的輸出內容,並且顯示預期的音量和大小。以下是具有三個工作節點的示範外推系統主要節點的輸出範例。請注意,
/hana/shared
和/hanabackup
沒有相關的磁碟區,因為這些磁碟區是託管在 Filestore 執行個體上。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 6.5G 24G 22% / /dev/sda2 20M 2.9M 18M 15% /boot/efi 10.65.188.162:/hana_shared_nfs 2.5T 41G 2.4T 2% /hana/shared /dev/mapper/vg_hana_usrsap-usrsap 32G 265M 32G 1% /usr/sap /dev/mapper/vg_hana_data-data 308G 10G 298G 4% /hana/data /dev/mapper/vg_hana_log-log 128G 7.8G 121G 7% /hana/log 10.160.217.66:/hana_backup_nfs 2.5T 0 2.4T 0% /hanabackup tmpfs 26G 0 26G 0% /run/user/472 tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/1000
切換至 SAP 管理員使用者:
su - SID_LCadm
將
SID_LC
替換為您在設定檔中指定的 SID 值。請使用小寫字母。確認 SAP HANA 服務 (例如
hdbnameserver
、hdbindexserver
等) 都在執行個體上執行:HDB info
如果您使用的是 RHEL for SAP 9.0 以上版本,請務必在 VM 執行個體上安裝
chkconfig
和compat-openssl11
套件。如需 SAP 的更多資訊,請參閱 SAP 附註 3108316 - Red Hat Enterprise Linux 9.x:安裝和設定。
清除並重試部署
如果先前各節中的任何部署驗證步驟顯示安裝失敗,則必須撤銷部署,並完成下列步驟重試:
解決所有錯誤,確保部署作業不會因相同原因再次失敗。如要瞭解如何檢查記錄或解決配額相關錯誤,請參閱「檢查記錄」。
開啟 Cloud Shell;如果您在本機工作站上安裝了 Google Cloud CLI,請開啟終端機。
前往包含您用於此部署作業的 Terraform 設定檔的目錄。
執行下列指令,刪除部署作業中的所有資源:
terraform destroy
出現是否核准該動作的提示時,請輸入
yes
。請按照本指南前述的操作說明重試部署作業。
驗證 Google Cloud的 Agent for SAP 安裝狀態
部署 VM 並安裝 SAP 系統後,請確認Google Cloud的 SAP 代理程式是否正常運作。
確認 Google Cloud的 Agent for SAP 是否正在執行
如要確認代理程式是否正在執行,請按照下列步驟操作:
建立與 Compute Engine 執行個體的 SSH 連線。
執行下列指令:
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,請按照下列步驟操作:
- 在 SAP 系統中輸入交易
ST06
。 在「Overview」(總覽) 窗格中,查看以下欄位的可用性和內容,確認 SAP 和 Google 監控基礎架構已做好正確的端對端設定:
- 雲端服務供應商:
Google Cloud Platform
- Enhanced Monitoring Access (強化版監控功能存取權):
TRUE
- Enhanced Monitoring Details (強化版監控功能詳細資料):
ACTIVE
- 雲端服務供應商:
在 Compute Engine Windows VM 上安裝 SAP HANA Studio
您可以從 Google Cloud 以外的 SAP HANA 執行個體或 Google Cloud上的執行個體連線。如要連線,您可能需要從 SAP HANA Studio 內部啟用目標 VM 的網路存取權。
如要在 Google Cloud的 Windows VM 上安裝 SAP HANA Studio,請按照下列程序操作。
使用 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) 存取執行個體。
在這個伺服器上安裝 SAP HANA Studio。
- 將 SAP HANA Studio 安裝檔案和 SAPCAR 解壓縮工具上傳至 Google Cloud 專案中的 Cloud Storage 值區。
- 使用遠端桌面協定或您偏好的方法連線至新的 Windows VM。
- 在 Windows 中,使用管理員權限開啟 Google Cloud CLI Shell 或其他指令列介面。
在指令列介面中輸入
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]
將目錄變更為目標目錄。
cd C:\[TARGET_DIRECTORY]
執行 SAPCAR 程式來解壓縮 SAP HANA Studio 安裝檔。
SAPCAR_1014-80000938.EXE -xvf IMC_STUDIO2_232_0-80000323.SAR
執行解壓縮的
hdbinst
程式,安裝 SAP HANA Studio。
設定 SAP HANA 監控
您也可以使用Google Cloud的 SAP 代理程式監控 SAP HANA 執行個體。自 2.0 版起,您可以設定代理程式收集 SAP HANA 監控指標,然後將指標傳送至 Cloud Monitoring。Cloud Monitoring 可讓您建立資訊主頁,以圖表呈現這些指標,並依據指標門檻設定快訊等。
如要進一步瞭解如何使用Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,請參閱「SAP HANA 監控指標收集」一文。
連線至 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 安裝與更新指南。
變更 SAP HANA 系統管理員和資料庫超級使用者的臨時密碼。例如:
sudo passwd SIDadm
請參閱「重設系統資料庫的系統使用者密碼」。
安裝永久的 SAP HANA 授權。如果不這樣做,SAP HANA 可能會在暫時授權到期後進入「資料庫鎖定」狀態。
如需 SAP 提供的 SAP HANA 授權管理相關資訊,請參閱 SAP HANA 資料庫授權金鑰。
使用最新的修補程式更新 SAP HANA 軟體。
如果 SAP HANA 系統部署在 VirtIO 網路介面上,建議您確認 TCP 參數
/proc/sys/net/ipv4/tcp_limit_output_bytes
的值已設為1048576
。這項修改可改善 VirtIO 網路介面上的整體網路總處理量,且不會影響網路延遲時間。安裝其他任何元件,例如 Application Function Libraries (AFL) 或 Smart Data Access (SDA)。
設定並備份新的 SAP HANA 資料庫。詳情請參閱 SAP HANA 作業指南。
評估 SAP HANA 工作負載
如要為在 Google Cloud上執行的 SAP HANA 工作負載自動執行持續驗證檢查,您可以使用Workload Manager。
您可以使用 Workload Manager,根據 SAP、 Google Cloud和作業系統供應商的最佳做法,自動掃描及評估 SAP HANA 工作負載。這有助於改善工作負載的品質、效能和可靠性。
如要瞭解 Workload Manager 支援的最佳做法,以便評估在 Google Cloud上執行的 SAP HANA 工作負載,請參閱 Workload Manager 適用於 SAP 的最佳做法。如要瞭解如何使用 Workload Manager 建立及執行評估作業,請參閱「建立並執行評估作業」。
後續步驟
- 如果您需要使用 Google Cloud NetApp 磁碟區,而非永久磁碟或 Hyperdisk 磁碟區,來代管 SAP HANA 目錄 (例如
/hana/shared
或/hanabackup
),請參閱 SAP HANA 規劃指南中的 NetApp 磁碟區部署資訊。 - 如要進一步瞭解 VM 管理與監控,請參閱 SAP HANA 作業指南。