Ketersediaan tinggi SAP Hana skala-keluar sistem di Red Hat Enterprise Linux

Artikel ini menjelaskan cara menerapkan sistem SAP HANA yang sangat tersedia dalam konfigurasi peluasan skala. Secara khusus, konfigurasi menggunakan replikasi sistem HANA (HSR) dan Pacemaker pada komputer virtual (VM) Red Hat Enterprise Linux Azure. Sistem file bersama dalam arsitektur yang disajikan dipasang NFS dan disediakan oleh Azure NetApp Files atau berbagi NFS di Azure Files.

Dalam contoh konfigurasi dan perintah pemasangan, instans HANA adalah 03 dan ID sistem HANA adalah HN1.

Prasyarat

Beberapa pembaca akan mendapat manfaat dari konsultasi berbagai catatan SAP dan sumber daya sebelum melangkah lebih lanjut dengan topik dalam artikel ini:

Gambaran Umum

Untuk mencapai ketersediaan HANA yang tinggi untuk pemasangan peluasan skala HANA, Anda dapat mengonfigurasi replikasi sistem HANA, dan melindungi solusi dengan kluster Pacemaker untuk memungkinkan failover otomatis. Ketika simpul aktif gagal, kluster gagal atas sumber daya Hana ke situs lain.

Dalam diagram berikut, ada tiga node HANA di setiap situs, dan node pembuat mayoritas untuk mencegah skenario "split-brain". Instruksi dapat disesuaikan untuk memasukkan lebih banyak VM sebagai node HANA DB.

Sistem file bersama HANA /hana/shared dalam arsitektur yang disajikan dapat disediakan oleh Azure NetApp Files atau berbagi NFS pada Azure Files. Sistem file bersama HANA adalah NFS yang dipasang pada setiap node HANA di situs replikasi sistem HANA yang sama. Sistem file /hana/data dan /hana/log merupakan sistem file lokal dan tidak dibagikan antara node HANA DB. SAP Hana akan dipasang dalam mode tidak berbagi.

Untuk konfigurasi penyimpanan SAP HANA yang direkomendasikan, lihat konfigurasi penyimpanan SAP Hana Azure VM.

Penting

Jika menyebarkan semua sistem file HANA di Azure NetApp Files, untuk sistem produksi, di mana performa adalah kunci, sebaiknya evaluasi dan pertimbangkan untuk menggunakan grup volume aplikasi Azure NetApp Files untuk SAP Hana.

Diagram of SAP HANA scale-out with HSR and Pacemaker cluster.

Diagram sebelumnya menunjukkan tiga subnet yang diwakili dalam satu jaringan virtual Azure, mengikuti rekomendasi jaringan SAP HANA:

  • Untuk komunikasi klien: client 10.23.0.0/24
  • Untuk komunikasi antar node HANA internal: inter 10.23.1.128/26
  • Untuk replikasi sistem HANA: hsr 10.23.1.192/26

Karena /hana/data dan /hana/log digunakan pada disk lokal, tidak perlu menyebarkan subnet terpisah dan memisahkan kartu jaringan virtual untuk komunikasi ke penyimpanan.

Jika Anda menggunakan Azure NetApp Files, volume NFS untuk /hana/shared, disebarkan dalam subnet terpisah, didelegasikan ke Azure NetApp Files: anf 10.23.1.0/26.

Menyiapkan infrastruktur

Pada instruksi berikutnya, kami asumsikan bahwa Anda telah membuat grup sumber, jaringan virtual Azure, dan tiga subnet jaringan Azure:client, inter dan hsr.

Sebarkan komputer virtual Linux melalui portal Microsoft Azure

  1. Menyebarkan Azure VM. Untuk konfigurasi ini, gunakan tujuh komputer virtual:

    • Tiga komputer virtual untuk berfungsi sebagai node HANA DB untuk situs replikasi HANA 1:hana-s1-db1, hana-s1-db2 dan hana-s1-db3.
    • Tiga komputer virtual untuk berfungsi sebagai node HANA DB untuk situs replikasi Hana 2:hana-s2-db1, hana-s2-db2 dan hana-s2-db3.
    • Komputer virtual kecil untuk berfungsi sebagai pembuat mayoritas: hana-s-mm.

    VM yang digunakan sebagai node SAP DB HANA harus disertifikasi oleh SAP untuk HANA, seperti yang diterbitkan dalam direktori perangkat keras SAP HANA. Saat Anda menerapkan node HANA DB, pastikan untuk memilih jaringan yang dipercepat.

    Untuk node pembuat mayoritas, Anda dapat menerapkan VM kecil, karena VM ini tidak menjalankan sumber daya SAP HANA. VM Pembuat mayoritas digunakan dalam konfigurasi kluster untuk mencapai jumlah node kluster yang ganjil dalam skenario split-brain. VM pembuat mayoritas hanya membutuhkan satu antarmuka jaringan virtual di client subnet dalam contoh ini.

    Terapkan disk terkelola lokal untuk /hana/data dan/hana/log. Konfigurasi penyimpanan minimum yang direkomendasikan untuk /hana/data dan /hana/log dijelaskan dalam konfigurasi penyimpanan SAP Hana Azure VM.

    Gunakan antarmuka jaringan utama untuk setiap VM di client subnet jaringan virtual. Ketika VM digunakan melalui portal Azure, nama antarmuka jaringan secara otomatis dihasilkan. Pada artikel ini, kita akan merujuk pada antarmuka jaringan utama yang dihasilkan secara otomatis sebagai hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client, dan sebagainya. Antarmuka jaringan ini melekat pada subnet jaringan virtual Azure client.

    Penting

    Pastikan bahwa sistem operasi yang Anda pilih bersertifikat SAP untuk SAP HANA pada tipe VM tertentu yang Anda gunakan. Untuk daftar jenis VM bersertifikat SAP HANA dan rilisan OS untuk jenis tersebut, buka situsplatform IaaS bersertifikat SAP HANA. Perdalam ke rincian jenis VM yang terdaftar untuk mendapatkan daftar lengkap rilisan sistem operasi SAP HANA yang didukung untuk jenis tersebut.

  2. Buat enam antarmuka jaringan, satu untuk setiap komputer virtual Hana DB, dalam inter subnet jaringan virtual (dalam contoh ini, hana-s1-db1-inter, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter, dan hana-s2-db3-inter).

  3. Buat enam antarmuka jaringan, satu untuk setiap komputer virtual Hana DB, dalam hsr subnet jaringan virtual (dalam contoh ini, hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr, dan hana-s2-db3-hsr).

  4. Melampirkan antarmuka jaringan virtual yang baru dibuat ke komputer virtual yang sesuai:

    1. Buka komputer virtual Anda di portal Azure.
    2. Pada panel kiri, pilih Virtual Machines. Filter pada nama komputer virtual (misalnya, hana-s1-db1), dan lalu pilih komputer virtual.
    3. Di panel Gambaran Umum, pilih Hentikan untuk membatalkan alokasi komputer virtual.
    4. Pilih Penjaringan, lalu lampirkan antarmuka jaringan. Dalam daftar drop-down Lampirkan antarmuka jaringan, pilih antarmuka jaringan yang sudah dibuat untuk subnet inter dan hsr.
    5. Pilih Simpan.
    6. Ulangi langkah b hingga e untuk komputer virtual yang tersisa (dalam contoh kami, hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 dan hana-s2-db3)
    7. Biarkan komputer virtual dalam keadaan berhenti untuk saat ini.
  5. Aktifkan jaringan yang dipercepat untuk antarmuka jaringan tambahan untuk subnet inter dan hsr dengan melakukan hal berikut:

    1. Buka Azure Cloud Shell di portal Azure.

    2. Jalankan perintah berikut untuk mengaktifkan jaringan yang dipercepat untuk antarmuka jaringan tambahan, yang terlampir di subnet inter dan hsr.

      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-inter --accelerated-networking true
      
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-hsr --accelerated-networking true
      
  6. Menghidupkan komputer virtual HANA DB.

Mengonfigurasi load balancer Azure

Selama konfigurasi VM, Anda memiliki opsi untuk membuat atau memilih keluar dari load balancer di bagian jaringan. Ikuti langkah-langkah di bawah ini, untuk menyiapkan load balancer standar untuk penyiapan ketersediaan tinggi database HANA.

Catatan

  • Untuk peluasan skala HANA, pilih NIC untuk client subnet saat menambahkan komputer virtual di kumpulan backend.
  • Sekumpulan perintah lengkap di Azure CLI dan PowerShell menambahkan VM dengan NIC utama di kumpulan backend.

Ikuti langkah-langkah dalam Membuat load balancer untuk menyiapkan load balancer standar untuk sistem SAP ketersediaan tinggi dengan menggunakan portal Azure. Selama penyiapan load balancer, pertimbangkan poin-poin berikut:

  1. Konfigurasi IP Frontend: Buat IP front-end. Pilih jaringan virtual dan nama subnet yang sama dengan komputer virtual database Anda.
  2. Kumpulan Backend: Buat kumpulan back-end dan tambahkan VM database.
  3. Aturan masuk: Buat aturan penyeimbangan beban. Ikuti langkah yang sama untuk kedua aturan penyeimbangan beban.
    • Alamat IP frontend: Pilih IP front-end.
    • Kumpulan backend: Pilih kumpulan back-end.
    • Port ketersediaan tinggi: Pilih opsi ini.
    • Protokol: Pilih TCP.
    • Pemeriksaan Kesehatan: Buat pemeriksaan kesehatan dengan detail berikut:
      • Protokol: Pilih TCP.
      • Port: Misalnya, 625<instance-no.>.
      • Interval: Masukkan 5.
      • Ambang Probe: Masukkan 2.
    • Batas waktu menganggur (menit): Masukkan 30.
    • Aktifkan IP Mengambang: Pilih opsi ini.

Catatan

Properti numberOfProbeskonfigurasi pemeriksaan kesehatan , atau dikenal sebagai Ambang tidak sehat di portal, tidak dihormati. Untuk mengontrol jumlah pemeriksaan berturut-turut yang berhasil atau gagal, atur properti probeThreshold ke 2. Saat ini tidak dimungkinkan untuk mengatur properti ini dengan menggunakan portal Azure, jadi gunakan perintah Azure CLI atau PowerShell.

Penting

Floating IP tidak didukung pada konfigurasi IP sekunder NIC dalam skenario penyeimbangan beban. Untuk detailnya, lihat batasan Azure Load Balancer. Jika Anda memerlukan alamat IP tambahan untuk komputer virtual, sebarkan NIC kedua.

Catatan

Ketika Anda menggunakan penyeimbang beban standar, Anda harus menyadari keterbatasan berikut. Ketika Anda menempatkan VM tanpa alamat IP publik di kumpulan back-end dari penyeimbang beban internal, tidak ada konektivitas internet keluar. Untuk memungkinkan perutean ke titik akhir publik, Anda perlu melakukan konfigurasi tambahan. Untuk informasi selengkapnya, lihat Konektivitas titik akhir publik untuk Virtual Machines menggunakan Azure Standard Load Balancer pada skenario ketersediaan tinggi SAP.

Penting

Jangan aktifkan tanda waktu TCP pada VM Azure yang ditempatkan di belakang Azure Load Balancer. Mengaktifkan tanda waktu TCP akan menyebabkan pemeriksaan kesehatan gagal. Atur parameter net.ipv4.tcp_timestamps ke 0. Untuk detailnya, lihat Pemeriksaan kesehatan Load Balancer dan catatan SAP 2382421.

Menyebarkan NFS

Ada dua opsi untuk menyebarkan NFS asli Azure untuk /hana/shared. Anda dapat menyebarkan volume NFS di Azure NetApp Files atau berbagi NFS di Azure Files. File Azure mendukung protokol NFSv4.1, NFS pada file Azure NetApp mendukung NFSv4.1 dan NFSv3.

Bagian berikutnya menjelaskan langkah-langkah untuk menyebarkan NFS - Anda hanya perlu memilih salah satu opsi.

Tip

Anda memilih untuk menyebarkan /hana/shared pada berbagi NFS pada Azure Files atau volume NFS pada Azure NetApp Files.

Menyebarkan infrastruktur Azure NetApp Files

Terapkan volume Azure NetApp Files untuk sistem file /hana/shared. Anda akan memerlukan volume /hana/shared terpisah untuk setiap situs replikasi sistem HANA. Untuk informasi selengkapnya, lihat Siapkan infrastruktur Azure NetApp Files.

Dalam contoh ini, Anda menggunakan volume Azure NetApp Files berikut:

  • volume HN1-shared-s1 (nfs://10.23.1.7/HN1-shared-s1)
  • volume HN1-shared-s2 (nfs://10.23.1.7/HN1-shared-s2)

Menyebarkan NFS pada infrastruktur Azure Files

Sebarkan berbagi NFS Azure Files untuk sistem file /hana/shared. Anda memerlukan berbagi NFS Azure Files terpisah /hana/shared untuk setiap situs replikasi sistem HANA. Untuk informasi selengkapnya, lihat Cara membuat berbagi NFS.

Dalam contoh ini, berbagi NFS Azure Files berikut ini digunakan:

  • berbagi hn1-shared-s1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
  • berbagi hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2)

Mengonfigurasi dan persiapan sistem operasi

Instruksi di bagian berikutnya diawali dengan salah satu singkatan berikut ini:

  • [A]: Berlaku untuk semua simpul
  • [AH]: Berlaku untuk semua node HANA DB
  • [M]: Berlaku untuk simpul pembuat node
  • [AH1]: Berlaku untuk semua node HANA DB pada SITE 1
  • [AH2]: Berlaku untuk semua node HANA DB pada SITE 2
  • [1]: Hanya berlaku untuk node HANA DB 1, SITE 1
  • [2]: Hanya berlaku untuk node HANA DB 1, SITE 2

Konfigurasikan dan siapkan sistem operasi Anda dengan melakukan hal berikut:

  1. [A] Pertahankan file host pada komputer virtual. Sertakan entri untuk semua subnet. Entri berikut ini ditambahkan ke /etc/hosts untuk contoh ini.

    # Client subnet
    10.23.0.11 hana-s1-db1
    10.23.0.12 hana-s1-db1
    10.23.0.13 hana-s1-db2
    10.23.0.14 hana-s2-db1
    10.23.0.15 hana-s2-db2
    10.23.0.16 hana-s2-db3
    10.23.0.17 hana-s-mm
    # Internode subnet
    10.23.1.138 hana-s1-db1-inter
    10.23.1.139 hana-s1-db2-inter
    10.23.1.140 hana-s1-db3-inter
    10.23.1.141 hana-s2-db1-inter
    10.23.1.142 hana-s2-db2-inter
    10.23.1.143 hana-s2-db3-inter
    # HSR subnet
    10.23.1.202 hana-s1-db1-hsr
    10.23.1.203 hana-s1-db2-hsr
    10.23.1.204 hana-s1-db3-hsr
    10.23.1.205 hana-s2-db1-hsr
    10.23.1.206 hana-s2-db2-hsr
    10.23.1.207 hana-s2-db3-hsr
    
  2. [A] Buat file konfigurasi /etc/sysctl.d/ms-az.conf dengan pengaturan konfigurasi Microsoft untuk Azure.

    vi /etc/sysctl.d/ms-az.conf
    
    # Add the following entries in the configuration file
    
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv4.tcp_max_syn_backlog = 16348
    net.ipv4.conf.all.rp_filter = 0
    sunrpc.tcp_slot_table_entries = 128
    vm.swappiness=10
    

    Tip

    Hindari pengaturan net.ipv4.ip_local_port_range dan net.ipv4.ip_local_reserved_ports secara eksplisit dalam file konfigurasi sysctl, untuk memungkinkan agen host SAP untuk mengelola rentang port. Untuk detail lebih lanjut, lihat catatan SAP 2382421.

  3. [A] Pasang paket klien NFS.

    yum install nfs-utils
    
  4. [A] Konfigurasi Red Hat untuk Hana.

    Konfigurasikan RHEL, seperti yang dijelaskan di portal pelanggan Red Hat dan dalam catatan SAP berikut:

Menyiapkan sistem file

Bagian berikut memberikan langkah-langkah untuk persiapan sistem file Anda. Anda memilih untuk menyebarkan /hana/shared' di berbagi NFS di Azure Files atau volume NFS di Azure NetApp Files.

Memasang sistem file bersama (NFS Azure NetApp Files)

Dalam contoh ini, sistem file HANA bersama disebarkan di Azure NetApp Files dan dipasang di NFSv4.1. Ikuti langkah-langkah di bagian ini, hanya jika Anda menggunakan NFS di Azure NetApp Files.

  1. [AH] Siapkan OS untuk menjalankan SAP Hana di Sistem NetApp dengan NFS, seperti yang dijelaskan dalam catatan SAP 3024346 - Linux Kernel Pengaturan untuk NetApp NFS. Buat file konfigurasi /etc/sysctl.d/91-NetApp-HANA.conf untuk pengaturan konfigurasi NetApp.

    vi /etc/sysctl.d/91-NetApp-HANA.conf
    
    # Add the following entries in the configuration file
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 131072 16777216
    net.ipv4.tcp_wmem = 4096 16384 16777216
    net.core.netdev_max_backlog = 300000
    net.ipv4.tcp_slow_start_after_idle=0
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_sack = 1
    
  2. [AH] Sesuaikan pengaturan sunrpc, seperti yang direkomendasikan dalam catatan SAP 3024346 - Linux Kernel Pengaturan untuk NetApp NFS.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    
  3. [A] Buat titik pemasangan untuk volume database Hana.

    mkdir -p /hana/shared
    
  4. [AH] Verifikasi setelan domain NFS. Pastikan domain dikonfigurasi sebagai domain Azure NetApp Files default: defaultv4iddomain.com. Pastikan pemetaan diatur ke nobody.
    (Langkah ini hanya diperlukan jika Anda menggunakan Azure NetAppFiles NFS v4.1.)

    Penting

    Pastikan untuk menyetel domain NFS di /etc/idmapd.conf pada VM agar sesuai dengan konfigurasi domain default di Azure NetApp Files: defaultv4iddomain.com. Jika ada ketidakcocokan antara konfigurasi domain pada klien NFS dan server NFS, izin untuk file pada volume Azure NetApp yang dipasang pada VM akan ditampilkan sebagai nobody.

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  5. [AH] Verifikasi nfs4_disable_idmapping. Harus diatur ke Y. Untuk membuat struktur direktori tempat nfs4_disable_idmapping berada, jalankan perintah pemasangan. Anda tidak akan dapat membuat direktori secara manual di bagian /sys/modules, karena akses disediakan untuk kernel atau driver.
    Langkah ini hanya diperlukan, jika menggunakan Azure NetAppFiles NFSv4.1.

    # 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 10.9.0.4:/HN1-shared /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
    

    Untuk informasi selengkapnya tentang cara mengubah parameter nfs4_disable_idmapping, lihat portal pelanggan Red Hat.

  6. [AH1] Pasang volume Azure NetApp Files berbagi di SITE1 HANA DB VM.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
    
  7. [AH2] Pasang volume Azure NetApp Files berbagi di VM SITE2 Hana DB.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
    
  8. [AH] Verifikasi bahwa sistem file /hana/shared/ yang sesuai dipasang pada semua VM HANA DB, dengan versi protokol NFS NFSv4.

    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from SITE 1, hana-s1-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7
    # Example from SITE 2, hana-s2-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s2
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
    

Memasang sistem file bersama (NFS Azure Files)

Dalam contoh ini, sistem file HANA bersama disebarkan di NFS pada Azure Files. Ikuti langkah-langkah di bagian ini, hanya jika Anda menggunakan NFS di Azure Files.

  1. [A] Buat titik pemasangan untuk volume database Hana.

    mkdir -p /hana/shared
    
  2. [AH1] Pasang volume Azure NetApp Files berbagi di SITE1 HANA DB VM.

    sudo vi /etc/fstab
    # Add the following entry
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  3. [AH2] Pasang volume Azure NetApp Files berbagi di VM SITE2 Hana DB.

    sudo vi /etc/fstab
    # Add the following entries
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  4. [AH] Verifikasi bahwa sistem file /hana/shared/ yang sesuai telah dipasang pada semua mesin virtual HANA DB dengan protokol NFS versi NFSv4.1.

    sudo nfsstat -m
    # Example from SITE 1, hana-s1-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
    # Example from SITE 2, hana-s2-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
    

Menyiapkan data dan catat sistem file lokal

Dalam konfigurasi yang disajikan, Anda menerapkan sistem file /hana/data dan /hana/log pada disk terkelola, dan Anda melampirkan sistem file ini secara lokal ke setiap VM HANA DB. Anda harus menjalankan langkah-langkah untuk membuat data lokal dan mencatat volume pada setiap komputer virtual HANA DB.

Siapkan tata letak disk dengan Logical Volume Manager (LVM). Contoh berikut mengasumsikan bahwa setiap komputer virtual HANA memiliki tiga disk data yang terpasang, dan bahwa disk ini digunakan untuk membuat dua volume.

  1. [AH] Cantumkan semua disk yang tersedia:

    ls /dev/disk/azure/scsi1/lun*
    

    Contoh output:

    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2 
    
  2. [AH] Buat volume fisik untuk semua disk yang ingin Anda gunakan:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    
  3. [AH] Buat grup volume untuk file data. Gunakan satu grup volume untuk file log dan satu untuk direktori bersama SAP Hana:

    sudo vgcreate vg_hana_data_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
    sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
    
  4. [AH] Buat volume logis. Volume linier dibuat saat Anda menggunakan lvcreate tanpa pengalih -i. Kami sarankan Anda membuat volume bergaris untuk kinerja I/O yang lebih baik. Ratakan ukuran garis ke nilai yang didokumentasikan dalam konfigurasi penyimpanan VM SAP HANA. Argumen -i harus berupa jumlah volume fisik yang mendasarinya dan argumen -I adalah ukuran garis. Pada artikel ini, dua volume fisik digunakan untuk volume data, sehingga argumen pengalih -i diatur ke 2. Ukuran garis untuk volume data adalah 256 KiB. Satu volume fisik digunakan untuk volume log, sehingga Anda tidak perlu menggunakan pengalih eksplisit -i atau -I untuk perintah volume log.

    Penting

    Gunakan pengalih -i, dan atur ke jumlah volume fisik yang mendasarinya, ketika Anda menggunakan lebih dari satu volume fisik untuk setiap data atau volume log. Gunakan pengalih -I untuk menentukan ukuran garis saat Anda membuat volume bergaris. Lihat konfigurasi penyimpanan komputer virtual SAP Hana untuk konfigurasi penyimpanan yang disarankan, termasuk ukuran garis dan jumlah disk.

    sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1
    sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1
    sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    
  5. [AH] Buat direktori pasang dan salin UUID dari semua volume logis:

    sudo mkdir -p /hana/data/HN1
    sudo mkdir -p /hana/log/HN1
    # Write down the ID of /dev/vg_hana_data_HN1/hana_data and /dev/vg_hana_log_HN1/hana_log
    sudo blkid
    
  6. [AH]Buatfstab entri untuk volume logis dan pasang:

    sudo vi /etc/fstab
    

    Sisipkan baris berikut dalam file /etc/fstab:

    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_data_HN1-hana_data /hana/data/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_log_HN1-hana_log /hana/log/HN1 xfs  defaults,nofail  0  2
    

    Pasang volume baru:

    sudo mount -a
    

Penginstalan

Dalam contoh ini untuk menerapkan SAP HANA dalam konfigurasi peluasan skala dengan HSR pada Azure VM, Anda menggunakan HANA 2.0 SP4.

Bersiap untuk penginstalan Hana

  1. [AH] Sebelum penginstalan Hana, atur kata sandi akar. Anda dapat menonaktifkan kata sandi akar setelah penginstalan selesai. Jalankan sebagai root perintah passwd untuk mengatur kata sandi.

  2. [1,2] Ubah izin pada /hana/shared.

    chmod 775 /hana/shared
    
  3. [1] Verifikasi bahwa Anda dapat masuk ke hana-s1-db2 dan hana-s1-db3 melalui secure shell (SSH), tanpa dimintai kata sandi. Jika bukan itu masalahnya, tukarkan kunci ssh, seperti yang didokumentasikan dalam Menggunakan autentikasi berbasis kunci.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Verifikasi bahwa Anda dapat masuk ke hana-s2-db2 dan hana-s2-db3 melalui SSH, tanpa dimintai kata sandi. Jika bukan itu masalahnya, tukarkan kunci ssh, seperti yang didokumentasikan dalam Menggunakan autentikasi berbasis kunci.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH]Pasang paket tambahan, yang diperlukan untuk Hana 2.0 SP4. Untuk informasi selengkapnya, lihat Catatan SAP2593824untuk RHEL 7.

    # If using RHEL 7
    yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1
    # If using RHEL 8
    yum install libatomic libtool-ltdl.x86_64
    
  6. [A] Nonaktifkan firewall untuk sementara, sehingga tidak mengganggu penginstalan Hana. Anda dapat mengaktifkannya kembali, setelah pemasangan Hana selesai.

    # Execute as root
    systemctl stop firewalld
    systemctl disable firewalld
    

Instalasi HANA pada simpul pertama di setiap situs

  1. [1] Pasang SAP Hana dengan mengikuti instruksi pada Panduan pemasangan dan pembaruan SAP Hana 2.0. Instruksi berikut menunjukkan pemasangan SAP HANA pada node pertama di SITE 1.

    1. Mulai program hdblcm sebagai root dari direktori perangkat lunak pemasangan HANA. Gunakan parameter internal_network dan lewati kolom alamat untuk subnet, yang digunakan untuk komunikasi antar node HANA secara internal.

      ./hdblcm --internal_network=10.23.1.128/26
      
    2. Saat diminta, masukkan nilai berikut:

      • Untuk Memilih tindakan, masukkan 1 (untuk memasang).
      • Untuk komponen tambahan pemasangan, masukkan 2, 3.
      • Untuk jalur pemasangan, tekan Enter (default ke /hana/shared).
      • Untuk Nama Host Lokal, tekan Enter untuk menerima nama default.
      • Untuk Apakah Anda ingin menambahkan host ke sistem?, Masukkan n.
      • Untuk ID Sistem SAP HANA: masukkan HN1.
      • Untuk Nomor Instans [00], masukkan 03.
      • Untuk Grup Pekerja Host Lokal [default], tekan Enter untuk menerima default.
      • Untuk Pilih Penggunaan Sistem / Masukkan indeks [4], masukkan 4 (untuk kustom).
      • Untuk Lokasi Volume Data [/hana/data/HN1], tekan Enter untuk menerima default.
      • Untuk Lokasi Volume Log [/hana/log/HN1], tekan Enter untuk menerima default.
      • Untuk Batasi alokasi memori maksimum? [n], masukkan n.
      • Untuk Nama Host Sertifikat untuk Host hana-s1-db1 [hana-s1-db1], tekan Enter untuk menerima default.
      • Untuk Kata Sandi Pengguna Agen Host SAP (sapadm), masukkan kata sandi.
      • Untuk Konfirmasi Kata Sandi Pengguna Agen Host SAP (sapadm), masukkan kata sandi.
      • Untuk Kata Sandi Administrator Sistem (hn1adm), masukkan kata sandi.
      • Untuk Direktori Beranda Administrator Sistem [/usr/sap/HN1/home], tekan Enter untuk menerima default.
      • Untuk Shell masuk Administrator Sistem [/bin/sh], tekan Enter untuk menerima default.
      • Untuk ID Pengguna Administrator Sistem [1001], tekan Enter untuk menerima default.
      • Untuk Masukkan ID Grup Pengguna (sapsys) [79], tekan Enter untuk menerima default.
      • Untuk Kata Sandi Pengguna Database Sistem (sistem), masukkan kata sandi sistem.
      • Untuk Konfirmasi Kata Sandi Pengguna Database Sistem (sistem), masukkan kata sandi sistem.
      • Untuk Hidupkan ulang sistem setelah komputer di-boot ulang? [n]: masukkan n.
      • Untuk Apakah Anda ingin melanjutkan (y/n), validasi ringkasan dan jika semuanya terlihat bagus, masukkan y.
  2. [2] Ulangi langkah sebelumnya untuk memasang SAP Hana pada simpul pertama di SITE 2.

  3. [1,2] Verifikasi global.ini.

    Tampilkan global.ini, dan pastikan bahwa konfigurasi komunikasi antar node SAP HANA internal sudah ada. Verifikasi bagian communication. Bagian ini harus memiliki ruang alamat untuk inter subnet, dan listeninterface harus diatur ke .internal. Verifikasi bagian internal_hostname_resolution. Bagian ini harus memiliki alamat IP untuk mesin virtual HANA milik subnet inter.

      sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      # Example from SITE1 
      [communication]
      internal_network = 10.23.1.128/26
      listeninterface = .internal
      [internal_hostname_resolution]
      10.23.1.138 = hana-s1-db1
      10.23.1.139 = hana-s1-db2
      10.23.1.140 = hana-s1-db3
    
  4. [1,2] Siapkan global.ini untuk instalasi di lingkungan yang tidak digunakan bersama, seperti yang dijelaskan dalam catatan SAP 2080991.

     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     [persistence]
     basepath_shared = no
    
  5. [1,2] Mulai ulang SAP HANA untuk mengaktifkan perubahan.

     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem
    
  6. [1,2] Verifikasi bahwa antarmuka klien menggunakan alamat IP dari subnet client untuk komunikasi.

    # Execute as hn1adm
    /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
    # Expected result - example from SITE 2
    "hana-s2-db1","net_publicname","10.23.0.14"
    

    Untuk informasi tentang cara memverifikasi konfigurasi, lihat catatan SAP 2183363 - Konfigurasi jaringan internal SAP HANA.

  7. [AH] Ubah izin pada direktori data dan log untuk menghindari kesalahan pemasangan HANA.

     sudo chmod o+w -R /hana/data /hana/log
    
  8. [1] Pasang simpul Hana sekunder. Instruksi contoh dalam langkah ini adalah untuk SITE 1.

    1. Mulai program residen hdblcm sebagai root.

       cd /hana/shared/HN1/hdblcm
       ./hdblcm 
      
    2. Saat diminta, masukkan nilai berikut:

      • Untuk Pilih tindakan, masukkan 2 (untuk menambahkan host).
      • Untuk Masukkan nama host yang dipisahkan oleh koma untuk menambahkan, masukkan hana-s1-db2, hana-s1-db3.
      • Untuk komponen tambahan pemasangan, masukkan 2, 3.
      • Untuk Masukkan Nama Pengguna Root [root], tekan Enter untuk menerima default.
      • Untuk Pilih peran untuk host 'hana-s1-db2' [1], pilih 1 (untuk pekerja).
      • Untuk Masukkan Grup Failover Host untuk host 'hana-s1-db2' [default], tekan Enter untuk menerima default.
      • Untuk Masukkan Nomor Partisi Storage untuk host 'hana-s1-db2' [<<tetapkan secara otomatis>>], tekan Enter untuk menerima default.
      • UntukMasukkan Grup Pekerja untuk host ’hana-s1-db2’ [default], tekan Enter untuk menerima default.
      • Untuk Pilih peran untuk host 'hana-s1-db3' [1], pilih 1 (untuk pekerja).
      • Untuk Masukkan Grup Failover Host untuk host ’hana-s1-db3’ [default], tekan Enter untuk menerima default.
      • Untuk Masukkan Nomor Partisi Storage untuk host 'hana-s1-db3' [<<tetapkan secara otomatis>>], tekan Enter untuk menerima default.
      • UntukMasukkan Grup Pekerja untuk host ’hana-s1-db3’ [default], tekan Enter untuk menerima default.
      • Untuk Kata Sandi Administrator Sistem (hn1adm), masukkan kata sandi.
      • Untuk Masukan Kata Sandi Pengguna Agen Host SAP (sapadm), masukkan kata sandi.
      • Untuk Konfirmasi Kata Sandi Pengguna Agen Host SAP (sapadm), masukkan kata sandi.
      • Untuk Nama Host Sertifikat untuk Host hana-s1-db2 [hana-s1-db2], tekan Enter untuk menerima default.
      • Untuk Nama Host Sertifikat Untuk Host hana-s1-db3 [hana-s1-db3], tekan Enter untuk menerima default.
      • Untuk Apakah Anda ingin melanjutkan (y/n), validasi ringkasan dan jika semuanya terlihat bagus, masukkan y.
  9. [2] Ulangi langkah sebelumnya untuk memasang simpul SAP Hana sekunder di SITE 2.

Mengonfigurasi replikasi Sistem SAP Hana 2.0

Langkah-langkah berikut ini menunjukkan cara menyiapkan replikasi sistem:

  1. [1] Mengonfigurasikan replikasi sistem di SITE 1:

    Mencadangkan database sebagai adm hn1:

    hdbsql -d SYSTEMDB -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')"
    hdbsql -d HN1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
    

    Salin file PKI sistem ke situs sekunder:

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

    Buat situs utama:

    hdbnsutil -sr_enable --name=HANA_S1
    
  2. [2] Mengonfigurasikan replikasi sistem di SITE 2:

    Daftarkan situs kedua untuk memulai replikasi sistem. Jalankan perintah berikut sebagai <hanasid>adm:

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2
    sapcontrol -nr 03 -function StartSystem
    
  3. [1] Periksa status replikasi dan tunggu sampai semua database disinkronkan.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
    # | Database | Host          | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary     | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
    # |          |               |       |              |           |         |           | Host          | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
    # | -------- | ------------- | ----- | ------------ | --------- | ------- | --------- | ------------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    # | HN1      | hana-s1-db3   | 30303 | indexserver  |         5 |       1 | HANA_S1   | hana-s2-db3   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | SYSTEMDB | hana-s1-db1   | 30301 | nameserver   |         1 |       1 | HANA_S1   | hana-s2-db1   |     30301 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db1   | 30307 | xsengine     |         2 |       1 | HANA_S1   | hana-s2-db1   |     30307 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db1   | 30303 | indexserver  |         3 |       1 | HANA_S1   | hana-s2-db1   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db2   | 30303 | indexserver  |         4 |       1 | HANA_S1   | hana-s2-db2   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #
    # status system replication site "2": ACTIVE
    # overall system replication status: ACTIVE
    #
    # Local System Replication State
    #
    # mode: PRIMARY
    # site id: 1
    # site name: HANA_S1
    
  4. [1,2] Ubah konfigurasi HANA sehingga komunikasi untuk replikasi sistem HANA diarahkan melalui sistem replikasi antarmuka jaringan virtual HANA.

    1. Hentikan HANA di kedua situs.

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    2. Edit global.ini untuk menambahkan pemetaan host untuk replikasi sistem HANA. Gunakan alamat IP dari subnet hsr.

      sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      #Add the section
      [system_replication_hostname_resolution]
      10.23.1.202 = hana-s1-db1
      10.23.1.203 = hana-s1-db2
      10.23.1.204 = hana-s1-db3
      10.23.1.205 = hana-s2-db1
      10.23.1.206 = hana-s2-db2
      10.23.1.207 = hana-s2-db3
      
    3. Mulai HANA di kedua situs.

       sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
      

    Untuk informasi selengkapnya, lihat Resolusi nama host untuk replikasi sistem.

  5. [AH] Aktifkan kembali firewall dan buka port yang diperlukan.

    1. Aktifkan kembali firewall.

      # Execute as root
      systemctl start firewalld
      systemctl enable firewalld
      
    2. Buka port firewall yang diperlukan. Anda perlu menyesuaikan port untuk nomor instans Hana Anda.

      Penting

      Buat aturan firewall untuk memungkinkan komunikasi antar node HANA dan lalu lintas klien. Port yang diperlukan tercantum pada port TCP/IP dari semua produk SAP. Perintah berikut hanyalah contoh. Dalam skenario ini, Anda menggunakan sistem nomor 03.

       # Execute as root
       sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
       sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
      

Membuat kluster Pacemaker

Untuk membuat kluster Pacemaker dasar, ikuti langkah-langkah dalam Menyiapkan Pacemaker di Red Hat Enterprise Linux di Azure. Masukkan semua mesin virtual, termasuk pembuat mayoritas dalam kluster.

Penting

Jangan atur quorum expected-votes ke 2. Ini bukan kluster dua node. Pastikan bahwa properti kluster concurrent-fencing diaktifkan, sehingga pemagaran node dideserialisasi.

Membuat sumber daya sistem file

Untuk bagian selanjutnya dari proses ini, Anda perlu membuat sumber daya sistem file. Berikut caranya:

  1. [1,2] Hentikan SAP Hana di kedua situs replikasi. Jalankan sebagai <sid>adm.

    sapcontrol -nr 03 -function StopSystem
    
  2. [AH] Lepas pemasangan file sistem/hana/shared, yang untuk sementara dipasang pada semua VM HANA DB. Sebelum Anda dapat melepaskannya, Anda perlu menghentikan proses dan sesi apa pun yang menggunakan sistem file.

    umount /hana/shared 
    
  3. [1] Buat sumber daya kluster sistem file untuk /hana/shared dalam keadaan nonaktif. Anda menggunakan --disabled karena Anda harus menentukan batasan lokasi sebelum pemasangan diaktifkan.
    Anda memilih untuk menyebarkan /hana/shared' di berbagi NFS di Azure Files atau volume NFS di Azure NetApp Files.

    • Dalam contoh ini, sistem file '/hana/shared' disebarkan di Azure NetApp Files dan dipasang melalui NFSv4.1. Ikuti langkah-langkah di bagian ini, hanya jika Anda menggunakan NFS di Azure NetApp Files.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # /hana/shared file system for site 2
      pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # clone the /hana/shared file system resources for both site1 and site2
      pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
      pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
      
      

    Nilai batas waktu yang disarankan memungkinkan sumber daya kluster untuk menahan jeda khusus protokol, yang terkait dengan perpanjangan sewa NFSv4.1 di Azure NetApp Files. Untuk informasi selengkapnya, lihat NFS dalam Praktik terbaik NetApp.

    • Dalam contoh ini, sistem file '/hana/shared' disebarkan pada NFS di Azure Files. Ikuti langkah-langkah di bagian ini, hanya jika Anda menggunakan NFS di Azure Files.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # /hana/shared file system for site 2
      pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # clone the /hana/shared file system resources for both site1 and site2
      pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
      pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
      

      Atribut OCF_CHECK_LEVEL=20 ditambahkan ke operasi monitor, sehingga operasi monitor melakukan tes baca/tulis pada sistem file. Tanpa atribut ini, operasi monitor hanya memverifikasi bahwa sistem file sudah terpasang. Ini bisa menjadi masalah karena ketika konektivitas hilang, sistem file mungkin tetap terpasang, meskipun tidak dapat diakses.

      Atribut on-fail=fence juga ditambahkan ke operasi monitor. Dengan opsi ini, jika operasi monitor gagal pada sebuah simpul, simpul tersebut segera dipagari. Tanpa opsi ini, perilaku default-nya adalah menghentikan semua sumber daya yang bergantung pada sumber daya yang gagal, lalu memulai ulang sumber daya yang gagal, lalu mulai semua sumber daya yang bergantung pada sumber daya yang gagal. Perilaku ini tidak hanya dapat memakan waktu lama ketika sumber daya SAP HANA tergantung pada sumber daya yang gagal, tetapi juga dapat membuatnya gagal sama sekali. Sumber daya SAP HANA tidak dapat berhenti, jika bagian NFS yang memegang binari HANA tidak dapat diakses.

      Batas waktu dalam konfigurasi di atas mungkin perlu disesuaikan dengan penyiapan SAP tertentu.

  4. [1]Konfigurasikan dan verifikasi atribut simpul. Semua simpul SAP Hana DB di situs replikasi 1 diberi atribut S1, dan semua simpul SAP Hana DB di situs replikasi 2 diberi atribut S2.

    # HANA replication site 1
    pcs node attribute hana-s1-db1 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db2 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db3 NFS_SID_SITE=S1
    # HANA replication site 2
    pcs node attribute hana-s2-db1 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db2 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db3 NFS_SID_SITE=S2
    # To verify the attribute assignment to nodes execute
    pcs node attribute
    
  5. [1] Konfigurasikan batasan yang menentukan di mana sistem file NFS akan dipasang dan mengaktifkan sumber daya sistem file.

    # Configure the constraints
    pcs constraint location fs_hana_shared_s1-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S1
    pcs constraint location fs_hana_shared_s2-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S2
    # Enable the file system resources
    pcs resource enable fs_hana_shared_s1
    pcs resource enable fs_hana_shared_s2
    

    Ketika Anda mengaktifkan sumber daya sistem file, kluster akan memasang /hana/shared sistem file.

  6. [AH] Verifikasi bahwa volume Azure NetApp Files dipasang di bagian /hana/shared, di semua VM HANA DB di kedua situs.

    • Contoh, jika menggunakan Azure NetApp Files:

      sudo nfsstat -m
      # Verify that flag vers is set to 4.1 
      # Example from SITE 1, hana-s1-db1
      /hana/shared from 10.23.1.7:/HN1-shared-s1
       Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7
      # Example from SITE 2, hana-s2-db1
      /hana/shared from 10.23.1.7:/HN1-shared-s2
       Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
      
    • Contoh, jika menggunakan Azure Files NFS:

      sudo nfsstat -m
      # Example from SITE 1, hana-s1-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
      # Example from SITE 2, hana-s2-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
      
  7. [1] Konfigurasikan dan kloning sumber daya atribut, dan konfigurasikan batasan, sebagai berikut:

    # Configure the attribute resources
    pcs resource create hana_nfs_s1_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s1_active
    pcs resource create hana_nfs_s2_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s2_active
    # Clone the attribute resources
    pcs resource clone hana_nfs_s1_active meta clone-node-max=1 interleave=true
    pcs resource clone hana_nfs_s2_active meta clone-node-max=1 interleave=true
    # Configure the constraints, which will set the attribute values
    pcs constraint order fs_hana_shared_s1-clone then hana_nfs_s1_active-clone
    pcs constraint order fs_hana_shared_s2-clone then hana_nfs_s2_active-clone
    

    Tip

    Jika konfigurasi Anda mencakup sistem file selain /hana/shared, dan sistem file ini adalah NFS yang dipasang, maka sertakan opsi sequential=false. Opsi ini memastikan bahwa tidak ada perintah dependensi di antara sistem file. Semua sistem file yang dipasang NFS harus dimulai, sebelum sumber daya atribut yang sesuai, tetapi mereka tidak perlu memulai dalam urutan apa pun yang relatif satu sama lain. Untuk informasi lebih lanjut, lihat Bagaimana cara mengonfigurasi HSR peluasan skala SAP HANA dalam kluster Pacemaker saat sistem file HANA adalah berbagi NFS.

  8. [1] Tempatkan Pacemaker dalam mode pemeliharaan, dalam persiapan untuk pembuatan sumber daya kluster HANA.

    pcs property set maintenance-mode=true
    

Membuat sumber daya kluster SAP Hana

Sekarang Anda siap untuk membuat sumber daya kluster:

  1. [A] Pasang agen sumber daya scale-out Hana pada semua simpul kluster, termasuk pembuat mayoritas.

    yum install -y resource-agents-sap-hana-scaleout 
    

    Catatan

    Untuk versi paket resource-agents-sap-hana-scaleout minimum yang didukung untuk rilis sistem operasi Anda, lihat Kebijakan dukungan untuk kluster RHEL HA - Manajemen SAP HANA dalam satu cluster.

  2. [1,2] Pasang kait replikasi sistem HANA pada satu node HANA DB di setiap situs replikasi sistem. SAP HANA masih harus tidak difungsikan.

    1. Siapkan pengait sebagai root.

      mkdir -p /hana/shared/myHooks
      cp /usr/share/SAPHanaSR-ScaleOut/SAPHanaSR.py /hana/shared/myHooks
      chown -R hn1adm:sapsys /hana/shared/myHooks
      
    2. Sesuaikan global.ini.

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [AH] Kluster memerlukan konfigurasi sudoers pada simpul kluster untuk adm <sid>. Dalam contoh ini, Anda mencapainya dengan membuat file baru. Jalankan perintah sebagai root.

    sudo visudo -f /etc/sudoers.d/20-saphana
    # Insert the following lines and then save
    Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL
    Defaults!SOK, SFAIL !requiretty
    
  4. [1,2]Hidupkan SAP HANA di kedua situs replikasi. Jalankan sebagai <sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] Verifikasi pemasangan pengait. Jalankan sebagai <sid>adm di situs replikasi sistem HANA yang aktif.

    cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
    
     # Example entries
     # 2020-07-21 22:04:32.364379 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:46.905661 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.092016 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
    
  6. [1] Buat sumber daya kluster Hana. Jalankan perintah berikut sebagai root.

    1. Pastikan kluster sudah dalam mode pemeliharaan.

    2. Selanjutnya, buat sumber daya topologi HANA.
      Jika membangun kluster RHEL 7.x, gunakan perintah berikut:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopologyScaleOut \
       SID=HN1 InstanceNumber=03 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      

      Jika Anda membangun kluster RHEL >= 8.x , gunakan perintah berikut:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \
       SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \
       op methods interval=0s timeout=5 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      
    3. Buat sumber daya instans HANA.

      Catatan

      Artikel ini berisi referensi ke istilah yang tidak lagi digunakan Microsoft. Ketika istilah ini dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.

      Jika membangun kluster RHEL 7.x, gunakan perintah berikut:

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \
       op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700
      
      pcs resource master msl_SAPHana_HN1_HDB03 SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      Jika Anda membangun kluster RHEL >= 8.x , gunakan perintah berikut:

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       op demote interval=0s timeout=320 op methods interval=0s timeout=5 \
       op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \
       op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700
      
      pcs resource promotable SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      Penting

      Sebaiknya atur AUTOMATED_REGISTER ke false, sementara Anda melakukan tes failover, untuk mencegah intans primer gagal secara otomatis mendaftar sebagai sekunder. Setelah pengujian, sebagai praktik terbaik, atur AUTOMATED_REGISTER ke true, sehingga setelah pengambilalihan, replikasi sistem dapat dilanjutkan secara otomatis.

    4. Buat IP Virtual dan sumber terkait.

      pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s"
      sudo pcs resource create nc_HN1_03 azure-lb port=62503
      sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03
      
    5. Buat batasan cluster.

      Jika membangun kluster RHEL 7.x, gunakan perintah berikut:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then msl_SAPHana_HN1_HDB03
      
      pcs constraint colocation add g_ip_HN1_03 with master msl_SAPHana_HN1_HDB03 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      

      Jika Anda membangun kluster RHEL >= 8.x , gunakan perintah berikut:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone
      
      pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      
  7. [1] Tempatkan kluster keluar dari mode pemeliharaan. Pastikan bahwa status cluster adalah ok, dan juga semua sumber daya dimulai.

    sudo pcs property set maintenance-mode=false
    #If there are failed cluster resources, you may need to run the next command
    pcs resource cleanup
    

    Catatan

    Batas waktu dalam konfigurasi sebelumnya hanyalah contoh, dan mungkin perlu disesuaikan dengan pengaturan HANA tertentu. Misalnya, Anda mungkin perlu meningkatkan batas waktu mulai, jika butuh waktu lebih lama untuk memulai database SAP HANA.

Mengonfigurasi replikasi sistem aktif/siap baca HANA

Dimulai dengan SAP HANA 2.0 SPS 01, SAP memungkinkan pengaturan aktif/siap baca untuk replikasi sistem SAP HANA. Dengan kemampuan ini, Anda dapat menggunakan sistem sekunder replikasi sistem SAP HANA secara aktif untuk beban kerja baca yang intensif. Untuk mendukung pengaturan semacam itu dalam kluster, Anda memerlukan alamat IP virtual kedua, yang memungkinkan klien untuk mengakses database SAP HANA siap baca sekunder. Untuk memastikan bahwa situs replikasi sekunder masih dapat diakses setelah pengambilalihan terjadi, kluster perlu memindahkan alamat IP virtual di sekitar dengan sumber daya SAP HANA sekunder.

Bagian ini menjelaskan langkah-langkah tambahan yang harus Anda ambil untuk mengelola jenis replikasi sistem ini dalam kluster ketersediaan tinggi Red Hat, dengan alamat IP virtual kedua.

Sebelum melanjutkannya, pastikan Anda telah sepenuhnya mengonfigurasi kluster ketersediaan tinggi Red Hat, mengelola database SAP HANA, seperti yang dijelaskan sebelumnya dalam artikel ini.

SAP HANA scale-out high availability with read-enabled secondary

Penyetelan tambahan di Azure Load Balancer untuk penyetelan aktif/siap baca

Untuk melanjutkan provisi IP virtual kedua Anda, pastikan Anda telah mengonfigurasi Azure Load Balancer seperti yang dijelaskan dalam Mengonfigurasi Azure Load Balancer.

Untuk penyeimbang beban standar, ikuti langkah-langkah tambahan di bawah ini pada penyeimbang beban yang sama yang telah Anda buat di bagian sebelumnya.

  1. Buat kumpulan IP ujung-depan kedua:

    1. Buka penyeimbang beban, pilih kumpulan IP front-end,dan pilihTambahkan.
    2. Masukkan nama kumpulan IP ujung-depan kedua (misalnya, hana-secondaryIP).
    3. Atur Penugasan ke Statis, dan masukkan alamat IP (misalnya, 10.23.0.19).
    4. Pilih OK.
    5. Setelah kumpulan IP front-end baru dibuat, perhatikan alamat IP kumpulan.
  2. Selanjutnya, buat pemeriksaan kesehatan:

    1. Buka penyeimbang beban, pilihpemeriksaan kesehatan, dan pilihTambahkan.
    2. Masukkan nama pemeriksaan kesehatan baru (misalnya, hana-secondaryhp).
    3. Pilih TCP sebagai protokol dan port 62603. Pertahankan nilai Interval yang diatur ke 5, dan nilai Ambang tidak sehat diatur ke 2.
    4. Pilih OK.
  3. Selanjutnya, buat aturan penyeimbangan beban:

    1. Buka penyeimbang beban, pilihaturan penyeimbangan beban, dan pilih Tambahkan.
    2. Masukkan nama aturan penyeimbang beban baru (misalnya, hana-secondarylb).
    3. Pilih alamat IP front-end, kumpulan back-end, dan pemeriksaan kesehatan yang Anda buat sebelumnya (misalnya, hana-secondaryIP, hana-backend, dan hana-secondaryhp).
    4. Pilih Port HA.
    5. Pastikan untuk mengaktifkan Floating IP.
    6. Pilih OK.

Mengonfigurasi replikasi sistem aktif/siap baca HANA

Langkah-langkah untuk mengonfigurasi replikasi sistem HANA dijelaskan di bagian Konfigurasi Replikasi Sistem SAP Hana 2.0. Jika Anda menerapkan skenario sekunder yang siap baca, saat Anda mengonfigurasi replikasi sistem pada node kedua, jalankan perintah berikut sebagai admhanasid:

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 --operationMode=logreplay_readaccess 

Menambahkan sumber daya alamat IP virtual sekunder untuk penyetelan aktif/siap baca

Anda dapat mengkonfigurasi IP virtual kedua dan kendala tambahan dengan perintah berikut. Jika instans sekunder tidak berfungsi, IP virtual sekunder akan dialihkan ke primer.

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.23.0.19"
pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603
pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03

# RHEL 8.x: 
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  SAPHana_HN1_HDB03-clone then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave SAPHana_HN1_HDB03-clone 5

# RHEL 7.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  msl_SAPHana_HN1_HDB03 then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave msl_SAPHana_HN1_HDB03 5

pcs property set maintenance-mode=false

Pastikan bahwa status cluster adalah ok, dan juga semua sumber daya dimulai. IP virtual kedua akan berjalan di situs sekunder bersama dengan sumber daya sekunder SAP HANA.

# Example output from crm_mon
#Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#
#Active resources:
#
#rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
#Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
#    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
#    Masters: [ hana-s1-db1 ]
#    Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Resource Group: g_ip_HN1_03
#    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
#    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
#Resource Group: g_secip_HN1_03
#    secnc_HN1_03       (ocf::heartbeat:azure-lb):      Started hana-s2-db1
#    secvip_HN1_03      (ocf::heartbeat:IPaddr2):       Started hana-s2-db1

Di bagian berikutnya, Anda dapat menemukan serangkaian tes failover khusus untuk dijalankan.

Saat Anda menguji kluster HANA yang dikonfigurasi dengan sekunder yang siap baca, waspadai perilaku berikut dari IP virtual kedua:

  • Ketika sumber daya kluster SAPHana_HN1_HDB03 pindah ke situs sekunder (S2), IP virtual kedua akan pindah ke situs lain, hana-s1-db1. Jika Anda telah mengkonfigurasi AUTOMATED_REGISTER="false", dan replikasi sistem HANA tidak terdaftar secara otomatis, maka IP virtual kedua akan berjalan pada hana-s2-db1.

  • Ketika Anda menguji crash server, sumber daya IP virtual kedua (secvip_HN1_03) dan sumber daya port Azure Load Balancer (secnc_HN1_03) berjalan di server utama, di samping sumber daya IP virtual utama. Saat server sekunder tidak berfungsi, aplikasi yang tersambung ke database Hana berkemampuan baca akan tersambung ke database Hana utama. Perilaku ini diharapkan. Hal ini memungkinkan aplikasi yang terhubung ke database siap baca HANA untuk beroperasi sementara server sekunder tidak tersedia.

  • Selama failover dan fallback, koneksi yang ada untuk aplikasi yang menggunakan IP virtual kedua untuk terhubung ke database HANA mungkin terganggu.

Uji kegagalan SAP Hana

  1. Sebelum Anda memulai pengujian, periksa kluster dan status replikasi sistem SAP HANA.

    1. Verifikasi bahwa tidak ada tindakan kluster yang gagal.

      #Verify that there are no failed cluster actions
      pcs status
      # Example
      #Stack: corosync
      #Current DC: hana-s-mm (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum
      #Last updated: Thu Sep 24 06:00:20 2020
      #Last change: Thu Sep 24 05:59:17 2020 by root via crm_attribute on hana-s1-db1
      #
      #7 nodes configured
      #45 resources configured
      #
      #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #
      #Active resources:
      #
      #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
      #Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
      #    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
      #    Masters: [ hana-s1-db1 ]
      #    Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Resource Group: g_ip_HN1_03
      #    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
      #    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
      
    2. Verifikasi bahwa replikasi sistem SAP HANA sinkron.

      # Verify HANA HSR is in sync
      sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
      #| Database | Host        | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary     | Secondary| Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
      #|          |             |       |              |           |         |           | Host          | Port     | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
      #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
      #| HN1      | hana-s1-db3 | 30303 | indexserver  |         5 |       2 | HANA_S1   | hana-s2-db3 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db2 | 30303 | indexserver  |         4 |       2 | HANA_S1   | hana-s2-db2 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |  
      #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver   |         1 |       2 | HANA_S1   | hana-s2-db1 |     30301  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30307 | xsengine     |         2 |       2 | HANA_S1   | hana-s2-db1 |     30307  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30303 | indexserver  |         3 |       2 | HANA_S1   | hana-s2-db1 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      
      #status system replication site "1": ACTIVE
      #overall system replication status: ACTIVE
      
      #Local System Replication State
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      #mode: PRIMARY
      #site id: 1
      #site name: HANA_S1
      
  2. Verifikasi konfigurasi kluster untuk skenario kegagalan saat simpul kehilangan akses ke NFS berbagi (/hana/shared).

    Agen sumber daya SAP HANA bergantung pada binari, disimpan pada /hana/shared, untuk melakukan operasi selama failover. Sistem file /hana/shared dipasang pada NFS dalam konfigurasi yang ditampilkan. Pengujian yang dapat dilakukan adalah membuat aturan firewall sementara untuk memblokir akses ke /hana/shared sistem file yang dipasang NFS di salah satu mesin virtual situs utama. Pendekatan ini memvalidasi bahwa kluster akan mengalami kegagalan, jika akses ke /hana/shared hilang pada situas replikasi sistem yang aktif.

    Hasil yang diharapkan: Saat Anda memblokir akses ke /hana/shared sistem file yang dipasang NFS di salah satu mesin virtual situs utama, operasi pemantauan yang melakukan operasi baca/tulis pada sistem file, akan gagal, sebagaimana adanya tidak dapat mengakses sistem file dan akan memicu kegagalan sumber daya HANA. Hasil yang sama diharapkan ketika simpul Hana Anda kehilangan akses ke NFS berbagi.

    Anda dapat memeriksa keadaan sumber daya kluster dengan menjalankan crm_mon atau pcs status. Status sumber daya sebelum memulai pengujian:

    # Output of crm_mon
    #7 nodes configured
    #45 resources configured
    
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Active resources:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
    #     Masters: [ hana-s1-db1 ]
    #     Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
    

    Untuk mensimulasikan kegagalan untuk /hana/shared:

    • Jika menggunakan NFS pada ANF, konfirmasikan terlebih dahulu alamat IP untuk /hana/shared volume ANF di situs utama. Anda dapat melakukannya dengan menjalankan df -kh|grep /hana/shared.
    • Jika menggunakan NFS di Azure Files, pertama-tama tentukan alamat IP dari titik akhir privat untuk akun penyimpanan Anda.

    Kemudian, siapkan aturan firewall sementara untuk memblokir akses ke alamat IP /hana/shared sistem file NFS dengan menjalankan perintah berikut di salah satu mesin virtual situs replikasi sistem HANA utama.

    Dalam contoh ini, perintah dijalankan pada hana-s1-db1 untuk volume /hana/sharedANF .

    iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
    

    VM HANA, yang kehilangan akses ke /hana/shared harus dimulai ulang atau dihentikan, bergantung pada konfigurasi kluster. Sumber daya kluster dimigrasikan ke situs replikasi sistem Hana lainnya.

    Jika kluster belum dimulai pada VM yang dimulai ulang, mulai cluster dengan menjalankan yang berikut:

    # Start the cluster 
    pcs cluster start
    

    Ketika cluster dimulai, sistem file /hana/shared secara otomatis dipasang. Jika Anda mengatur AUTOMATED_REGISTER="false", Anda harus mengonfigurasi replikasi sistem SAP HANA di situs sekunder. Dalam hal ini, Anda dapat menjalankan perintah ini untuk mengonfigurasi ulang SAP HANA sebagai sekunder.

    # Execute on the secondary 
    su - hn1adm
    # Make sure HANA is not running on the secondary site. If it is started, stop HANA
    sapcontrol -nr 03 -function StopWait 600 10
    # Register the HANA secondary site
    hdbnsutil -sr_register --name=HANA_S1 --remoteHost=hana-s2-db1 --remoteInstance=03 --replicationMode=sync
    # Switch back to root and clean up failed resources
    pcs resource cleanup SAPHana_HN1_HDB03
    

    Status sumber daya, setelah pengujian:

    # Output of crm_mon
    #7 nodes configured
    #45 resources configured
    
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    
    #Active resources:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
    #     Masters: [ hana-s2-db1 ]
    #     Slaves: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s2-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    

Sebaiknya uji konfigurasi kluster SAP HANA secara menyeluruh, dengan juga melakukan tes yang didokumentasikan dalam HA untuk SAP HANA pada AZURE VM pada RHEL.

Langkah berikutnya