本部署指南說明如何為 Linux 上的 IBM Db2 執行個體部署資源,以支援 SAP 應用程式。 Google Cloud
本指南中的操作說明使用 Terraform 部署及設定 VM、Linux 作業系統、IBM Db2 所需的磁碟區,並安裝適用於 SAP NetWeaver 的 Google Cloud' 監控代理程式。
如要瞭解如何規劃部署,請參閱適用於 SAP 的 IBM Db2 規劃指南。
必要條件
如要確保 SAP 工作負載的執行方式符合資料落地、存取權控管、支援人員或法規要求,請建立必要的 Assured Workloads 資料夾。詳情請參閱 SAP on Google Cloud的法規遵循和主權控制項。
如果您還沒有啟用計費功能的 Google Cloud 專案,則必須先建立一個,才能為 IBM Db2 安裝部署虛擬機器 (VM)。
建立專案
-
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 控制台中的「Images」(映像檔) 頁面。linux_image_project
字串 指定包含您為 linux_image
引數指定的圖片的 Google Cloud 專案。這個專案可能是您自己的專案或 Google Cloud 映像檔專案。 如果是 Compute Engine 映像檔,請指定rhel-sap-cloud
或suse-sap-cloud
。 如要尋找作業系統的映像檔專案,請參閱作業系統詳細資料。instance_name
字串 指定主機 VM 執行個體的名稱。名稱可包含小寫英文字母、數字和連字號,工作站與待命主機的 VM 執行個體使用都使用含有 w
的相同名稱,並在名稱後面附加主機編號。db2_sid
字串 指定 IBM Db2 資料庫執行個體的 SID。此 ID 必須包含三個英數字元,並以字母開頭。所有字母都必須是大寫。例如 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.
。如果您指定這個引數但未提供值,或省略這個引數,安裝指令碼就會使用 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
標記,且您未在工作目錄中進行任何變更,即使source
網址中指定了latest
,Terraform 仍會使用本機快取副本。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 執行個體的名稱。
按一下 [編輯]。
在「開機磁碟」部分中,確認已為「刪除規則」選取「保留磁碟」選項。
按一下 [儲存]。
在 Google Cloud 控制台中開啟 Cloud Logging,監控安裝進度並檢查錯誤。
篩選記錄:
記錄檔探索工具
在「Logs Explorer」(記錄檔探索工具) 頁面中,前往「Query」(查詢) 窗格。
從「資源」下拉式選單選取「全域」,然後按一下「新增」。
如果沒有看到「Global」(通用) 選項,請在查詢編輯器中輸入下列查詢:
resource.type="global" "Deployment"
點選「執行查詢」
舊版記錄檢視器
- 在「舊版記錄檢視器」頁面中,從基本選取器選單選取「Global」(全域) 做為記錄資源。
分析已篩選的記錄檔:
- 如果顯示
"--- Finished"
,表示部署程序已完成,可繼續進行下一個步驟。 如果畫面顯示配額錯誤:
在 IAM 和管理員配額頁面上,增加不符合 IBM Db2 需求的配額,相關需求列於
開啟 Cloud Shell。
前往工作目錄並刪除部署,以清除安裝失敗的 VM 和永久磁碟:
terraform destroy
系統提示您核准動作時,請輸入
yes
。重新執行部署。
- 如果顯示
VM 執行個體部署完成且無發生錯誤後,使用 SSH 連線到 VM。 在 Compute Engine 的「VM instances」(VM 執行個體) 頁面上,按一下 VM 的「SSH」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 都會在佈建的 VM 上執行。 Google Cloud 第一次使用 Cloud Shell 時,Google Cloud 也會為您建立永久的 $HOME
目錄,此目錄會在您每次開啟 Cloud Shell 時復原。
您佈建的 VM 含有最新版 Google Cloud CLI。因此,您在 Cloud Shell 中使用的 gcloud
指令與您在本機安裝的 gcloud CLI 執行個體中使用的指令相同。
如果您已安裝 gcloud CLI,即可從本機電腦發出此操作說明使用的 gcloud
指令。但是您必須確保安裝在本機的 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 應用程式所需的所有永久磁碟。您將在sap_db2.tf
設定檔中定義安裝的值。 Google Cloud
以下操作說明中使用的是 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 主機代理程式正在接收指標
如要確認基礎架構指標是由Google Cloud's Agent for SAP 收集,並正確傳送至 SAP Host Agent,請按照下列步驟操作:
執行部署後工作
使用 IBM Db2 執行個體之前,建議您執行下列部署後步驟:
如需其他部署後指南,請參閱安裝指南的「部署後工作」部分,此部分適用於您與 IBM Db2 搭配使用的 SAP 系統。
疑難排解
本章節提供有關如何修正一般問題的資訊。
連線到 VM 的疑難排解
如您在透過 ssh
連線到 VM 時出現問題,請確認您已經建立防火牆規則,以在使用的 Google Cloud 網路開啟通訊埠 22
。
如為其他可能的問題,請參閱透過瀏覽器連線的已知問題。ssh
Google 監控代理程式疑難排解
如要排解 SAP NetWeaver 監控代理程式的問題,請參閱「疑難排解監控問題」。