Ketersediaan tinggi untuk sistem SAP HANA scale-out dengan HSR di SUSE Linux Enterprise Server

Artikel ini menjelaskan cara menerapkan sistem SAP Hana yang sangat tersedia dalam konfigurasi scale-out dengan replikasi sistem HANA (HSR) dan Pacemaker pada komputer virtual (VM) Azure SUSE Linux Enterprise Server. Sistem file bersama dalam arsitektur yang disajikan dipasang NFS dan disediakan oleh Azure NetApp Files atau berbagi NFS di Azure Files.

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

Sebelum Anda mulai, lihat catatan dan makalah SAP berikut:

Gambaran Umum

Salah satu metode untuk mencapai ketersediaan tinggi Hana untuk penginstalan scale-out Hana, adalah dengan 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.
Konfigurasi yang disajikan menunjukkan tiga simpul Hana di setiap situs, ditambah simpul pembuat mayoritas untuk mencegah skenario otak-terbelah. Instruksi dapat disesuaikan, untuk memasukkan lebih banyak VM sebagai simpul 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.

Peringatan

Menyebarkan /hana/data dan /hana/log pada NFS pada Azure Files tidak didukung.

SAP HANA scale-out with HSR and Pacemaker cluster on SLES

Dalam diagram sebelumnya, tiga subnet diwakili dalam satu jaringan virtual Azure, yang mengikuti rekomendasi jaringan SAP Hana:

  • untuk komunikasi klien - client 10.23.0.0/24
  • untuk komunikasi antar-simpul Hana internal - inter 10.23.1.128/26
  • untuk replikasi sistem Hana - hsr 10.23.1.192/26

Seperti /hana/data dan /hana/log disebarkan pada disk lokal, tidak perlu menyebarkan subnet terpisah dan kartu jaringan virtual terpisah 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.

Siapkan 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 yang disajikan dalam dokumen ini, sebarkan tujuh komputer virtual:

    • tiga komputer virtual untuk berfungsi sebagai simpul ana DB untuk situs replikasi Hana 1:hana-s1-db1,hana-s1-db2 dan hana-s1-db3
    • tiga komputer virtual untuk berfungsi sebagai simpul 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 disebarkan sebagai simpul SAP DB Hana harus disertifikasi oleh SAP untuk Hana seperti yang diterbitkan dalam direktori Perangkat Keras SAP Hana. Saat menyebarkan simpul Hana DB, pastikan bahwa Jaringan Dipercepat dipilih.

    Untuk simpul pembuat mayoritas, Anda dapat menerapkan VM kecil, karena VM ini tidak menjalankan salah satu sumber SAP HANA. Pembuat mayoritas VM digunakan dalam konfigurasi kluster untuk mencapai jumlah simpul 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. Dalam instruksi ini untuk kesederhanaan, kami akan merujuk ke antarmuka jaringan yang dibuat secara otomatis, yang dilampirkan ke client subnet jaringan virtual Azure klien, sebagai hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client, dan sebagainya.

    Penting

    • Pastikan OS yang Anda pilih bersertifikat SAP untuk SAP Hana pada jenis VM tertentu yang Anda gunakan. Untuk daftar jenis VM bersertifikat SAP Hana dan rilis OS untuk jenis tersebut, buka situsplatform IaaS bersertifikat SAP Hana. Klik detail jenis VM yang tercantum untuk mendapatkan daftar lengkap rilis OS yang didukung SAP Hana untuk jenis tersebut.
    • Jika Anda memilih untuk menyebarkan /hana/shared pada NFS di Azure Files, sebaiknya sebarkan pada SLES 15 SP2 ke atas.
  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 Komputer Virtual. 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-downLampirkan antarmuka jaringan, pilih antarmuka jaringan yang sudah dibuat untuk subnet inter dan hsr.
    5. Pilih Simpan.
    6. Ulangi langkah b sampai e untuk mesin 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. Selanjutnya, kami akan mengaktifkan jaringan yang dipercepat untuk semua antarmuka jaringan yang baru dilampirkan.
  5. Aktifkan jaringan yang dipercepat untuk antarmuka jaringan tambahan untuk subnet inter dan hsr dengan melakukan langkah-langkah berikut:

    1. Buka Azure Cloud Shell di portal Azure.

    2. Jalankan perintah berikut untuk mengaktifkan jaringan yang dipercepat untuk antarmuka jaringan tambahan, yang dilampirkan ke 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 load-balancing. Untuk detailnya, lihat Azure Load balancer Batasan. Jika Anda memerlukan alamat IP tambahan untuk VM, sebarkan NIC kedua.

Catatan

Ketika VM tanpa alamat IP publik ditempatkan di kumpulan backend internal (tanpa alamat IP publik) penyeimbang beban Azure Standar, tidak akan ada konektivitas internet keluar, kecuali ada konfigurasi tambahan untuk memungkinkan perutean ke titik akhir publik. Untuk detail tentang cara mencapai konektivitas keluar lihat Publik titik akhir konektivitas untuk Virtual Machines menggunakan Azure Standard Load Balancer dalam SAP ketersediaan tinggi skenario.

Penting

  • Jangan aktifkan tanda waktu TCP pada Azure VM 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.
  • Untuk mencegah saptune mengubah nilai yang diatur net.ipv4.tcp_timestamps secara manual dari 0 kembali ke 1, perbarui versi saptune ke 3.1.1 atau yang lebih tinggi. Untuk detail selengkapnya, lihat saptune 3.1.1 – Apakah Saya Perlu Memperbarui?.

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

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

Dalam contoh ini, volume Azure NetApp Files berikut digunakan:

  • 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, termasuk pembuat mayoritas
  • [AH]: Berlaku untuk semua node HANA DB
  • [M]: Hanya berlaku untuk simpul pembuat mayoritas
  • [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 OS Anda dengan melakukan langkah-langkah 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.19      hana-s1-db1
    10.23.0.20      hana-s1-db2
    10.23.0.21      hana-s1-db3
    10.23.0.22      hana-s2-db1
    10.23.0.23      hana-s2-db2
    10.23.0.24      hana-s2-db3
    10.23.0.25      hana-s-mm    
    
    # Internode subnet
    10.23.1.132     hana-s1-db1-inter
    10.23.1.133     hana-s1-db2-inter
    10.23.1.134     hana-s1-db3-inter
    10.23.1.135     hana-s2-db1-inter
    10.23.1.136     hana-s2-db2-inter
    10.23.1.137     hana-s2-db3-inter
    
    # HSR subnet
    10.23.1.196     hana-s1-db1-hsr
    10.23.1.197     hana-s1-db2-hsr
    10.23.1.198     hana-s1-db3-hsr
    10.23.1.199     hana-s2-db1-hsr
    10.23.1.200     hana-s2-db2-hsr
    10.23.1.201     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 mengelola rentang port. Untuk informasi selengkapnya, lihat catatan SAP 2382421.

  3. [A] SUSE memberikan agen sumber daya khusus untuk SAP Hana dan secara default agen untuk peningkatan skala SAP Hana diinstal. Hapus instalan paket untuk peningkatan skala, jika diinstal dan instal paket untuk skenario peluasan skala SAP Hana. Langkah ini perlu dilakukan pada semua VM kluster, termasuk pembuat mayoritas.

    Catatan

    SAPHanaSR-ScaleOut versi 0.181 atau yang lebih tinggi harus diinstal.

    # Uninstall scale-up packages and patterns
    sudo zypper remove patterns-sap-hana
    sudo zypper remove SAPHanaSR SAPHanaSR-doc yast2-sap-ha
    
    # Install the scale-out packages and patterns
    sudo zypper in SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc 
    sudo zypper in -t pattern ha_sles
    
  4. [AH] Siapkan VM - terapkan setelan yang direkomendasikan per catatan SAP 2205917 untuk SUSE Linux Enterprise Server untuk Aplikasi SAP.

Menyiapkan sistem file

Anda memilih untuk menyebarkan direktori bersama SAP pada berbagi NFS di volume Azure Files atau NFS pada 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 bahwa domain dikonfigurasi sebagai domain Azure NetApp Files default, yaitu, defaultv4iddomain.com dan pemetaan disetel ke tak seorang pun.
    Langkah ini hanya diperlukan, jika menggunakan Azure NetAppFiles NFSv4.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 (yaitu VM) dan server NFS, yaitu konfigurasi Azure NetApp, maka 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. Pengaturan 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 bawah /sys/modules, karena akses dicadangkan untuk kernel/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.23.1.7:/HN1-share-s1 /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
    
  6. [AH1] Pasang volume Azure NetApp Files berbagi di SITE1 HANA DB VM.

    sudo vi /etc/fstab
    # Add the following entry
    10.23.1.7:/HN1-shared-s1 /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  7. [AH2] Pasang volume Azure NetApp Files berbagi di VM SITE2 Hana DB.

    sudo vi /etc/fstab
    # Add the following entry
    10.23.1.7:/HN1-shared-s2 /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  8. [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
    # 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.19,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.22,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, sistem file /hana/datadan /hana/log digunakan pada disk terkelola dan secara lokal dilampirkan ke setiap VM Hana DB. Anda harus menjalankan langkah-langkah untuk membuat data lokal dan volume log pada setiap komputer virtual HANA DB.

Siapkan tata letak disk dengan Logical Volume Manager (LVM). Contoh berikut mengasumsikan bahwa tiap komputer virtual memiliki tiga disk data terlampir, yang 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 switch -i. Sebaiknya buat volume bergaris untuk performa I/O yang lebih baik, dan ratakan ukuran garis dengan nilai yang didokumentasikan dalam konfigurasi penyimpanan komputer virtual SAP Hana. Argumen -i harus berupa jumlah volume fisik yang mendasarinya dan argumen -I adalah ukuran garis. Dalam dokumen ini, dua volume fisik digunakan untuk volume data, jadi argumen switch -i diatur ke 2. Ukuran garis untuk volume data adalah 256 KiB. Satu volume fisik digunakan untuk volume log, jadi tidak ada switch -i atau -I yang secara eksplisit digunakan untuk perintah volume log.

    Penting

    Gunakan switch -i dan atur ke jumlah volume fisik yang dasar saat Anda menggunakan lebih dari satu volume fisik untuk setiap data atau volume log. Gunakan switch -I untuk menentukan ukuran garis, saat 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
    

Membuat kluster Pacemaker

Ikuti langkah-langkah dalam Menyiapkan Pacemaker di SUSE Linux Enterprise Server di Azure untuk membuat kluster Pacemaker dasar untuk server HANA ini. Masukkan semua mesin virtual, termasuk pembuat mayoritas dalam kluster.

Penting

Jangan atur quorum expected-votes ke 2, karena ini bukan kluster dua simpul.
Pastikan bahwa properti kluster concurrent-fencing diaktifkan, sehingga fencing simpul dideserialisasi.

Penginstalan

Dalam contoh ini untuk menyebarakan SAP HANA dalam konfigurasi scale-out dengan HSR pada Azure VM, kami telah menggunakan HANA 2.0 SP5.

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.

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

    chmod 775 /hana/shared
    
  3. [1] Verifikasi bahwa Anda dapat log melalui SSH ke HANA DB VM di situs ini hana-s1-db2 dan hana-s1-db3, tanpa diminta kata sandi. Jika bukan itu masalahnya, tukar kunci ssh seperti yang dijelaskan dalam Mengaktifkan Akses SSH melalui Kunci Umum.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Verifikasi bahwa Anda dapat masuk melalui SSH ke Hana DB VM di situs ini hana-s2-db2danhana-s2-db3, tanpa diminta kata sandi.
    Jika bukan itu masalahnya, tukarkan kunci ssh.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH] Instal paket tambahan, yang diperlukan untuk HANA 2.0 SP4 dan di atasnya. Untuk informasi selengkapnya, lihat SAP Note 2593824 untuk versi SLES Anda.

    # In this example, using SLES12 SP5
    sudo zypper install libgcc_s1 libstdc++6 libatomic1
    

Instalasi HANA pada simpul pertama di setiap situs

  1. [1] Pasang SAP Hana dengan mengikuti instruksi pada panduan Penginstalan dan Pembaruan SAP Hana 2.0. Dalam instruksi selanjutnya, kami menunjukkan penginstalan SAP HANA pada simpul pertama di SITE 1.

    a. Mulai program hdblcm sebagai rootdari direktori perangkat lunak penginstalan HANA. Gunakan parameter internal_network dan berikan ruang alamat untuk subnet, yang digunakan untuk komunikasi antar-simpul HANA internal.

    ./hdblcm --internal_network=10.23.1.128/26
    

    b. Saat diminta, masukkan nilai berikut:

    • Untuk Memilih tindakan: masukkan 1 (untuk penginstalan)
    • Untuk Komponen tambahan untuk penginstalan: masukkan 2, 3
    • Untuk jalur penginstalan: tekan Enter (default ke /hana/shared)
    • Untuk Nama Host Lokal: tekan Enter untuk menerima 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 Memilih 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 Membatasi 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 Konfirmasikan 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 System Administrator Login Shell [/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 (sistem) Database Sistem: masukkan kata sandi sistem
    • Untuk Memulai ulang sistem setelah reboot komputer? [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 konfigurasi untuk komunikasi antar-simpul SAP HANA internal diberlakukan. Verifikasi bagian komunikasi. 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.132 = hana-s1-db1
      10.23.1.133 = hana-s1-db2
      10.23.1.134 = hana-s1-db3
    
  4. [1,2] Bersiaplahglobal.iniuntuk penginstalan di lingkungan tidak berbagi, 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 akan menggunakan alamat IP dari client subnet 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.22"
    

    Untuk informasi tentang cara memverifikasi konfigurasi, lihat Catatan SAP 2183363 - Konfigurasi jaringan internal SAP Hana.

  7. [AH]Ubah izin pada data dan direktori log untuk menghindari kesalahan penginstalan 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.

    a. Mulai program hdblcm penduduk sebagai root.

     cd /hana/shared/HN1/hdblcm
     ./hdblcm 
    

    b. Saat diminta, masukkan nilai berikut:

    • Untuk Pilih tindakan: masukkan 2 (untuk menambah host)
    • Untuk Masukkan nama host yang dipisahkan koma untuk ditambahkan:hana-s1-db2, hana-s1-db3
    • Untuk Komponen tambahan untuk penginstalan: masukkan 2, 3
    • Untuk Masukkan Nama Pengguna Root [root]: tekan Enter untuk menerima default
    • Untuk Pilih peran untuk host 'hana-s1-db2' [1]:1 (untuk pekerja)
    • UntukMasukkan Grup Failover Host untuk host ’hana-s1-db2’ [default]: tekan Enter untuk menerima default
    • Untuk Memasukkan 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
    • UntukPilih peran untuk host 'hana-s1-db3' [1]:1 (untuk pekerja)
    • UntukMasukkan Grup Failover Host untuk host ’hana-s1-db3’ [default]: tekan Enter untuk menerima default
    • Untuk Memasukkan 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
    • UntukMasukan Kata Sandi Pengguna Agen Host SAP (sapadm): masukkan kata sandi
    • Untuk Konfirmasikan Kata Sandi Pengguna Agen Host SAP (sapadm): masukkan kata sandi
    • Untuk Nama Host Sertifikat Untuk Host 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.

Konfigurasikan Replikasi Sistem SAP HANA 2.0

  1. [1] Konfigurasikan 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] Memeriksa status replikasi

    Periksa status replikasi dan tunggu hingga semua database sinkron.

    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 antarmuka jaringan virtual replikasi sistem HANA.

    • Menghentikan Hana di kedua situs

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    • 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.196 = hana-s1-db1
      10.23.1.197 = hana-s1-db2
      10.23.1.198 = hana-s1-db3
      10.23.1.199 = hana-s2-db1
      10.23.1.200 = hana-s2-db2
      10.23.1.201 = hana-s2-db3
      
    • 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.

Membuat sumber daya sistem file

Buat sumber daya kluster sistem file dummy, yang akan memantau dan melaporkan kegagalan, jika ada masalah saat mengakses sistem /hana/sharedfile yang dipasang NFS . Itu memungkinkan kluster untuk memicu failover, jika ada masalah saat /hana/sharedmengakses . Untuk informasi selengkapnya, lihat Menangani berbagi NFS yang gagal di kluster SUSE HA untuk replikasi sistem HANA

  1. [1] Letakkan pacemaker dalam mode pemeliharaan, sebagai persiapan untuk pembuatan sumber kluster HANA.

    crm configure property maintenance-mode=true
    
  2. [1,2] Buat direktori pada sistem file terpasang NFS /hana/bersama, yang akan digunakan dalam sumber daya pemantauan sistem file khusus. Direktori perlu dibuat di kedua situs.

    mkdir -p /hana/shared/HN1/check
    
  3. [AH] Buat direktori, yang akan digunakan untuk memasang sumber pemantauan sistem file khusus. Direktori perlu dibuat pada semua simpul kluster HANA.

    mkdir -p /hana/check
    
  4. [1] Buat sumber kluster sistem file.

    crm configure primitive fs_HN1_HDB03_fscheck Filesystem \
      params device="/hana/shared/HN1/check" \
      directory="/hana/check" fstype=nfs4 \
      options="bind,defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock" \
      op monitor interval=120 timeout=120 on-fail=fence \
      op_params OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
    
    crm configure clone cln_fs_HN1_HDB03_fscheck fs_HN1_HDB03_fscheck \
      meta clone-node-max=1 interleave=true
    
    crm configure location loc_cln_fs_HN1_HDB03_fscheck_not_on_mm \
      cln_fs_HN1_HDB03_fscheck -inf: hana-s-mm    
    

    OCF_CHECK_LEVEL=20 Atribut 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. Hal ini bisa menjadi masalah karena ketika konektivitas terputus, 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.

Menerapkan HA HA kait SAPHanaSrMultiTarget dan susChkSrv

Langkah penting ini adalah mengoptimalkan integrasi dengan kluster dan deteksi ketika failover kluster dimungkinkan. Sangat disarankan untuk mengonfigurasi kait SAPHanaSrMultiTarget Python. Untuk HANA 2.0 SP5 dan yang lebih tinggi, disarankan untuk menerapkan kait SAPHanaSrMultiTarget dan susChkSrv.

Catatan

Penyedia SAPHanaSrMultiTarget HA menggantikan SAPHanaSR untuk peluasan skala HANA. SAPHanaSR dijelaskan dalam versi sebelumnya dari dokumen ini.
Lihat posting blog SUSE tentang perubahan dengan hook HANA HA baru.

Langkah-langkah yang disediakan untuk kait SAPHanaSrMultiTarget adalah untuk penginstalan baru. Meningkatkan lingkungan yang ada dari SAPHanaSR ke penyedia SAPHanaSrMultiTarget memerlukan beberapa perubahan dan TIDAK dijelaskan dalam dokumen ini. Jika lingkungan yang ada tidak menggunakan situs ketiga untuk pemulihan bencana dan replikasi sistem multi-target HANA tidak digunakan, penyedia SAPHanaSR HA dapat tetap digunakan.

SusChkSrv memperluas fungsionalitas penyedia SAPHanaSrMultiTarget HA utama. Ini bertindak dalam situasi ketika HANA memproses hdbindexserver crash. Jika satu proses crash biasanya HANA mencoba memulai ulang. Memulai ulang proses server indeks dapat memakan waktu lama, di mana database HANA tidak responsif. Dengan susChkSrv diimplementasikan, tindakan segera dan dapat dikonfigurasi dijalankan, alih-alih menunggu proses hdbindexserver untuk memulai ulang pada node yang sama. Dalam susChkSrv peluasan skala HANA bertindak untuk setiap VM HANA secara independen. Tindakan yang dikonfigurasi akan membunuh HANA atau memagari VM yang terpengaruh, yang memicu failover dalam periode batas waktu yang dikonfigurasi.

SUSE SLES 15 SP1 atau yang lebih tinggi diperlukan untuk pengoperasian kedua kait HA HA HA. Tabel berikut ini memperlihatkan dependensi lainnya.

Kait SAP Hana Ha Versi HANA diperlukan SAPHanaSR-ScaleOut diperlukan
SAPHanaSrMultiTarget HANA 2.0 SPS4 atau lebih tinggi 0.180 atau lebih tinggi
susChkSrv HANA 2.0 SPS5 atau lebih tinggi 0.184.1 atau lebih tinggi

Langkah-langkah untuk mengimplementasikan kedua kait:

  1. [1,2] Hentikan HANA di kedua situs replikasi sistem. Jalankan sebagai <sid>adm:

    sapcontrol -nr 03 -function StopSystem
    
  2. [1,2] Sesuaikan global.ini di setiap situs kluster. Jika prasyarat untuk kait susChkSrv tidak terpenuhi, seluruh blok [ha_dr_provider_suschksrv] tidak boleh dikonfigurasi.
    Anda dapat menyesuaikan perilaku susChkSrv dengan parameter action_on_lost. Nilai yang valid adalah [ ignore | stop | kill | fence ].

    # add to global.ini on both sites. Do not copy global.ini between sites.
    [ha_dr_provider_saphanasrmultitarget]
    provider = SAPHanaSrMultiTarget
    path = /usr/share/SAPHanaSR-ScaleOut
    execution_order = 1
    
    [ha_dr_provider_suschksrv]
    provider = susChkSrv
    path = /usr/share/SAPHanaSR-ScaleOut
    execution_order = 3
    action_on_lost = kill
    
    [trace]
    ha_dr_saphanasrmultitarget = info
    

    Lokasi default kait HA seperti yang dikirimkan oleh SUSE adalah /usr/share/SAPHanaSR-ScaleOut. Menggunakan lokasi standar membawa manfaat, bahwa kode kait python secara otomatis diperbarui melalui pembaruan OS atau paket dan digunakan oleh HANA pada restart berikutnya. Dengan jalur opsional sendiri, seperti /hana/shared/myHooks Anda dapat memisahkan pembaruan OS dari versi hook yang digunakan.

  3. [AH] Kluster memerlukan konfigurasi sudoers pada node kluster untuk <sid>adm. Dalam contoh ini yang dicapai dengan membuat file baru. Jalankan perintah sebagai root sesuaikan nilai hn1 dengan SID huruf kecil yang benar.

    cat << EOF > /etc/sudoers.d/20-saphana
    # SAPHanaSR-ScaleOut needs for HA/DR hook scripts
    so1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_site_srHook_*
    so1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_gsh *
    so1adm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper --sid=hn1 *
    EOF
    
  4. [1,2]Hidupkan SAP HANA di kedua situs replikasi. Jalankan sebagai adm <sid>.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [A] Pastikan penginstalan kait aktif pada semua node kluster. Jalankan sebagai adm <sid>.

    cdtrace
    grep HADR.*load.*SAPHanaSrMultiTarget nameserver_*.trc | tail -3
    # Example output
    # nameserver_hana-s1-db1.31001.000.trc:[14162]{-1}[-1/-1] 2023-01-26 12:53:55.728027 i ha_dr_provider   HADRProviderManager.cpp(00083) : loading HA/DR Provider 'SAPHanaSrMultiTarget' from /usr/share/SAPHanaSR-ScaleOut/
    grep SAPHanaSr.*init nameserver_*.trc | tail -3
    # Example output
    # nameserver_hana-s1-db1.31001.000.trc:[17636]{-1}[-1/-1] 2023-01-26 16:30:19.256705 i ha_dr_SAPHanaSrM SAPHanaSrMultiTarget.py(00080) : SAPHanaSrMultiTarget.init() CALLING CRM: <sudo /usr/sbin/crm_attribute -n hana_hn1_gsh -v 2.2  -l reboot> rc=0
    # nameserver_hana-s1-db1.31001.000.trc:[17636]{-1}[-1/-1] 2023-01-26 16:30:19.256739 i ha_dr_SAPHanaSrM SAPHanaSrMultiTarget.py(00081) : SAPHanaSrMultiTarget.init() Running srHookGeneration 2.2, see attribute hana_hn1_gsh too
    

    Verifikasi instalasi kait susChkSrv. Jalankan sebagai adm <sid>.

    cdtrace
    egrep '(LOST:|STOP:|START:|DOWN:|init|load|fail)' nameserver_suschksrv.trc
    # Example output
    # 2023-01-19 08:23:10.581529  [1674116590-10005] susChkSrv.init() version 0.7.7, parameter info: action_on_lost=fence stop_timeout=20 kill_signal=9
    # 2023-01-19 08:23:31.553566  [1674116611-14022] START: indexserver event looks like graceful tenant start
    # 2023-01-19 08:23:52.834813  [1674116632-15235] START: indexserver event looks like graceful tenant start (indexserver started)
    

Membuat sumber daya kluster SAP Hana

  1. [1] Buat sumber daya kluster Hana. Jalankan perintah berikut sebagairoot.

    1. Pastikan kluster sudah dalam mode pemeliharaan.

    2. Selanjutnya, buat sumber daya Topologi Hana.

      sudo crm configure primitive rsc_SAPHanaTopology_HN1_HDB03 ocf:suse:SAPHanaTopology \
        op monitor interval="10" timeout="600" \
        op start interval="0" timeout="600" \
        op stop interval="0" timeout="300" \
        params SID="HN1" InstanceNumber="03"
      
      sudo crm configure clone cln_SAPHanaTopology_HN1_HDB03 rsc_SAPHanaTopology_HN1_HDB03 \
       meta clone-node-max="1" target-role="Started" interleave="true"
      
    3. Selanjutnya, 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.

      sudo crm configure primitive rsc_SAPHana_HN1_HDB03 ocf:suse:SAPHanaController \
        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" \
        params SID="HN1" InstanceNumber="03" PREFER_SITE_TAKEOVER="true" \
        DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false"
      
      sudo crm configure ms msl_SAPHana_HN1_HDB03 rsc_SAPHana_HN1_HDB03 \
        meta clone-node-max="1" master-max="1" interleave="true"
      

      Penting

      Kami merekomendasikan sebagai praktik terbaik yang hanya Anda tetapkan AUTOMATED_REGISTER ke tidak, saat melakukan pengujian kegagalan menyeluruh, untuk mencegah instans utama yang gagal untuk secara otomatis mendaftar sebagai sekunder. Setelah uji failover berhasil diselesaikan, set AUTOMATED_REGISTER ke ya, sehingga setelah pengambilalihan, replikasi sistem dapat dilanjutkan secara otomatis.

    4. Buat IP Virtual dan sumber terkait.

      sudo crm configure primitive rsc_ip_HN1_HDB03 ocf:heartbeat:IPaddr2 \
        op monitor interval="10s" timeout="20s" \
        params ip="10.23.0.27"
      
      sudo crm configure primitive rsc_nc_HN1_HDB03 azure-lb port=62503 \
        op monitor timeout=20s interval=10 \
        meta resource-stickiness=0
      
      sudo crm configure group g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 rsc_nc_HN1_HDB03
      
    5. Membuat batasan kluster

      # Colocate the IP with HANA master
      sudo crm configure colocation col_saphana_ip_HN1_HDB03 4000: g_ip_HN1_HDB03:Started \
        msl_SAPHana_HN1_HDB03:Master  
      
      # Start HANA Topology before HANA  instance
      sudo crm configure order ord_SAPHana_HN1_HDB03 Optional: cln_SAPHanaTopology_HN1_HDB03 \
        msl_SAPHana_HN1_HDB03
      
      # HANA resources don't run on the majority maker node
      sudo crm configure location loc_SAPHanaCon_not_on_majority_maker msl_SAPHana_HN1_HDB03 -inf: hana-s-mm
      sudo crm configure location loc_SAPHanaTop_not_on_majority_maker cln_SAPHanaTopology_HN1_HDB03 -inf: hana-s-mm
      
  2. [1] Konfigurasikan properti kluster tambahan

    sudo crm configure rsc_defaults resource-stickiness=1000
    sudo crm configure rsc_defaults migration-threshold=50
    
  3. [1] Tempatkan kluster keluar dari mode pemeliharaan. Pastikan status kluster baik-baik saja dan semua sumber daya dimulai.

    # Cleanup any failed resources - the following command is example 
    crm resource cleanup rsc_SAPHana_HN1_HDB03
    
    # Place the cluster out of maintenance mode
    sudo crm configure property maintenance-mode=false
    
  4. [1] Verifikasi komunikasi antara kait HANA dan kluster, menunjukkan status SOK untuk SID dan kedua situs replikasi dengan status P(rimary) atau S(econdary).

    sudo /usr/sbin/SAPHanaSR-showAttr
    # Expected result
    # Global cib-time                 maintenance prim  sec sync_state upd
    # ---------------------------------------------------------------------
    # HN1    Fri Jan 27 10:38:46 2023 false       HANA_S1 -   SOK        ok
    # 
    # Sites     lpt        lss mns        srHook srr
    # -----------------------------------------------
    # HANA_S1     1674815869 4   hana-s1-db1 PRIM   P
    # HANA_S2     30         4   hana-s2-db1 SWAIT  S
    

    Catatan

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

Uji kegagalan SAP Hana

Catatan

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

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

    a. Memverifikasi bahwa tidak ada tindakan kluster yang gagal

    #Verify that there are no failed cluster actions
    crm status
    # Example 
    #7 nodes configured
    #24 resource instances configured
    #
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Full list of resources:
    #
    # stonith-sbd    (stonith:external/sbd): Started hana-s-mm
    # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #     Stopped: [ hana-s-mm ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #     Stopped: [ hana-s-mm ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
    #     Masters: [ hana-s1-db1 ]
    #     Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #     Stopped: [ hana-s-mm ]
    # Resource Group: g_ip_HN1_HDB03
    #     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
    #     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hana-s1-db1
    

    b. Memverifikasi 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 |
    #| -------- | ------------ | ----- | ------------ | --------- | ------- | --------- | ------------ | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    #| 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-db3  | 30303 | indexserver  |         4 |       1 | HANA_S1   | hana-s2-db3  |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #| HN1      | hana-s1-db2  | 30303 | indexserver  |         5 |       1 | HANA_S1   | hana-s2-db2  |     30303 |         2 | 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. Kami merekomendasikan untuk memvalidasi konfigurasi kluster SAP HANA secara menyeluruh, dengan melakukan pengujian, yang didokumentasikan dalam HA untuk SAP HANA pada Azure VMs pada SLES dan dalam SLES Replication scale-out Performance Optimized Scenario.

  3. Verifikasi konfigurasi kluster untuk skenario kegagalan saat simpul kehilangan akses ke NFS berbagi (/hana/shared).

    Agen sumber daya SAP HANA bergantung pada biner, disimpan di /hana/shared untuk melakukan operasi selama kegagalan. 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 status sumber kluster dengan mengeksekusicrm_mon atau crm status. Status sumber daya sebelum memulai pengujian:

    # Output of crm_mon
    #7 nodes configured
    #24 resource instances 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:
    #
    #stonith-sbd     (stonith:external/sbd): Started hana-s-mm
    # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_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 [rsc_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_HDB03
    #     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    #     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hana-s2-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
    

    Sumber daya kluster dimigrasikan ke situs replikasi sistem HANA lainnya.

    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 cleanup failed resources
    crm resource cleanup SAPHana_HN1_HDB03
    

    Status sumber daya, setelah pengujian:

    # Output of crm_mon
    #7 nodes configured
    #24 resource instances 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:
    #
    #stonith-sbd     (stonith:external/sbd): Started hana-s-mm
    # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_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 [rsc_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_HDB03
    #     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    #     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hana-s2-db1
    

Langkah berikutnya