本部署指南說明如何在 Linux 上為支援 SAP 應用程式的 IBM Db2 執行個體部署 Google Cloud資源。
本指南中的操作說明使用 Terraform 部署及設定 VM、Linux 作業系統、IBM Db2 所需的磁碟區,並安裝 Google Cloud的 SAP NetWeaver 監控代理程式。
如要瞭解如何規劃部署,請參閱適用於 SAP 的 IBM Db2 規劃指南。
必要條件
如果您希望 SAP 工作負載能遵循資料落地、存取權控管、支援人員或法規規定執行,就必須建立必要的 Assured Workloads 資料夾。詳情請參閱「SAP on Google Cloud的符合性和主權控管措施」。
如果您還沒有啟用計費功能的 Google Cloud 專案,則必須先建立一個這樣的專案,才能為 IBM Db2 安裝部署虛擬機器 (VM)。
建立專案
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
初始化設定:
gcloud init
檢查目前的 gcloud 設定:
gcloud config list
切換至所需的 Google Cloud 專案。將
PROJECT_ID
替換為您的 Google Cloud 專案 ID。gcloud config set project PROJECT_ID
設定預設區域。將
REGION
替換為Google Cloud 區域。gcloud config set compute/region REGION
設定預設區域。將
ZONE
替換為Google Cloud 區域。gcloud config set compute/zone ZONE
建立新的設定。將
NAME
替換為設定名稱。gcloud config configurations create NAME
- SAP NetWeaver 使用的預設連接埠,如適用於所有 SAP 產品的 TCP/IP 連接埠網頁所述。
- 從電腦或公司網路環境到 Compute Engine VM 執行個體的連線。如果不確定要使用哪一個 IP 位址,請詢問貴公司的網路管理員。
- 3 層、擴充或高可用性設定中不同 VM 之間的通訊。舉例來說,如果您部署的是 3 層系統,則子網路中至少要有 2 個 VM:一個 VM 用於 SAP NetWeaver,另一個 VM 用於資料庫伺服器。如要讓兩個 VM 之間進行通訊,您必須建立防火牆規則,允許來自子網路的流量。
開啟 Cloud Shell。
在 Cloud Shell 中輸入以下指令,將
sap_db2.tf
設定檔下載到您的工作目錄:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/terraform/sap_db2.tf
在 Cloud Shell 程式碼編輯器中開啟
sap_db2.tf
檔案。如要開啟 Cloud Shell 程式碼編輯器,請按一下「Open Editor」(開啟編輯器)。
在
sap_db2.tf
檔案中,使用安裝的值取代雙引號內的內容,即可更新下列引數值。大多數選用引數都有預設值。如果您未指定選用引數,Terraform 設定會使用該引數的預設值 (如有)。
引數 資料類型 說明 source
字串 指定在部署期間要使用的 Terraform 模組位置和版本。
sap_db2.tf
設定檔包含兩個source
引數例項:一個是處於啟用狀態,另一個則是做為註解加入。預設啟用的source
引數會將latest
指定為模組版本。source
引數的第二個例項預設會因開頭的#
字元而停用,用來指定可識別模組版本的時間戳記。如果您需要所有部署作業都使用相同的模組版本,請從指定版本時間戳記的
source
引數中移除開頭的#
字元,然後將其新增至指定latest
的source
引數。project_id
字串 指定您要部署此系統的 Google Cloud 專案 ID。例如: my-project-x
。zone
字串 指定要部署 SAP 系統的區域。這個區域必須位於您為子網路選取的地區內。
舉例來說,如果您的子網路部署在
us-central1
地區,您可以指定us-central1-a
等區域。machine_type
字串 指定您需要執行 SAP 系統的 Compute Engine 虛擬機器 (VM) 類型。如果您需要自訂的 VM 類型,請指定預先定義的 VM 類型,並將 vCPU 數量設為最接近您所需數量的數字,但仍要大於該數字。部署完成後,請修改 vCPU 數量和記憶體容量。 例如
n1-highmem-32
。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
。如要查看作業系統的映像檔專案,請參閱「作業系統詳細資料」。instance_name
字串 指定主機 VM 執行個體的名稱。名稱可包含小寫英文字母、數字和連字號,工作站與待命主機的 VM 執行個體都使用相同名稱,並在名稱後面附加 w
和主機編號。db2_sid
字串 指定 IBM Db2 資料庫執行個體的 SID。ID 必須包含 3 個英數字元,並以字母開頭。所有字母都必須大寫。例如 ED1
。db2_sid_size
整數 (選用步驟) 指定 /db2/DBSID
磁碟區的大小 (以 GB 為單位),這是 IBM Db2 資料庫執行個體的根目錄。最小大小為 8 GB。預設值為8
。db2_home_size
整數 (選用步驟) 指定 /db2/db2DBSID
磁碟區的大小 (以 GB 為單位),這是 IBM Db2 資料庫執行個體的主目錄。最小大小為 8 GB。預設值為8
。db2_dump_size
整數 (選用步驟) 指定 /db2/DBSID/db2dump
磁碟區的大小 (以 GB 為單位),這個目錄包含 IBM Db2 資料庫執行個體的傾印檔案。最小大小為 8 GB。預設值為8
。db2_sap_temp_size
整數 (選用步驟) 指定 /db2/DBSID/saptmp
磁碟區的大小 (以 GB 為單位),這個磁碟區會保存資料庫執行個體的暫時資料表空間。最小大小為 8 GB。預設值為8
。db2_sap_data_size
整數 (選用步驟) 指定 /db2/DBSID/sapdata
磁碟區的大小 (以 GB 為單位),該磁碟區保存資料庫資料檔案。大小下限為 30 GB。預設值為30
。db2_sap_data_ssd
布林值 (選用步驟) 指定 true
即可為/db2/DBSID/sapdata
磁碟區佈建 SSD 永久磁碟。如果您指定false
,系統會佈建平衡型永久磁碟。預設值為true
。db2_log_size
整數 (選用步驟) 指定 /db2/DBSID/logdir
磁碟區的大小 (以 GB 為單位),該磁碟區保存資料庫交易記錄。最小大小為 8 GB。預設值為8
。db2_log_ssd
布林值 (選用步驟) 指定 true
即可為/db2/DBSID/logdir
磁碟區佈建 SSD 永久磁碟。如果您指定false
,系統會佈建平衡型永久磁碟。預設值為true
。db2_backup_size
整數 (選用步驟) 指定 /db2backup
磁碟區的大小 (以 GB 為單位),這個磁碟區會儲存資料庫備份。如果您未指定這個引數或將其值設為0
,則系統不會為/db2backup
磁碟分割區配置磁碟。usr_sap_size
整數 如要在相同 VM 執行個體上執行 IBM Db2 和 SAP NetWeaver,請以 GB 為單位指定 /usr/sap
磁碟的大小。如果您未指定這個引數或將其值設為
0
,則系統不會為/usr/sap
磁碟分割區配置磁碟。sap_mnt_size
整數 如要在相同 VM 執行個體上執行 IBM Db2 和 SAP NetWeaver,請以 GB 為單位指定 /sapmnt
磁碟的大小。如果您未指定這個引數或將其值設為
0
,則系統不會為/sapmnt
磁碟分割區配置磁碟。swap_size
整數 如要在相同的 VM 執行個體上執行 IBM Db2 和 SAP NetWeaver,請以 GB 為單位指定交換磁碟區的大小。 如果您未指定這個引數或將其值設為
0
,則系統不會為交換分割區配置磁碟。network_tags
字串 (選用步驟) 指定一或多個以半形逗號分隔的網路標記,用於與 VM 執行個體建立關聯,以便用於防火牆或轉送。 如果您指定
public_ip = false
但未指定網路標記,請務必提供其他能存取網際網路的方式。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 需求。
以下
sap_db2.tf
設定檔範例會建立 VM,可設定為執行 IBM Db2 資料庫伺服器與 SAP NetWeaver。設定檔會引導 Terraform 部署執行 SLES 15 SP3 作業系統的n1-standard-16
VM。這個 VM 包含執行具備 SAP NetWeaver 的 IBM Db2 時需要的所有目錄。# # ... module "sap_db2" { source = https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/sap_db2_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_db2/sap_db2_module.zip" # ... project_id = "example-project-123456" zone = "us-central1-f" machine_type = "n1-standard-16" subnetwork = "example-subnet-us-central1" linux_image = "sles-15-sp3-sap" linux_image_project = "suse-sap-cloud" instance_name = "ex-vm-db2-lin" db2_sid = "AS1" db2_sid_size = 15 db2_home_size = 15 db2_dump_size = 15 db2_sap_temp_size = 20 db2_sap_data_size = 50 db2_sap_data_ssd = true db2_log_size = 30 db2_log_ssd = true db2_backup_size = 100 usr_sap_size = 15 sap_mnt_size = 15 swap_size = 24 # ... }
-
如要初始化目前的工作目錄,並下載 Google Cloud的 Terraform 供應器外掛程式和模組檔案:
terraform init
terraform init
指令會為其他 Terraform 指令準備工作目錄。如要強制重新整理工作目錄中的提供者外掛程式和設定檔,請指定
--upgrade
標記。如果省略--upgrade
標記,且您未在工作目錄中進行任何變更,Terraform 會使用本機快取的副本,即使latest
已在source
網址中指定也一樣。terraform init --upgrade
如要建立 Terraform 執行計畫,請按照下列步驟操作:
terraform plan
terraform plan
指令會顯示目前設定所需的變更。如果您略過這個步驟,terraform apply
指令會自動建立新企劃書,並提示您核准。如何套用執行計畫:
terraform apply
出現核准動作的提示時,請輸入
yes
。terraform
apply
指令會根據 Terraform 設定檔中定義的引數,設定 Google Cloud 基礎架構。這項程序可能需要幾分鐘才能完成。如要查看部署的進度,請按照下一節的步驟操作。VM 執行個體部署完成後,如果您需要 Compute Engine 儲存開機磁碟,以備於 VM 執行個體遭刪除時使用,請依下列步驟操作:
前往 Google Cloud 控制台的 Compute Engine「VM instances」(VM 執行個體) 頁面。
如要開啟 VM 執行個體的「VM instance details」(VM 執行個體詳細資料) 頁面,請按一下 VM 執行個體的名稱。
按一下 [編輯]。
在「Boot disk」專區的「Deletion rule」中,確認已選取「Keep disk」選項。
按一下 [儲存]。
在 Google Cloud 控制台中開啟 Cloud Logging,監控安裝進度及檢查錯誤。
篩選記錄:
記錄檔探索工具
在「Logs Explorer」頁面中,前往「查詢」窗格。
在「Resource」下拉式選單中,選取「Global」,然後點選「Add」。
如果找不到「Global」選項,請在查詢編輯器中輸入以下查詢:
resource.type="global" "Deployment"
點選「執行查詢」
舊版記錄檢視器
- 在「Legacy Logs Viewer」頁面中,從基本選取器選單中選取「Global」做為記錄資源。
分析篩選過的記錄:
- 如果顯示
"--- Finished"
,表示部署程序已完成,您可以繼續進行下一個步驟。 如果畫面顯示配額錯誤:
開啟 Cloud Shell。
前往工作目錄並刪除部署,清除安裝失敗的 VM 與永久磁碟:
terraform destroy
出現是否核准該動作的提示時,請輸入
yes
。重新執行部署。
- 如果顯示
部署 VM 執行個體後如沒有任何錯誤,請使用 SSH 連線至 VM。您可以在 Compute Engine 的「VM instances」(VM 執行個體) 頁面上,按一下 VM 的 SSH 按鈕,或使用您偏好的 SSH 方法。
切換到超級使用者。
sudo su -
在命令提示字元中輸入
df -h
。並確保您看到類似以下的輸出內容:Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 8.0K 4.0M 1% /dev tmpfs 52G 0 52G 0% /dev/shm tmpfs 21G 18M 21G 1% /run tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/sda3 30G 4.3G 26G 15% / /dev/sda2 20M 2.9M 18M 15% /boot/efi tmpfs 11G 0 11G 0% /run/user/0 /dev/mapper/vg_db2sid-vol 15G 48M 15G 1% /db2/AS1 /dev/mapper/vg_db2dump-vol 15G 48M 15G 1% /db2/AS1/db2dump /dev/mapper/vg_db2sapdata-vol 50G 84M 50G 1% /db2/AS1/sapdata /dev/mapper/vg_db2saptmp-vol 20G 53M 20G 1% /db2/AS1/saptmp /dev/mapper/vg_db2log-vol 30G 63M 30G 1% /db2/AS1/log_dir /dev/mapper/vg_db2home-vol 15G 48M 15G 1% /db2/db2as1 /dev/mapper/vg_db2backup-vol 100G 135M 100G 1% /db2backup /dev/mapper/vg_usrsap-vol 15G 200M 15G 2% /usr/sap /dev/mapper/vg_sapmnt-vol 15G 48M 15G 1% /sapmnt tmpfs 11G 0 11G 0% /run/user/1000
如要確認是否已建立交換目錄,請執行下列指令:
cat /proc/meminfo | grep Swap
畫面會顯示類似以下的輸出:
SwapCached: 0 kB SwapTotal: 25161724 kB SwapFree: 25161724 kB
解決所有錯誤,確保部署作業不會因相同原因再次失敗。如要瞭解如何檢查記錄或解決配額相關錯誤,請參閱「檢查記錄」。
開啟 Cloud Shell;如果您在本機工作站上安裝了 Google Cloud CLI,請開啟終端機。
前往包含您用於此部署作業的 Terraform 設定檔的目錄。
執行下列指令,刪除部署作業中的所有資源:
terraform destroy
出現是否核准該動作的提示時,請輸入
yes
。請按照本指南前述的操作說明重試部署作業。
- 與以 Linux 為基礎的 VM 建立 SSH 連線。
將 IBM Db2 的完整 SAP 媒體集下載或複製到 VM。
您可以從 SAP 支援入口網站下載 SAP 媒體集。
為 IBM Db2 資料庫伺服器安裝 SAP Software Provisioning Manager。
安裝 IBM Db2 授權檔。
如要進一步瞭解如何安裝您從 SAP 取得的 IBM Db2 授權,請參閱 SAP 附註 816773 - DB6:安裝 SAP OEM 授權。
與 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 系統中輸入交易
ST06
。 在「Overview」(總覽) 窗格中,查看以下欄位的可用性和內容,確認 SAP 和 Google 監控基礎架構已做好正確的端對端設定:
- 雲端服務供應商:
Google Cloud Platform
- Enhanced Monitoring Access (強化版監控功能存取權):
TRUE
- Enhanced Monitoring Details (強化版監控功能詳細資料):
ACTIVE
- 雲端服務供應商:
- 使用最新的批次更新 IBM Db2 軟體 (如果有的話)。
- 安裝任何額外的元件。
- 設定並備份新的 IBM Db2 資料庫。
設定 gcloud
指令環境
以下操作說明使用 Cloud Shell 輸入 gcloud
指令,以部署或設定 Google Cloud 資源。您可以透過瀏覽器的Google Cloud 主控台存取 Cloud Shell。
您每次啟動 Cloud Shell 時,Cloud Shell 都會在 GCP 佈建的 VM 上執行。 Google Cloud 第一次使用 Cloud Shell 時,Google Cloud 也會為您建立永久的 $HOME
目錄,此目錄會在您每次開啟 Cloud Shell 時復原。
您佈建的 VM 含有最新版 Google Cloud CLI。因此,您在 Cloud Shell 中使用的 gcloud
指令與您在本機安裝的 gcloud CLI 執行個體中使用的指令相同。
如果您已安裝 gcloud CLI,即可從本機電腦發出此操作說明使用的 gcloud
指令。但是,如果您已在本機安裝 gcloud CLI,請務必確保您使用的是最新版的 gcloud CLI。
無論您使用 Cloud Shell 或 gcloud CLI,都可以設定並變更 gcloud
指令環境的屬性,並將其儲存為「設定」。「設定」是指鍵/值組合的集合,可影響 gcloud
指令的行為。
您透過這類設定可在 Cloud Shell 中採取的動作包括:
如要進一步瞭解如何使用設定,請參閱「管理 gcloud CLI 設定」。
建立網路
基於安全性考量,請建立新的網路。您可以新增防火牆規則或使用另一個存取權控管方法,藉此控管具有存取權的對象。
如果您的專案具有預設的虛擬私有雲網路,請勿使用。請建立您自己專屬的虛擬私有雲網路,確保系統只套用您明確建立的防火牆規則。
在部署期間,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 位址的情況下,安全地存取網際網路。
新增防火牆規則
根據預設,系統會封鎖來自您 Google Cloud 網路以外的連入連線。如要允許連入的連線,請為 VM 設定防火牆規則。防火牆規則只管制新進入 VM 的連入流量。與 VM 建立連線後,系統將允許透過該連線的雙向流量。
您可以建立防火牆規則來允許存取特定連接埠,或允許同一個子網路中不同 VM 之間的存取作業。
建立防火牆規則允許下列存取作業:
如要為專案建立防火牆規則,請參閱「建立防火牆規則」。
使用 Terraform 部署適用於 Db2 的 Linux VM
以下操作說明會使用 Terraform 部署使用 Linux 的 VM 執行個體,以及 IBM Db2 需要的所有永久磁碟,以支援 SAP 應用程式。您將在 Google Cloud 提供的 sap_db2.tf
設定檔中定義安裝的值。
以下操作說明使用的是 Cloud Shell,但也可以依您的偏好改為使用本地終端機中的 Terraform。
驗證部署作業
如要驗證部署作業,請查看 Cloud Logging 中的部署記錄,並檢查 VM 的設定。
檢查記錄
檢查 VM 的設定
清除並重試部署
如果先前各節中的任何部署驗證步驟顯示安裝失敗,則必須撤銷部署,並完成下列步驟重試:
安裝資料庫伺服器
現在您的作業系統已經設定完成,可以開始安裝 IBM Db2 資料庫伺服器。
如需為 SAP NetWeaver 安裝 IBM Db2 的指南,請參閱 SAP NetWeaver 系統的專用安裝指南。
如要在 Linux VM 上安裝 IBM Db2,請按照下列步驟操作:
驗證 Google Cloud的 Agent for SAP 安裝狀態
部署 VM 並安裝 SAP 系統後,請確認Google Cloud的 SAP 代理程式是否正常運作。
確認 Google Cloud的 Agent for SAP 是否正在執行
如要確認代理程式是否正在執行,請按照下列步驟操作:
如果代理程式未執行,請重新啟動代理程式。
確認 SAP Host Agent 正在接收指標
如要確認Google Cloud的 Agent for SAP 是否收集基礎架構指標,並正確傳送至 SAP Host Agent,請按照下列步驟操作:
執行部署後工作
使用 IBM Db2 執行個體之前,建議您執行下列部署後步驟:
如需其他部署後指南,請參閱安裝指南的「部署後工作」部分,此部分適用於您與 IBM Db2 搭配使用的 SAP 系統。
疑難排解
本章節提供有關如何修正一般問題的資訊。
連線到 VM 的疑難排解
如您在透過 ssh
連線到 VM 時出現問題,請確認您已經建立防火牆規則,以在使用的 Google Cloud 網路開啟通訊埠 22
。
如為其他可能的問題,請參閱透過 ssh
從瀏覽器連線的已知問題。
Google 監控代理程式疑難排解
如要排解 SAP NetWeaver 監控代理程式相關問題,請參閱「監控疑難排解」。