Azure 上 Linux 的 SAP BusinessObjects BI 平臺部署指南

本文說明在 Azure for Linux 上部署 SAP BusinessObjects BI (BOBI) 平臺的策略。 在此範例中,您會將具有進階固態硬碟 (SSD) 受控磁片的兩部虛擬機器設定為安裝目錄。 您會針對 CMS 資料庫使用適用於 MySQL 的 Azure 資料庫,而且您會在兩部伺服器上共用檔案存放庫伺服器的 Azure NetApp Files。 在兩部虛擬機器上,您會一起安裝預設 Tomcat JAVA Web 應用程式和 BI 平臺應用程式。 若要對使用者要求進行負載平衡,請使用Azure 應用程式閘道搭配原生 TLS/SSL 卸載功能。

這種類型的架構適用于小型部署或非生產環境。 針對大型部署或生產環境,您可以為 Web 應用程式擁有個別主機。 您也可以有多個 BOBI 應用程式主機,讓伺服器能夠處理詳細資訊。

Diagram of the SAP BOBI deployment on Azure for Linux

以下是此範例的產品版本和檔案系統配置:

  • SAP BusinessObjects 平臺 4.3
  • SUSE Linux Enterprise Server 12 SP5
  • 適用於 MySQL 的 Azure 資料庫 (版本:8.0.15)
  • MySQL C API 連線or - libmysqlclient (版本:6.1.11)
檔案系統 描述 大小 (GB) 負責人 群組 儲存體
/usr/sap 安裝 SAP BOBI 實例的檔案系統、預設 Tomcat Web 應用程式和資料庫驅動程式(如有必要)。 SAP 調整大小指導方針 bl1adm sapsys 受控進階磁片 - SSD
/usr/sap/frsinput 掛接目錄適用于所有將做為輸入檔案存放庫目錄之 BOBI 主機的共用檔案。 商務需求 bl1adm sapsys Azure NetApp Files
/usr/sap/frsoutput 掛接目錄適用于所有將做為輸出檔案存放庫目錄的 BOBI 主機共用檔案 商務需求 bl1adm sapsys Azure NetApp Files

重要

雖然使用 Azure NetApp Files 來說明 SAP BusinessObjects 平臺的設定,但您可以在 Azure 檔案儲存體 上使用 NFS 作為輸入和輸出檔案存放庫。

透過 Azure 入口網站 部署 Linux 虛擬機器

在本節中,您會使用 SAP BOBI 平臺的 Linux 作業系統映射來建立兩部虛擬機器。 建立虛擬機器的高階步驟如下:

  1. 建立 資源群組

  2. 建立虛擬網路

    • 請勿針對 SAP BI 平臺部署中的所有 Azure 服務使用單一子網。 根據 SAP BI 平臺架構,您必須建立多個子網。 在此部署中,您會建立三個子網:一個用於應用程式、檔案存放庫存放區,以及應用程式閘道。
    • 在 Azure 中,應用程式閘道和 Azure NetApp Files 必須一律位於不同的子網上。 如需詳細資訊,請參閱 Azure NetApp Files 網路規劃 Azure 應用程式閘道 和 指導方針。
  3. 根據您在 Azure 區域內慣用的系統設定,選取適當的 可用性選項 ,不論其涉及跨區域、位於單一區域內,或是在無區域區域中運作。

  4. 建立名為 (azusbosl1) 的 虛擬機器 1。

    • 您可以使用自訂映射,或從 Azure Marketplace 選擇映射。 如需詳細資訊,請參閱 從適用于 SAP 的 Azure Marketplace 部署 VM 或 使用 SAP 自訂映射部署 VM。
  5. 建立名為 (azusbosl2) 的 虛擬機器 2。

  6. 新增一個進階 SSD 磁片。 您將使用它作為 SAP BOBI 安裝目錄。

布建 Azure NetApp Files

繼續設定 Azure NetApp Files 之前,請先熟悉 Azure NetApp Files 檔

Azure NetApp Files 可在數個 Azure 區域中 使用。 檢查您選取的 Azure 區域是否提供 Azure NetApp Files。

使用 Azure 區域的 Azure NetApp Files 可用性,依區域檢查 Azure NetApp Files 的可用性。

部署 Azure NetApp Files 資源

下列指示假設您已部署 Azure 虛擬網路 。 Azure NetApp Files 資源,以及將掛接 Azure NetApp Files 資源的 VM,必須部署在相同的 Azure 虛擬網路或對等互連 Azure 虛擬網路中。

  1. 在選取的 Azure 區域中建立 Azure NetApp Files 帳戶

  2. 設定 Azure NetApp Files 容量集區 。 本文中提供的 SAP BI 平臺架構會使用進階版服務層級的單一 Azure NetApp Files 容量集區。 針對 Azure 上的 SAP BI 檔案存放庫伺服器,建議您使用 Azure NetApp Files 進階版 或 Ultra 服務等級

  3. 將子網委派給 Azure NetApp Files

  4. 遵循為 Azure NetApp Files 建立 NFS 磁片區中的 指示,部署 Azure NetApp Files 磁片區。

    您可以將磁片區部署為 NFSv3 和 NFSv4.1,因為 SAP BOBI 平臺支援這兩種通訊協定。 在各自的 Azure NetApp Files 子網中部署磁片區。 Azure NetApp Files 磁片區的 IP 位址會自動指派。

請記住,Azure NetApp Files 資源和 Azure VM 必須位於相同的 Azure 虛擬網路或對等互連的 Azure 虛擬網路中。 例如, azusbobi-frsinput 和 azusbobi-frsoutput 是磁片區名稱, nfs://10.31.2.4/azusbobi-frsinput nfs://10.31.2.4/azusbobi-frsoutput 是 Azure NetApp Files 磁片區的檔案路徑。

  • 磁片區 azusbobi-frsinput (nfs://10.31.2.4/azusbobi-frsinput)
  • 卷 azusbobi-frsoutput (nfs://10.31.2.4/azusbobi-frsoutput)

重要考量

當您建立適用于 SAP BOBI 平臺檔案存放庫伺服器的 Azure NetApp Files 時,請注意下列考慮:

  • 最小容量集區為 4 個位元組(TiB)。 容量集區大小可以增加 1 TiB 增量。
  • 最小磁片區大小為 100 gibibytes (GiB)。
  • Azure NetApp Files 和將掛接 Azure NetApp Files 磁片區的所有虛擬機器都必須位於相同的 Azure 虛擬網路中,或 位於相同區域中的對等互連虛擬網路 中。 支援透過相同區域中虛擬網路對等互連的 Azure NetApp Files 存取。 目前不支援透過全域對等互連存取 Azure NetApp Files。
  • 選取的虛擬網路必須具有委派給 Azure NetApp Files 的子網。
  • Azure NetApp Files 磁片區的輸送量和效能特性是磁片區配額和服務等級的功能,如 Azure NetApp Files 的服務等級中所述 。 調整 SAP Azure NetApp 磁片區的大小時,請確定產生的輸送量符合應用程式需求。
  • 使用 Azure NetApp Files 匯出原則 ,您可以控制允許的用戶端、存取類型(例如讀寫或唯讀)。
  • Azure NetApp Files 功能尚無法感知區域。 目前,此功能不會部署在 Azure 區域的所有可用性區域中。 請注意部分 Azure 區域中的潛在延遲影響。
  • Azure NetApp Files 磁片區可以部署為 NFSv3 或 NFSv4.1 磁片區。 SAP BI 平臺應用程式支援這兩種通訊協定。

在 Linux 伺服器上設定檔案系統

本節中的步驟會使用下列前置詞:

[A] :此步驟適用于所有主機。

格式化和掛接 SAP 檔案系統

  1. [A] 列出所有連結的磁片。

    sudo lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   30G  0 disk
    ├─sda1   8:1    0    2M  0 part
    ├─sda2   8:2    0  512M  0 part /boot/efi
    ├─sda3   8:3    0    1G  0 part /boot
    └─sda4   8:4    0 28.5G  0 part /
    sdb      8:16   0   32G  0 disk
    └─sdb1   8:17   0   32G  0 part /mnt
    sdc      8:32   0  128G  0 disk
    sr0     11:0    1  628K  0 rom  
    # Premium SSD of 128 GB is attached to virtual machine, whose device name is sdc
    
  2. [A] 格式化 /usr/sap 的區塊裝置。

    sudo mkfs.xfs /dev/sdc
    
  3. [A] 建立掛接目錄。

    sudo mkdir -p /usr/sap
    
  4. [A] 取得區塊裝置的 UUID。

    sudo blkid
    
    # It will display information about block device. Copy UUID of the formatted block device
    
    /dev/sdc: UUID="0eb5f6f8-fa77-42a6-b22d-7a9472b4dd1b" TYPE="xfs"
    
  5. [A] 在 /etc/fstab 中維護檔案系統掛接專案。

    sudo echo "UUID=0eb5f6f8-fa77-42a6-b22d-7a9472b4dd1b /usr/sap xfs defaults,nofail 0 2" >> /etc/fstab
    
  6. [A] 掛接檔案系統。

    sudo mount -a
    
    sudo df -h
    
    Filesystem                     Size  Used Avail Use% Mounted on
    devtmpfs                       7.9G  8.0K  7.9G   1% /dev
    tmpfs                          7.9G   82M  7.8G   2% /run
    tmpfs                          7.9G     0  7.9G   0% /sys/fs/cgroup
    /dev/sda4                       29G  1.8G   27G   6% /
    tmpfs                          1.6G     0  1.6G   0% /run/user/1000
    /dev/sda3                     1014M   87M  928M   9% /boot
    /dev/sda2                      512M  1.1M  511M   1% /boot/efi
    /dev/sdb1                       32G   49M   30G   1% /mnt
    /dev/sdc                       128G   29G  100G  23% /usr/sap
    

掛接 Azure NetApp Files 磁片區

  1. [A] 建立掛接目錄。

    sudo mkdir -p /usr/sap/frsinput
    sudo mkdir -p /usr/sap/frsoutput
    
  2. [A] 將用戶端作業系統設定為支援 NFSv4.1 掛接(僅適用于使用 NFSv4.1)。

    如果您使用具有 NFSv4.1 通訊協定的 Azure NetApp Files 磁片區,請在需要掛接 Azure NetApp Files NFSv4.1 磁片區的所有 VM 上執行下列設定。

    在此步驟中,您必須確認 NFS 網域設定。 請確定網域已設定為預設的 Azure NetApp Files 網域 ( defaultv4iddomain.com ),且對應設定為 nobody

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

    重要

    請務必在 VM 上設定 /etc/idmapd.conf 中的 NFS 網域,以符合 Azure NetApp Files 上的預設網域組態( defaultv4iddomain.com )。 如果發生不相符的情況,則 VM 上掛接之 Azure NetApp Files 磁片區上的檔案許可權會顯示為 nobody

    驗證 nfs4_disable_idmapping。 它應該設定為 Y 。 若要建立所在的 nfs4_disable_idmapping 目錄結構,請執行掛接命令。 您無法在 /sys/modules 下手動建立目錄,因為存取權會保留給核心 /驅動程式。

    # Check nfs4_disable_idmapping
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount -t nfs -o sec=sys,vers=4.1 10.31.2.4:/azusbobi-frsinput /mnt/tmp
    umount /mnt/tmp
    
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    
  3. [A] 新增掛接專案。

    如果您使用 NFSv3:

    sudo echo "10.31.2.4:/azusbobi-frsinput /usr/sap/frsinput  nfs   rw,hard,rsize=65536,wsize=65536,vers=3" >> /etc/fstab
    sudo echo "10.31.2.4:/azusbobi-frsoutput /usr/sap/frsoutput  nfs   rw,hard,rsize=65536,wsize=65536,vers=3" >> /etc/fstab
    

    如果您使用 NFSv4.1:

    sudo echo "10.31.2.4:/azusbobi-frsinput /usr/sap/frsinput  nfs   rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys" >> /etc/fstab
    sudo echo "10.31.2.4:/azusbobi-frsoutput /usr/sap/frsoutput  nfs   rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys" >> /etc/fstab
    
  4. [A] 掛接 NFS 磁片區。

    sudo mount -a
    
    sudo df -h
    
    Filesystem                     Size  Used Avail Use% Mounted on
    devtmpfs                       7.9G  8.0K  7.9G   1% /dev
    tmpfs                          7.9G   82M  7.8G   2% /run
    tmpfs                          7.9G     0  7.9G   0% /sys/fs/cgroup
    /dev/sda4                       29G  1.8G   27G   6% /
    tmpfs                          1.6G     0  1.6G   0% /run/user/1000
    /dev/sda3                     1014M   87M  928M   9% /boot
    /dev/sda2                      512M  1.1M  511M   1% /boot/efi
    /dev/sdb1                       32G   49M   30G   1% /mnt
    /dev/sdc                       128G   29G  100G  23% /usr/sap
    10.31.2.4:/azusbobi-frsinput   101T   18G  100T   1% /usr/sap/frsinput
    10.31.2.4:/azusbobi-frsoutput  100T  512K  100T   1% /usr/sap/frsoutput
    

設定適用於 MySQL 的 Azure 資料庫

本節提供如何使用Azure 入口網站布建適用於 MySQL 的 Azure 資料庫的詳細資料。 它也提供如何建立 SAP BOBI 平臺的 CMS 和稽核資料庫,以及用來存取資料庫的使用者帳戶的指示。

只有在您使用 適用於 MySQL 的 Azure 資料庫 時,才適用指導方針。 如需其他資料庫,請參閱 SAP 或資料庫特定檔以取得指示。

建立資料庫

登入Azure 入口網站,並遵循快速入門:使用 Azure 入口網站 建立適用於 MySQL 的 Azure 資料庫伺服器中的步驟 。 以下是布建適用於 MySQL 的 Azure 資料庫時要注意的幾點:

  • 針對 適用於 MySQL 的 Azure 資料庫 選取與 SAP BI 平臺應用程式伺服器執行所在的相同區域。

  • 根據 SAP BOBI 版本專屬的 SAP BI 產品可用性矩陣 (PAM) 選擇支援的資料庫版本。

  • compute+storage 中,選取 [ 設定伺服器 ],然後根據您的調整大小輸出選取適當的定價層。

  • 預設會啟用儲存體自動成長 。 請記住, 儲存體 只能相應增加,而不是相應減少。

  • 根據預設, 備份保留期限 為七天。 您可以選擇 性地將 它設定為 35 天。

  • 根據預設,適用於 MySQL 的 Azure 資料庫備份是本地備援。 如果您想要異地備援儲存體中的伺服器備份,請從 [備份備援選項 ] 中選取 [異地 備援]。

重要

不支援在建立伺服器之後變更 備份備援選項

注意

私人連結功能僅適用于一般用途或記憶體優化定價層中的適用於 MySQL 的 Azure 資料庫伺服器。 請確定資料庫伺服器位於下列其中一個定價層中。

在本節中,您會建立私人連結,讓 SAP BOBI 虛擬機器透過私人端點連線到適用於 MySQL 的 Azure 資料庫。 Azure Private Link 會將 Azure 服務帶入私人虛擬網路內。

  1. 選取在上一節中建立的資料庫。
  2. 移至 [安全性 > 私人端點連線 ]。
  3. 在 [私人端點連線] 中 ,選取 [私人端點 ]。
  4. 選取 [ 訂用帳戶 > 資源群組 > 位置]。
  5. 輸入私人端點的名稱。
  6. 在 [ 資源] 區段中,指定下列專案:
    • 資源類型:Microsoft.DBforMySQL/servers
    • 資源:在上一節中建立的 MySQL 資料庫
    • 目標子資源:mysqlServer
  7. 在 [ 網路] 區段中,選取 部署 SAP BOBI 應用程式的虛擬網路 子網

    注意

    如果您已啟用子網的網路安全性群組 (NSG),則只會針對此子網上的私人端點停用它。 子網路上的其他資源仍會有 NSG 強制。

  8. 針對 [與私人 DNS 區域 整合],接受 預設值 (是)
  9. 從下拉式清單中選取您的 私人 DNS 區域
  10. 選取 [ 檢閱+建立 ],然後建立私人端點。

如需詳細資訊,請參閱 適用於 MySQL 的 Azure 資料庫 的私人連結。

建立 CMS 和稽核資料庫

  1. MySQL 網站 下載並安裝 MySQL Workbench。 請務必在可存取適用於 MySQL 的 Azure 資料庫的伺服器上安裝 MySQL Workbench。

  2. 使用 MySQL Workbench 將連線至伺服器。 遵循取得連線資訊 中的 指示。 如果連線測試成功,您會收到下列訊息:

    Screenshot of message in MySQL Workbench.

  3. 在 [SQL 查詢] 索引標籤中,執行下列查詢來建立 CMS 和稽核資料庫的架構。

    # Here cmsbl1 is the database name of CMS database. You can provide the name you want for CMS database.
    CREATE SCHEMA `cmsbl1` DEFAULT CHARACTER SET utf8;
    
    # auditbl1 is the database name of Audit database. You can provide the name you want for CMS database.
    CREATE SCHEMA `auditbl1` DEFAULT CHARACTER SET utf8;
    
  4. 建立使用者帳戶以連線至架構。

    # Create a user that can connect from any host, use the '%' wildcard as a host part
    CREATE USER 'cmsadmin'@'%' IDENTIFIED BY 'password';
    CREATE USER 'auditadmin'@'%' IDENTIFIED BY 'password';
    
    # Grant all privileges to a user account over a specific database:
    GRANT ALL PRIVILEGES ON cmsbl1.* TO 'cmsadmin'@'%' WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON auditbl1.* TO 'auditadmin'@'%' WITH GRANT OPTION;
    
    # Following any updates to the user privileges, be sure to save the changes by issuing the FLUSH PRIVILEGES
    FLUSH PRIVILEGES;
    
  5. 若要檢查 MySQL 使用者帳戶的許可權和角色:

    USE sys;
    SHOW GRANTS for 'cmsadmin'@'%';
    +------------------------------------------------------------------------+
    | Grants for cmsadmin@%                                                  |
    +------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO `cmsadmin`@`%`                                   |
    | GRANT ALL PRIVILEGES ON `cmsbl1`.* TO `cmsadmin`@`%` WITH GRANT OPTION |
    +------------------------------------------------------------------------+
    
    USE sys;
    SHOW GRANTS FOR 'auditadmin'@'%';
    +----------------------------------------------------------------------------+
    | Grants for auditadmin@%                                                    |
    +----------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO `auditadmin`@`%`                                     |
    | GRANT ALL PRIVILEGES ON `auditbl1`.* TO `auditadmin`@`%` WITH GRANT OPTION |
    +----------------------------------------------------------------------------+
    

在 Linux 伺服器上安裝 MySQL C API 連接器

若要讓 SAP BOBI 應用程式伺服器存取資料庫,它需要資料庫用戶端驅動程式。 若要存取 CMS 和稽核資料庫,您必須使用適用于 Linux 的 MySQL C API 連線or。 不支援與 CMS 資料庫的 ODBC 連線。 本節提供如何在 Linux 上設定 MySQL C API 連線or 的指示。

  1. 請參閱與 適用於 MySQL 的 Azure 資料庫 相容的 MySQL 驅動程式和管理工具。 請查看文章中的 MySQL 連線or/C (libmysqlclient) 驅動程式。

  2. 若要下載驅動程式,請參閱 MySQL 產品封存

  3. 選取作業系統,並下載 MySQL 連線or 的共用元件 rpm 套件。 在此範例中,會使用 mysql-connector-c-shared-6.1.11 連接器版本。

  4. 在所有 SAP BOBI 應用程式實例中安裝連接器。

    # Install rpm package
    SLES: sudo zypper install <package>.rpm
    RHEL: sudo yum install <package>.rpm
    
  5. 檢查 libmysqlclient.so 的路徑。

    # Find the location of libmysqlclient.so file
    whereis libmysqlclient
    
    # sample output
    libmysqlclient: /usr/lib64/libmysqlclient.so
    
  6. 設定 LD_LIBRARY_PATH 為指向 /usr/lib64 將用於安裝的使用者帳戶目錄。

    # This configuration is for bash shell. If you are using any other shell for sidadm, kindly set environment variable accordingly.
    vi /home/bl1adm/.bashrc
    
    export LD_LIBRARY_PATH=/usr/lib64
    

伺服器準備

本節中的步驟會使用下列前置詞:

[A] :此步驟適用于所有主機。

  1. [A] 根據 Linux 的味道(SLES 或 RHEL),您必須設定核心參數並安裝必要的程式庫。 請參閱 Unix 商業智慧平臺安裝指南中的 一節。

  2. [A] 確定電腦上時區已正確設定。 在安裝指南中,請參閱 其他 Unix 和 Linux 需求

  3. [A] 建立使用者帳戶 ( bl1 adm) 和群組 (sapsys),讓軟體的背景進程可以執行。 使用此帳戶來執行安裝和軟體。 帳戶不需要根許可權。

  4. [A] 將使用者帳戶 ( bl1 adm) 環境設定為使用支援的 UTF-8 地區設定,並確定您的主控台軟體支援 UTF-8 字元集。 為了確保您的作業系統使用正確的地區設定,請將 和 LANG 環境變數設定 LC_ALL 為您 ( bl1 adm) 使用者環境中的慣用地區設定。

    # This configuration is for bash shell. If you are using any other shell for sidadm, kindly set environment variable accordingly.
    vi /home/bl1adm/.bashrc
    
    export LANG=en_US.utf8
    export LC_ALL=en_US.utf8
    
  5. [A] 設定使用者帳戶 ( bl1 adm)。

    # Set ulimit for bl1adm to unlimited
    root@azusbosl1:~> ulimit -f unlimited bl1adm
    root@azusbosl1:~> ulimit -u unlimited bl1adm
    
    root@azusbosl1:~> su - bl1adm
    bl1adm@azusbosl1:~> ulimit -a
    
    core file size          (blocks, -c) unlimited
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 63936
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) unlimited
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    
  6. 從 SAP Service Marketplace 下載並擷取 SAP BusinessObjects BI 平臺的媒體。

安裝

檢查伺服器上的使用者帳戶 bl1 adm 地區設定:

bl1adm@azusbosl1:~> locale
LANG=en_US.utf8
LC_ALL=en_US.utf8

移至 SAP BOBI 平臺的媒體,並使用 bl1 adm 使用者執行下列命令

./setup.sh -InstallDir /usr/sap/BL1

遵循適用于 Unix 的 SAP BOBI 平臺 安裝指南,專屬於您的版本。 以下是在安裝 SAP BOBI 平臺時要注意的幾點:

  • 在 [設定產品註冊] 上 ,您可以從 SAP 附注 1288121 使用 SAP BusinessObjects Solutions 的暫存授權金鑰,或在 SAP Service Marketplace 中產生授權 金鑰。

  • 在 [ 選取安裝類型 ] 上,選取 第一部伺服器上的 azusbosl1 [完整 安裝]。 針對其他伺服器 ( azusbosl2 ),選取 [自訂/ 展開 ],這會展開現有的 BOBI 設定。

  • 在 [選取預設] 或 [現有資料庫] 上 ,選取 [設定現有的資料庫 ],以提示您選取 CMS 和稽核 資料庫。 針對這些資料庫類型選取 [MySQL ]。

    如果您不想在安裝期間設定稽核,您也可以選取 [沒有稽核資料庫 ]。

  • 在 [ 選取 JAVA Web 應用程式伺服器] 畫面 上,根據您的 SAP BOBI 架構選取適當的選項。 在此範例中,我們選取了選項 1,它會在同一個 SAP BOBI 平臺上安裝 tomcat 伺服器。

  • 在 [設定 CMS 存放庫資料庫 - MySQL ] 中 輸入 CMS 資料庫資訊。 下列範例顯示 Linux 安裝的 CMS 資料庫資訊的輸入。 預設埠 3306 上使用適用於 MySQL 的 Azure 資料庫。

    Screenshot that shows SAP BOBI Deployment on Linux - CMS database.

  • (選擇性)在 [設定稽核存放庫資料庫 - MySQL ] 中 輸入稽核資料庫資訊。 下列範例顯示 Linux 安裝稽核資料庫資訊的輸入。

    Screenshot that shows SAP BOBI Deployment on Linux - audit database.

  • 請遵循指示並輸入必要的輸入來完成安裝。

針對多重實例部署,請在第二部主機上執行安裝安裝程式 ( azusbosl2 )。 針對 [ 選取安裝類型 ],選取 [ 自訂/ 展開 ],這會展開現有的 BOBI 安裝程式。

在適用於 MySQL 的 Azure 資料庫中,閘道會將連線重新導向至伺服器實例。 建立連線之後,MySQL 用戶端會顯示閘道中設定的 MySQL 的版本,而非 MySQL 伺服器執行個體上執行的實際版本。 若要判斷您的 MySQL 伺服器執行個體的版本,請在 MySQL 提示字元命令下使用 SELECT VERSION(); 命令。 如需詳細資訊,請參閱 支援適用於 MySQL 的 Azure 資料庫伺服器版本

Screenshot that shows SAP BOBI Deployment on Linux - CMC Settings.

# Run direct query to the database using MySQL Workbench

select version();

+-----------+
| version() |
+-----------+
| 8.0.15    |
+-----------+

安裝後

在 SAP BOBI 平臺的多實例安裝之後,您必須執行額外的後置設定步驟,以支援應用程式高可用性。

設定叢集名稱

在 SAP BOBI 平臺的多實例部署中,您想要在叢集中一起執行數部 CMS 伺服器。 叢集由兩部以上的 CMS 伺服器組成,可針對一般 CMS 系統資料庫一起運作。 如果 CMS 上執行的節點失敗,具有另一個 CMS 的節點會繼續服務 BI 平臺要求。 根據預設,SAP BOBI 平臺中的叢集名稱會反映您安裝之第一個 CMS 的主機名稱。

若要在 Linux 上設定叢集名稱,請遵循 SAP Business Intelligence Platform 管理員istrator 指南 中的 指示。 設定叢集名稱之後,請遵循 SAP 附注 1660440 ,在 CMC 或 BI 啟動控制板登入頁面上設定預設系統專案。

將輸入和輸出檔案存放區位置設定為 Azure NetApp Files

檔案存放區是指實際 SAP BusinessObjects 檔案所在的磁碟目錄。 SAP BOBI 平臺的檔存放庫伺服器預設位置位於本機安裝目錄中。 在多重實例部署中,請務必在共用儲存體上設定檔案存放區,例如 Azure NetApp Files。 這允許從所有儲存層伺服器存取檔案存放區。

  1. 如果您尚未建立 NFS 磁片區,請在 Azure NetApp Files 中加以建立。 (遵循上一節「布建 Azure NetApp Files」中的指示。

  2. 掛接 NFS 磁片區。 (遵循上一節「掛接 Azure NetApp Files 磁片區」中的指示。

  3. 請遵循 SAP 附注 2512660 來變更檔案存放庫的路徑(輸入和輸出)。

Tomcat 叢集中的會話複寫

Tomcat 支援將兩部以上的應用程式伺服器叢集到會話複寫和容錯移轉。 SAP BOBI 平臺會話會序列化,因此即使應用程式伺服器失敗,使用者會話也可以順暢地容錯移轉至另一個 Tomcat 實例。

例如,假設使用者在 SAP BI 應用程式中巡覽資料夾階層時,連線到失敗的網頁伺服器。 使用正確設定的叢集,使用者可以繼續流覽資料夾階層,而不重新導向至登入頁面。

如需使用多播設定 Tomcat 叢集的步驟, 請參閱 SAP 附注 2808640。 不過,請注意,Azure 不支援多播。 因此,若要讓 Tomcat 叢集在 Azure 中運作,您必須使用 StaticMembershipInterceptor (SAP 附注 2764907 )。 如需詳細資訊,請參閱部落格文章 Tomcat 叢集使用 SAP BusinessObjects BI 平臺 的靜態成員資格。

SAP BI 平臺的負載平衡 Web 層

在 SAP BOBI 多重實例部署中,JAVA Web 應用程式伺服器 (Web 層) 正在兩部以上的主機上執行。 若要將使用者負載平均分散到網頁伺服器,您可以在使用者與網頁伺服器之間使用負載平衡器。 在 Azure 中,您可以使用 Azure Load Balancer 或 Azure 應用程式閘道來管理 Web 應用程式伺服器的流量。 下一節將說明每個供應專案的詳細資料。

Azure Load Balancer

Azure Load Balancer 是高效能、低延遲第 4 層 (TCP、UDP) 負載平衡器。 它會在狀況良好的虛擬機器 (VM) 之間散發流量。 負載平衡器健康情況探查會監視每個 VM 上的指定埠,並且只會將流量分散到作業 VM。 視您是否要從網際網路存取 SAP BI 平臺而定,您可以選擇公用負載平衡器或內部負載平衡器。 這是區域備援,可確保跨可用性區域具有高可用性。

在下圖中,請參閱內部 Load Balancer 一節。 Web 應用程式伺服器會在埠 8080 上執行,這是預設的 Tomcat HTTP 埠,由健康情況探查監視。 來自使用者的任何連入要求,會重新導向至 Web 應用程式伺服器 ( azusbosl1azusbosl2 )。 Load Balancer 不支援 TLS/SSL 終止(也稱為 TLS/SSL 卸載)。 如果您使用 Load Balancer 將流量分散到 Web 服務器,請使用 Standard Load Balancer。

注意

當沒有公用 IP 位址的 VM 放置在內部(無公用 IP 位址)Standard Load Balancer 的集區時,除非您執行其他設定以允許路由傳送至公用端點,否則不會有輸出網際網路連線能力。 如需詳細資訊,請參閱 SAP 高可用性案例 中使用 Azure Standard Load Balancer 虛擬機器的公用端點連線。

Diagram that shows Azure Load Balancer balancing traffic across web servers.

Azure 應用程式閘道

Azure 應用程式閘道提供應用程式傳遞控制器 (ADC) 即服務。 此服務可用來協助應用程式將使用者流量導向一或多個 Web 應用程式伺服器。 它提供各種第 7 層負載平衡功能,例如 TLS/SSL 卸載、Web 應用程式防火牆 (WAF) 和 Cookie 型會話親和性。

在 SAP BI 平臺中,應用程式閘道將應用程式 Web 流量導向指定的資源或 azusbosl1azusbos2 。 您會將接聽程式指派給埠、建立規則,以及將資源新增至集區。 在下圖中,應用程式閘道具有作為使用者進入點的私人 IP 位址(10.31.3.20)。 它也會處理連入 TLS/SSL (HTTPS - TCP/443) 連線、解密 TLS/SSL,並將未加密的要求 (HTTP - TCP/8080) 傳遞至伺服器。 它可簡化作業,只維護應用程式閘道上的一個 TLS/SSL 憑證。

Diagram that shows Application Gateway balancing traffic across web servers.

若要為 SAP BOBI 網頁伺服器設定應用程式閘道,請參閱使用 Azure 應用程式閘道 負載平衡 SAP BOBI Web 服務器部落格文章

注意

Azure 應用程式閘道最好對 Web 服務器的流量進行負載平衡。 它提供實用的功能,例如 SSL 卸載、集中式 SSL 管理,以減少伺服器上的加密和解密額外負荷、迴圈配置資源演算法來分散流量、WAF 功能和高可用性。

Azure 上的 SAP BOBI 平臺可靠性

SAP BOBI 平臺包含不同層級,這些層級會針對特定工作和作業進行優化。 當任何一層的元件變成無法使用時,SAP BOBI 應用程式會變成無法存取或限制其功能。 請確定每一層的設計都是可靠的,讓應用程式保持運作,而不會造成任何業務中斷。

本指南會探索原生至 Azure 的功能如何搭配 SAP BOBI 平臺設定,改善 SAP 部署的可用性。 本節著重于下列選項:

  • 備份與還原: 建立資料與應用程式的定期複本至個別位置的程式。 如果原始資料或應用程式遺失或損壞,您可以還原或復原至先前的狀態。

  • 高可用性: 高可用性平臺在 Azure 區域內至少有兩個專案,讓應用程式在其中一部伺服器無法使用時保持運作。

  • 災害復原: 如果發生重大損失,則還原應用程式功能的程式,例如由於某些自然災害而無法使用整個 Azure 區域。

此解決方案的實作會根據 Azure 中系統設定的性質而有所不同。 根據您的業務需求,量身打造備份/還原、高可用性和災害復原解決方案。

備份和還原

備份和還原是任何商務災害復原策略的重要元件。 若要開發 SAP BOBI 平臺的完整策略,請識別導致應用程式系統停機或中斷的元件。 在 SAP BOBI 平臺中,下列元件的備份對於保護應用程式至關重要:

  • SAP BOBI 安裝目錄 (受控進階版磁片)
  • 檔案存放庫伺服器 (Azure NetApp Files 或 Azure 進階版 Files)
  • CMS 資料庫 (適用於 MySQL 的 Azure 資料庫或 Azure 虛擬機器 上的資料庫)

下一節說明如何為每個這些元件實作備份和還原策略。

SAP BOBI 安裝目錄的備份與還原

在 Azure 中,備份應用程式伺服器和所有連結磁片最簡單的方式是使用 Azure 備份 。 它提供獨立且隔離的備份,以防範 VM 上資料的意外損毀。 備份會儲存在復原服務保存庫中,並內建管理復原點。 設定和調整很簡單,備份已優化,而且當您需要時,您可以輕鬆地還原。

在備份過程中,會擷取快照集,並將資料傳輸到保存庫,而不會影響生產工作負載。 如需詳細資訊,請參閱 快照集 一致性。 您也可以使用選擇性磁片備份和還原功能,選擇備份 VM 中的資料磁片子集。 如需詳細資訊,請參閱 Azure VM 備份 常見問題 - 備份 Azure VM

檔存放庫伺服器的備份與還原

根據 Linux 上的 SAP BOBI 部署,您可以使用 Azure NetApp Files 作為 SAP BOBI 平臺的檔案存放區。 根據您用於檔案存放區的儲存體,選擇下列備份和還原選項。

  • Azure NetApp Files: 您可以使用快照原則來建立隨選快照集,以及排程自動快照集。 快照集複本會提供磁片區的時間點複本。 如需詳細資訊,請參閱使用 Azure NetApp Files 管理快照集

  • 如果您已建立個別的 NFS 伺服器,請確定您為相同的伺服器實作備份和還原策略。

CMS 和稽核資料庫的備份與還原

在 Linux VM 上,CMS 和稽核資料庫可以在任何支援的資料庫上執行。 如需詳細資訊,請參閱支援矩陣。 請務必根據 CMS 和稽核資料存放區所使用的資料庫,採用備份和還原策略。

  • 適用於 MySQL 的 Azure 資料庫會自動建立伺服器備份,並將其儲存在使用者設定、本地備援或異地備援儲存體中。 適用於 MySQL 的 Azure 資料庫會取得資料檔案和交易記錄的備份。 視支援的儲存體大小上限而定,它接受完整和差異備份(4 TB 最大儲存體伺服器),或快照集備份(最多 16 TB 的儲存體伺服器)。 這些備份可讓您在設定的備份保留期間內的任何時間點還原伺服器。 預設備份保留期限為七天,您可以選擇 性地設定 最多三天。 所有備份都會使用 AES 256 位加密來加密。 這些備份檔案不會公開使用者且無法匯出。 這些備份只能用於適用於 MySQL 的 Azure 資料庫中的還原作業。 您可以使用 mysqldump 來複製資料庫。 如需詳細資訊,請參閱在適用於 MySQL 的 Azure 資料庫中備份與還原

  • 針對安裝在 Azure 虛擬機器上的資料庫,您可以使用標準備份工具或 Azure 備份 支援的資料庫。 您也可以使用支援的協力廠商備份工具,提供代理程式來備份和復原所有 SAP BOBI 平臺元件。

高可用性

高可用性 是指一組技術,可藉由提供應用程式和服務的商務持續性,將 IT 中斷降到最低。 它會透過相同資料中心內的備援、容錯或容錯移轉保護元件來執行此作業。 在我們的案例中,資料中心位於一個 Azure 區域內。 如需詳細資訊,請參閱 SAP 的高可用性架構和案例。

根據 SAP BOBI 平臺的大小調整結果,您需要設計環境,並決定跨 Azure 虛擬機器 和子網散發 BI 元件。 分散式架構中的備援層級取決於您商務所需的復原時間目標 (RTO) 和復原點目標 (RPO)。 SAP BOBI 平臺包含不同的層,而且每個層上的元件都應該設計來達成備援。 例如:

  • 備援應用程式伺服器,例如 BI 應用程式伺服器和 Web 服務器。
  • 唯一的元件,例如 CMS 資料庫、檔案存放庫伺服器和 Load Balancer。

下列各節說明如何在 SAP BOBI 平臺的每個元件上達到高可用性。

應用程式伺服器的高可用性

您可以藉由採用備援來達到應用程式伺服器的高可用性。 若要這樣做,請在各種 Azure VM 中設定多個 BI 和 Web 服務器的實例。

為了減少因 計劃性和非計劃性事件 而造成的停機時間影響,建議您遵循 高可用性架構指引

如需詳細資訊,請參閱 管理 Linux 虛擬機器 的可用性。

重要

  • Azure 可用性區域和 Azure 可用性設定組的概念互斥。 您可以將配對或多個 VM 部署到特定可用性區域或可用性設定組,但無法執行這兩個動作。
  • 如果您打算跨可用性區域部署,建議您在標準可用性區域部署上使用 彈性擴展集與 FD=1

CMS 資料庫的高可用性

如果您針對 CMS 和稽核資料庫使用適用於 MySQL 的 Azure 資料庫,則預設會有本地備援、高可用性架構。 您只需要選取區域,以及服務固有的高可用性、備援和復原功能,而不需要設定任何其他元件。 如果 SAP BOBI 平臺的部署策略跨可用性區域,則您必須確定要為您的 CMS 和稽核資料庫實現區域備援。 如需詳細資訊,請參閱 Azure SQL 資料庫 適用於 MySQL 的 Azure 資料庫 中的高可用性和 高可用性。

如需 CMS 資料庫的其他部署,請參閱 SAP 工作負載 DBMS 部署指南中的 高可用性資訊。

檔案存放區的高可用性

檔案存放區是指儲存報表、宇宙和連線等內容的磁碟目錄。 它會在該系統的所有應用程式伺服器上共用。 因此,您必須確定它是高可用性,以及其他 SAP BOBI 平臺元件。

針對在 Linux 上執行的 SAP BOBI 平臺,您可以選擇 Azure 進階版 Files 或 Azure NetApp Files ,以取得設計為高可用性且具有高度持久性的檔案共用。 如需詳細資訊,請參閱 Azure 檔案儲存體的備援

請注意,此檔案共用服務不適用於所有區域。 請參閱 依區域 提供的產品,以尋找最新的資訊。 如果您的區域無法使用服務,您可以建立 NFS 伺服器,以便將檔案系統共用至 SAP BOBI 應用程式。 但您也需要考慮其高可用性。

Load Balancer 的高可用性

若要將流量分散到 Web 服務器,您可以使用 Azure Load Balancer 或Azure 應用程式閘道。 這其中一項的備援可以根據您選擇的部署 SKU 來達成。

  • 針對 Azure Load Balancer,您可以將標準 Load Balancer 設定為區域備援來達成備援。 如需詳細資訊,請參閱 標準 Load Balancer 和 可用性區域

  • 針對應用程式閘道,您可以根據部署期間選取的階層類型來達成高可用性。

    • 當您部署兩個或多個實例時,v1 SKU 支援高可用性案例。 Azure 會將這些實例分散到更新和容錯網域,以確保實例不會同時失敗。 您可以在區域內實現備援。
    • v2 SKU 會自動確保新的實例分散到容錯網域和更新網域。 如果您選擇區域備援,最新的實例也會分散到可用性區域,以提供區域性失敗復原能力。 如需詳細資訊,請參閱 自動調整和區域備援應用程式閘道 v2

參考 SAP BOBI 平臺的高可用性架構

下圖顯示 Linux 伺服器上執行的 SAP BOBI 平臺設定。 此架構會展示不同服務的用法,例如 Azure 應用程式閘道、Azure NetApp Files 和 適用於 MySQL 的 Azure 資料庫。 這些服務提供內建備援,可降低管理不同高可用性解決方案的複雜性。

請注意,傳入流量 (HTTPS) 使用 Azure 應用程式閘道 v1/v2 SKU 進行負載平衡,在兩個或多個實例上部署時,高可用性。 Web 服務器、管理伺服器和處理伺服器的多個實例會部署在不同的 VM 中,以達到備援。 Azure NetApp Files 在資料中心內具有內建備援,因此檔案存放庫伺服器的 Azure NetApp Files 磁片區將具有高可用性。 CMS 資料庫布建在具有固有高可用性的 適用於 MySQL 的 Azure 資料庫上。 如需詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫中的高可用性

Diagram that shows SAP BusinessObjects BI platform redundancy with availability sets.

上述架構提供 Azure 上 SAP BOBI 部署如何完成的深入解析。 但並未涵蓋所有可能的組態選項。 您可以根據您的商務需求量身打造您的部署。

在數個 Azure 區域中,您可以使用可用性區域。 這表示您可以利用電源、冷卻和網路的獨立供應。 它可讓您跨兩個或三個可用性區域部署應用程式。 如果您想要跨可用性區域達到高可用性,您可以跨這些區域部署 SAP BOBI 平臺,並確定應用程式中的每個元件都是區域備援。

災害復原

本節說明為 Linux 上執行的 SAP BOBI 平臺提供災害復原保護的策略。 其可 補充 SAP 的災害復原檔,其代表整體 SAP 災害復原方法的主要資源。 針對 SAP BOBI,請參閱 SAP 附注 2056228 ,其中說明下列方法可安全地實作災害復原環境。

  • 完整或選擇性地使用生命週期管理或同盟,從主要系統升級和發佈內容。
  • 定期複製 CMS 和檔案存放庫伺服器內容。

本指南著重于第二個選項。 它不會涵蓋災害復原的所有可能組態選項,但會涵蓋與 SAP BOBI 平臺組態搭配使用原生 Azure 服務的解決方案。

重要

  • SAP BOBI 平臺中每個元件的可用性都應該納入次要區域,而且您必須徹底測試整個災害復原策略。
  • 如果您的 SAP BI 平臺設定為具有 FD=1 的彈性擴展集 ,則必須使用 PowerShell 來設定 Azure Site Recovery 以進行災害復原。 目前,它是針對部署在擴展集中的 VM 設定災害復原的唯一方法。

參考 SAP BOBI 平臺的災害復原架構

此參考架構正在執行 SAP BOBI 平臺的多實例部署,並具有備援應用程式伺服器。 針對災害復原,您應該將 SAP BOBI 平臺的所有元件容錯移轉至次要區域。 在下圖中,Azure NetApp Files 會作為檔案存放區使用、適用於 MySQL 的 Azure 資料庫作為 CMS 和稽核存放庫,以及Azure 應用程式閘道作為負載平衡器。 達成每個元件的災害復原保護原則不同,下列各節會說明這些差異。

Diagram that shows SAP BusinessObjects BI platform disaster recovery.

負載平衡器

負載平衡器可用來將流量分散到 SAP BOBI 平臺的 Web 應用程式伺服器。 在 Azure 上,您可以針對此目的使用 Azure Load Balancer 或 Azure 應用程式閘道。 若要達到負載平衡器服務的災害復原,您必須在次要區域實作另一個 Azure Load Balancer 或Azure 應用程式閘道。 若要在災害復原容錯移轉之後保留相同的 URL,您必須變更 DNS 中的專案,指向次要區域上執行的負載平衡服務。

執行 Web 和 BI 應用程式伺服器的 VM

使用 Azure Site Recovery 複寫在次要區域上執行 Web 和 BI 應用程式伺服器的 VM。 它會將伺服器及其所有連結的受控磁片複寫到次要區域,如此一來,當發生災害和中斷時,您可以輕鬆地容錯移轉至複寫的環境並繼續運作。 若要開始將所有 SAP 應用程式 VM 複寫至 Azure 災害復原資料中心,請遵循將虛擬機器複寫至 Azure 中的 指引。

檔案存放庫伺服器

檔案存放區是儲存實際檔案的磁碟目錄,例如報表和 BI 檔。 重要的是,檔案存放區中的所有檔案都會同步至災害復原區域。 根據您在 Linux 上執行的 SAP BOBI 平臺所使用的檔案共用服務類型,需要採用適當的災害復原策略來同步處理內容。

  • Azure NetApp Files 提供 NFS 和 SMB 磁片區,因此您可以使用任何以檔案為基礎的複製工具來複寫 Azure 區域之間的資料。 如需有關如何在另一個區域中複製磁片區的詳細資訊,請參閱 關於 Azure NetApp Files 的常見問題。

    您可以使用 Azure NetApp Files 跨區域複寫,目前處於預覽狀態 。 只有變更的區塊會以壓縮且有效率的格式透過網路傳送。 這樣可將跨區域複寫所需的資料量降到最低,以節省資料傳輸成本。 它也會縮短複寫時間,讓您可以達到較小的 RPO。 如需詳細資訊,請參閱 使用跨區域複 寫的需求和考慮。

  • Azure 進階檔案 僅支援本地備援 (LRS) 和區域備援儲存體 (ZRS)。 針對災害復原策略,您可以使用 AzCopy Azure PowerShell ,將檔案複製到不同區域中的另一個儲存體帳戶。 如需詳細資訊,請參閱 災害復原和儲存體帳戶容錯移轉

    重要

    Azure 檔案儲存體的 SMB 通訊協定已正式推出,但目前預覽Azure 檔案儲存體的 NFS 通訊協定支援。 如需詳細資訊,請參閱 NFS 4.1 對 Azure 檔案儲存體的支援現已處於預覽狀態

CMS 資料庫

災害復原區域中的 CMS 和稽核資料庫必須是在主要區域中執行的資料庫複本。 根據資料庫類型,請務必根據業務需求的 RTO 和 RPO,將資料庫複製到災害復原區域。

適用於 MySQL 的 Azure 資料庫

適用於 MySQL 的 Azure 資料庫提供多個選項,以在發生災害時復原資料庫。 選擇適合您企業的適當選項。

  • 啟用跨區域讀取複本,以增強商務持續性和災害復原規劃。 您可以從來源伺服器複寫到最多五個複本。 讀取複本會使用 MySQL 的二進位記錄複寫技術,以非同步方式更新。 複本是您管理的新伺服器,類似于 適用於 MySQL 的 Azure 資料庫 中的一般伺服器。 如需詳細資訊,請參閱 讀取 適用於 MySQL 的 Azure 資料庫中的複本。

  • 使用異地還原功能,使用異地備援備份來還原伺服器。 即使伺服器裝載所在的區域已離線,仍可存取這些備份。 您可以從這些備份還原到任何其他區域,並將您的伺服器重新上線。

    注意

    只有在您使用異地備援備份儲存體布建伺服器時,才能進行異地還原。 不支援在建立伺服器之後變更 備份備援選項 。 如需詳細資訊,請參閱 備份備援

下表顯示此範例中所使用之每一層的災害復原建議。

SAP BOBI 平台層 建議
Azure 應用程式閘道 次要區域上應用程式閘道的平行設定。
Web 應用程式伺服器 使用 Azure Site Recovery 進行複寫。
BI 應用程式伺服器 使用 Site Recovery 進行複寫。
Azure NetApp Files 以檔案為基礎的複製工具,將資料複寫至次要區域,或使用跨區域複寫。
適用於 MySQL 的 Azure 資料庫 跨區域讀取複本,或從異地備援備份還原備份。

下一步