共用方式為


設定 Azure 應用程式 一致快照集工具的資料庫

本文提供一個指南,說明如何設定資料庫和資料庫必要條件,以搭配您搭配 Azure NetApp Files 或 Azure 大型實例使用 Azure 應用程式 一致快照集工具(AzAcSnap)。

啟用與資料庫的通訊

本節說明如何啟用與資料庫的通訊。 使用下列索引標籤來正確選取您所使用的資料庫。

如果您正在部署至集中式虛擬機器,您必須安裝並設定 SAP HANA 用戶端,以讓 AzAcSnap 使用者可以執行 hdbsqlhdbuserstore 命令。 您可以從 SAP 開發工具網站下載 SAP HANA 用戶端。

快照集工具會與 SAP HANA 通訊,並需要具有適當權限的使用者來起始和發行資料庫儲存點。 下列範例顯示 SAP HANA 2.0 使用者的設定,以及用於與 SAP HANA 資料庫通訊的 hdbuserstore

下列範例命令會在 SAP HANA 2.0 資料庫上的 SYSTEMDB 中設定使用者 (AZACSNAP)。 視需要變更 IP 位址、使用者名稱和密碼。

  1. 連線到 SYSTEMDB:

    hdbsql -n <IP_address_of_host>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD>
    
    Welcome to the SAP HANA Database interactive terminal.
    
    Type: \h for help with commands
    \q to quit
    
    hdbsql SYSTEMDB=>
    
  2. 建立使用者。 此範例會在 SYSTEMDB 中建立 AZACSNAP 使用者:

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. 授與使用者權限。 此範例會設定 AZACSNAP 使用者的權限,從而允許執行資料庫一致儲存體快照集:

    • 上至 2.0 SPS 03 版的 SAP HANA 版本:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • 針對從 2.0 SPS 04 版開始的 SAP HANA 版本,SAP 新增了更精細的權限:

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. 選擇性:避免使用者密碼到期。

    注意

    進行這項變更之前,請先確認公司原則。

    下列範例會停用 AZACSNAP 使用者的密碼到期。 如果沒有這項變更,使用者的密碼可能會過期,並防止正確擷取快照集。

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. 設定 SAP HANA 安全使用者存放區 (變更密碼)。 此範例會使用 Linux 殼層中的 hdbuserstore 命令來設定 SAP HANA 安全使用者存放區:

    hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
    
  6. 請檢查您是否已正確設定 SAP HANA 安全使用者存放區。 使用 hdbuserstore 命令來列出輸出,與下列範例類似。 如需詳細了解如何使用 hdbuserstore,請參閱 SAP 網站。

    hdbuserstore List
    
    DATA FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.DAT
    KEY FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.KEY
    
    KEY AZACSNAP
    ENV : <IP_address_of_host>:
    USER: AZACSNAP
    

將 SSL 用於與 SAP HANA 通訊

AzAcSnap 會使用 SAP HANA 的 hdbsql 命令與 SAP HANA 通訊。 使用 hdbsql 可讓您使用 SSL 選項來加密與 SAP HANA 的通訊。

使用 azacsnap --ssl 選項時,AzAcSnap 一律會使用下列選項:

  • -e:啟用 TLS/SSL 加密。 伺服器會選擇可用的最高值。
  • -ssltrustcert:指定是否驗證伺服器憑證。
  • -sslhostnameincert "*":指定驗證伺服器身分識別的主機名稱。 若將 "*" 指定為主機名稱,系統就不會驗證伺服器的主機名稱。

SSL 通訊也需要金鑰存放區和信任存放區檔案。 這些檔案有可能儲存在預設的 Linux 安裝位置。 但為了確保將正確的金鑰資料用於各種 SAP HANA 系統 (適用於每個 SAP HANA 系統使用不同的金鑰存放區和信任存放區檔案的情況),AzAcSnap 預期金鑰存放區和信任存放區檔案會儲存在 securityPath 位置。 AzAcSnap 設定檔會指定此位置。

金鑰存放區檔案

如果使用具有相同金鑰資料的多個系統識別碼 (SID),則更容易建立連結至 AzAcSnap 設定檔中所定義的 securityPath 位置。 請確定每個使用 SSL 的 SID 都有這些值。

  • 對於 opensslln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
  • 對於 commoncryptoln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore

若使用多個 SID,且每個 SID 具有不同的金鑰資料,請將檔案複製 (或移動並重新命名) 到 SID AzAcSnap 設定檔中所定義的 securityPath 位置。

  • 對於 opensslmv key.pem <securityPath>/<SID>_keystore
  • 對於 commoncryptomv sapcli.pse <securityPath>/<SID>_keystore

當 AzAcSnap 呼叫 hdbsql 時,其會新增 -sslkeystore=<securityPath>/<SID>_keystorehdbsql 命令列。

信任存放區檔案

如果使用具有相同金鑰資料的多個 SID,請建立永久連結至 AzAcSnap 設定檔中所定義的 securityPath 位置。 請確定每個使用 SSL 的 SID 都有這些值。

  • 對於 opensslln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
  • 對於 commoncryptoln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore

若使用多個 SID,且每個 SID 都有不同的金鑰資料,請將檔案複製 (或移動並重新命名) 到 SID AzAcSnap 設定檔中所定義的 securityPath 位置。

  • 對於 opensslmv trust.pem <securityPath>/<SID>_truststore
  • 對於 commoncryptomv sapcli.pse <securityPath>/<SID>_truststore

檔案名稱的 <SID> 元件必須是全大寫的 SAP HANA 系統識別碼 (例如,H80PR1)。 當 AzAcSnap 呼叫 hdbsql 時,其會新增 -ssltruststore=<securityPath>/<SID>_truststore 至命令列。

若執行 azacsnap -c test --test hana --ssl openssl,其中 SID 是設定檔中的 H80,則會執行 hdbsql 連線,如下所示:

hdbsql \
    -e \
    -ssltrustcert \
    -sslhostnameincert "*" \
    -sslprovider openssl \
    -sslkeystore ./security/H80_keystore \
    -ssltruststore ./security/H80_truststore
    "sql statement"

在上述程式碼中,反斜線 (\) 字元是命令列換行,可改善在命令列上傳遞多個參數的明確性。

設定 資料庫

本節說明如何設定資料庫。

設定 SAP HANA

有一些變更可套用至 SAP HANA,以協助保護記錄備份和目錄。 依預設會設定 basepath_logbackupbasepath_catalogbackup,讓 SAP HANA 將相關的檔案置於 $(DIR_INSTANCE)/backup/log 目錄中。 此位置不太可能位於 AzAcSnap 設定為快照集的磁碟區上,因此儲存體快照集不會保護這些檔案。

下列 hdbsql 命令範例會示範如何為記錄和目錄路徑設定位置,而這些位置位於 AzAcSnap 可建立快照集的儲存體磁碟區。 請務必檢查命令列上的值是否符合本機 SAP HANA 設定。

設定記錄備份位置

此範例顯示 basepath_logbackup 參數的變更:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_logbackup') = '/hana/logbackups/H80' WITH RECONFIGURE"

設定目錄備份位置

此範例顯示 basepath_catalogbackup 參數的變更。 首先,確定檔案系統中存在 basepath_catalogbackup 路徑。 如果沒有,請建立路徑,並使其擁有與目錄相同的所有權。

ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

如須建立路徑,下列範例會建立路徑,並設定正確的所有權和權限。 您必須以根身分執行這些命令。

mkdir /hana/logbackups/H80/catalog
chown --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
chmod --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

下列範例會變更 SAP HANA 設定:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_catalogbackup') = '/hana/logbackups/H80/catalog' WITH RECONFIGURE"

檢查記錄和目錄備份位置

變更記錄和目錄備份位置之後,請使用下列命令確認設定是否正確。

在此範例中,設定會顯示為 SYSTEM 設定。 此查詢也會傳回用於比較的 DEFAULT 設定。

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where (key = 'basepath_databackup' or key ='basepath_datavolumes' or key = 'basepath_logbackup' or key = 'basepath_logvolumes' or key = 'basepath_catalogbackup')"
global.ini,DEFAULT,,,persistence,basepath_catalogbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_databackup,$(DIR_INSTANCE)/backup/data
global.ini,DEFAULT,,,persistence,basepath_datavolumes,$(DIR_GLOBAL)/hdb/data
global.ini,DEFAULT,,,persistence,basepath_logbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_logvolumes,$(DIR_GLOBAL)/hdb/log
global.ini,SYSTEM,,,persistence,basepath_catalogbackup,/hana/logbackups/H80/catalog
global.ini,SYSTEM,,,persistence,basepath_datavolumes,/hana/data/H80
global.ini,SYSTEM,,,persistence,basepath_logbackup,/hana/logbackups/H80
global.ini,SYSTEM,,,persistence,basepath_logvolumes,/hana/log/H80

設定記錄備份逾時

SAP HANA 執行記錄備份的預設設定為 900 秒 (15 分鐘)。 建議您將此值縮減為 300 秒 (5 分鐘)。 然後,就可以執行這些檔案的定期備份 (例如,每 10 分鐘一次)。 您可以將 log_backup 磁碟區新增至設定檔的 OTHER 磁碟區區段,以取得這些備份。

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'log_backup_timeout_s') = '300' WITH RECONFIGURE"

檢查記錄備份逾時

變更記錄備份逾時之後,請確定已使用下列命令來設定逾時。

在此範例中,設定會顯示為 SYSTEM 設定。 此查詢也會傳回用於比較的 DEFAULT 設定。

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where key like '%log_backup_timeout%' "
global.ini,DEFAULT,,,persistence,log_backup_timeout_s,900
global.ini,SYSTEM,,,persistence,log_backup_timeout_s,300

下一步