Bagikan melalui


Ketersediaan tinggi untuk sistem ekspansi SAP HANA 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 melalui NFS dan disediakan oleh Azure NetApp Files atau berbagi NFS dari 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 memindahkan sumber daya HANA ke situs yang lain.
Konfigurasi yang disajikan menunjukkan tiga simpul HANA di setiap situs, ditambah simpul penentu mayoritas untuk mencegah skenario pembagian otak. Instruksi dapat diadaptasi, untuk menyertakan lebih banyak VM sebagai simpul database HANA (DB).

Dalam arsitektur yang disajikan, Anda dapat menyebarkan sistem /hana/shared file bersama HANA dengan menggunakan Azure NetApp Files atau berbagi NFS di Azure Files. Setiap simpul HANA dalam situs replikasi sistem HANA yang sama memasang sistem file bersama HANA melalui NFS. Sistem file /hana/data dan /hana/log merupakan sistem file lokal dan tidak dibagikan antara node HANA DB. Anda akan menginstal SAP HANA 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 kuncinya, kami sarankan Anda mengevaluasi dan mempertimbangkan untuk menggunakan grup volume aplikasi Azure NetApp Files untuk SAP Hana.

Peringatan

Penyebaran /hana/data dan /hana/log di NFS di Azure Files tidak didukung.

SAP HANA scale-out dengan HSR dan kluster Pacemaker pada 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-nodus 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

Dalam instruksi berikut, diasumsikan bahwa Anda telah membuat grup sumber daya dan jaringan virtual Azure dengan tiga subnet: client, inter, dan hsr.

Sebarkan komputer virtual Linux melalui portal Microsoft Azure

  1. Menyebarkan mesin virtual Azure.

    Untuk konfigurasi yang disajikan dalam dokumen ini, sebarkan tujuh komputer virtual:

    • tiga komputer virtual untuk berfungsi sebagai simpul HANA 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
    • mesin virtual kecil untuk berfungsi sebagai pembentuk mayoritas: hana-s-mm

Sebarkan VM sebagai simpul SAP DB menggunakan ukuran VM yang disertifikasi untuk SAP Hana, seperti yang tercantum dalam platform IaaS bersertifikat SAP Hana. Pastikan Bahwa Jaringan Dipercepat diaktifkan saat menyebarkan node HANA DB.

Untuk simpul pembuat mayoritas, Anda dapat menerapkan VM kecil, karena VM ini tidak menjalankan salah satu sumber SAP HANA. VM pembentuk mayoritas 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 utama yang dibuat secara otomatis, yang terhubung ke subnet jaringan virtual Azure sebagai client, hana-s1-db2-client, hana-s1-db3-client, dan seterusnya.

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, kami sarankan Anda menyebarkan di SUSE Linux Enterprise Server (SLES) 15 SP2 dan yang lebih baru.
  1. 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).

  2. 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).

  3. 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.
  4. 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
      

      Catatan

      Anda tidak perlu menginstal paket Azure CLI pada simpul HANA Anda untuk menjalankan az perintah. Anda dapat menjalankannya dari komputer apa pun yang telah menginstal CLI, atau menggunakan Azure Cloud Shell.

  5. 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 antarmuka jaringan untuk client subnet saat menambahkan mesin virtual ke dalam pool backend.
  • Serangkaian perintah lengkap di Azure CLI dan PowerShell menambahkan VM dengan antarmuka Jaringan 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 backend dan tambahkan mesin virtual database.
  3. Aturan masuk: Buat aturan penyeimbangan beban. Ikuti langkah yang sama untuk kedua aturan penyeimbangan beban.
    • Alamat IP front-end: Pilih IP front-end.
    • Kumpulan backend: Pilih kumpulan backend.
    • Port ketersediaan tinggi: Pilih opsi ini.
    • Protokol: Pilih TCP.
    • Probe Kesehatan: Buat probe 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 numberOfProbes konfigurasi pemeriksaan kesehatan, yang dikenal sebagai Ambang Batas Tidak Sehat di portal, tidak diperhatikan. 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.

Catatan

Ketika VM tanpa alamat IP publik ditempatkan di kumpulan backend internal Load Balancer Azure Standar (tanpa alamat IP publik), tidak ada konektivitas internet keluar kecuali dilakukan konfigurasi tambahan untuk mengaktifkan perutean ke titik akhir publik. Untuk detail tentang cara mengonfigurasi konektivitas keluar, lihat Konektivitas titik akhir publik untuk Komputer Virtual menggunakan Azure Standard Load Balancer dalam 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 informasi lebih lanjut, 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?.

Mengimplementasikan 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.

Tips

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

Menyebarkan infrastruktur Azure NetApp Files

Menyebarkan volume Azure NetApp Files untuk sistem berkas /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, 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 simpanan NFS Azure Files untuk sistem file /hana/shared. Anda akan memerlukan share NFS Azure Files terpisah /hana/shared untuk setiap situs replikasi sistem HANA. Untuk informasi selengkapnya, lihat Cara membuat saham NFS.

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

  • bagikan 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 pembentuk 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
    

    Tips

    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. [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 menerapkan direktori bersama SAP pada share NFS di Azure Files atau volume NFS di Azure NetApp Files.

Menerapkan sistem berkas bersama (Azure NetApp Files NFS)

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 - Pengaturan Kernel Linux 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 - Pengaturan Kernel Linux untuk NetApp NFS.

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

    mkdir -p /hana/shared
    
  4. [AH] Verifikasi setelan domain NFS. Pastikan bahwa domain dikonfigurasi sebagai domain default Azure NetApp Files, yaitu, defaultv4iddomain.com dan pemetaan disetel ke nobody.
    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] Pastikan 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 dan 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] Memasang volume berbagi Azure NetApp Files pada mesin virtual SITE1 HANA DB.

    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 berbagi Azure NetApp Files 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
    

Menghubungkan sistem file bersama (Azure Files NFS)

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. [AH] Buat titik pemasangan untuk volume database HANA.

    mkdir -p /hana/shared
    
  2. [AH1] Memasang volume berbagi Azure NetApp Files pada mesin virtual SITE1 HANA DB.

    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 berbagi Azure NetApp Files 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 perlu 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 mesin virtual HANA memiliki tiga disk data yang terpasang, yang dimanfaatkan 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. 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 pemasangan 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] Buat fstab entri-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.

Untuk kluster peluasan skala, pastikan parameter berikut diatur dengan benar:

  • Jangan atur quorum expected-votes ke 2, karena ini bukan kluster dua node.
  • Pastikan bahwa properti concurrent-fencing=true kluster diatur agar pengamanan simpul dideserialisasi.
  • Sumber daya stonith-sbd harus menyertakan parameter pcmk_action_limit=-1 dengan nilai negatif 1 (tidak terbatas) untuk memungkinkan pelaksanaan tindakan stonith yang telah dideserialisasi.

Penginstalan

Dalam contoh ini untuk menyebarkan SAP HANA pada konfigurasi scale-out dengan HSR pada Azure VMs, kami telah menggunakan SAP 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 root sebagai 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 yang lebih baru. 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.

    sebuah. 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 tombol Enter (secara 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 pengaturan standar
    • Untuk Lokasi Volume Log [/hana/log/HN1]: tekan Enter untuk menerima nilai 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 internal SAP HANA diterapkan. Verifikasi bagian komunikasi. Harus ada ruang alamat untuk subnet inter, 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.

    sebuah. Mulai program penduduk hdblcm 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)
    • Untuk memasukkan Grup Failover Host untuk host 'hana-s1-db2' [default]: tekan Enter untuk menerima nilai default.
    • Untuk Memasukkan Nomor Partisi Storage untuk host ‘hana-s1-db2’ [<<tetapkan secara otomatis>>]: tekan Enter untuk menerima default
    • Masukkan Grup Pekerja untuk host 'hana-s1-db2' [default]: tekan Enter untuk menerima nilai default
    • Untuk Pilih 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
    • Untuk Masukkan Grup Pekerja untuk host 'hana-s1-db3' [default]: tekan Enter untuk menerima pengaturan awal
    • 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 hana-s1-db2 [hana-s1-db2]: tekan Enter untuk menerima pengaturan bawaan
    • Untuk Nama Host Sertifikat untuk Host hana-s1-db3 [hana-s1-db3]: tekan Enter untuk menerima nilai 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:

    Cadangkan database sebagai hn1adm:

    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 kunci penyimpanan aman 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.

    • Hentikan 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.

Menerapkan agen sumber daya HANA

SUSE menyediakan dua paket perangkat lunak yang berbeda untuk agen sumber daya Pacemaker untuk mengelola SAP Hana. Paket perangkat lunak SAPHanaSR-ScaleOut dan SAPHanaSR-angi menggunakan sintaks dan parameter yang sedikit berbeda dan tidak kompatibel. Lihat catatan rilis dandokumentasi SUSE untuk detail dan perbedaan antara SAPHanaSR-angi dan SAPHanaSR-ScaleOut. Dokumen ini mencakup kedua paket dalam tab terpisah di masing-masing bagian.

Peringatan

Jangan ganti paket SAPHanaSR-ScaleOut dengan SAPHanaSR-angi dalam kluster yang sudah dikonfigurasi. Peningkatan dari SAPHanaSR ke SAPHanaSR-angi memerlukan prosedur tertentu. Untuk detail selengkapnya, lihat posting blog SUSE Cara meningkatkan ke SAPHanaSR-angi.

  • [A] Instal paket ketersediaan tinggi SAP Hana:

Catatan

SAPHanaSR-angi memiliki persyaratan versi minimum SAP HANA 2.0 SPS 05 dan SUSE SLES untuk Aplikasi SAP 15 SP4 atau yang lebih tinggi.

Jalankan perintah berikut pada semua VM kluster, termasuk pembuat mayoritas untuk menginstal paket ketersediaan tinggi:

sudo zypper install SAPHanaSR-angi
sudo zypper in -t pattern ha_sles

Menyiapkan penyedia SAP Hana Ha/DR

Penyedia SAP HANA HA/DR mengoptimalkan integrasi dengan kluster dan meningkatkan deteksi saat failover kluster diperlukan. Skrip kait utama adalah susHanaSR (untuk SAPHanaSR-angi) atau SAPHanaSrMultiTarget (untuk paket SAPHanaSR-ScaleOut). Diperlukan untuk integrasi kluster bahwa Anda melakukan pengaturan kait python susHanaSR/SAPHanaSrMultiTarget. Untuk HANA 2.0 SPS 05 dan yang lebih baru, kami sarankan Anda mengimplementasikan susHanaSR/SAPHanaSrMultiTarget dan hook susChkSrv.

Hook susChkSrv memperluas fungsionalitas penyedia susHanaSR/SAPHanaSrMultiTarget HA utama. Sistem ini bertindak ketika proses HANA hdbindexserver mengalami kerusakan. Jika satu proses crash, HANA biasanya mencoba memulai ulang. Memulai ulang proses server indeks dapat memakan waktu lama, di mana database HANA tidak responsif.

Dengan susChkSrv sudah diimplementasikan, tindakan langsung dan dapat dikonfigurasi pun dijalankan. Tindakan ini memicu failover dalam periode batas waktu yang dikonfigurasi alih-alih menunggu proses hdbindexserver dimulai ulang pada node yang sama. Dalam peluasan skala HANA, susChkSrv bertindak untuk setiap node kluster yang menjalankan HANA secara independen. Tindakan yang dikonfigurasi menonaktifkan HANA atau melindungi VM yang terpengaruh, yang memicu failover dalam periode timeout yang sudah dikonfigurasi.

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

    sapcontrol -nr 03 -function StopSystem
    
  2. [1,2] Pasang pengait penyedia HANA HA. Kait konfigurasi harus diinstal pada kedua situs database HANA.

    1. [1,2] Sesuaikan global.ini di setiap situs kluster. Jika prasyarat untuk kait susChkSrv tidak terpenuhi, maka 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_sushanasr]
      provider = susHanaSR
      path = /usr/share/SAPHanaSR-angi
      execution_order = 1
      
      [ha_dr_provider_suschksrv]
      provider = susChkSrv
      path = /usr/share/SAPHanaSR-angi
      execution_order = 3
      action_on_lost = kill
      
      [trace]
      ha_dr_sushanasr = info
      ha_dr_suschksrv = info
      

      SUSE memberikan kait HA secara default di direktori /usr/share/SAPHanaSR-angi. Menggunakan lokasi standar memastikan bahwa pembaruan paket OS secara otomatis memperbarui kode kait python, dan HANA menggunakan kode yang diperbarui pada restart berikutnya. Alternatifnya, Anda dapat menentukan jalur Anda sendiri, seperti /hana/shared/myHooks, untuk mengurangi ketergantungan pembaruan OS pada versi kait yang Anda gunakan.

    2. [AH] Kluster memerlukan konfigurasi sudoers pada node kluster untuk <sid>adm. Dalam contoh ini tercapai melalui pembuatan file baru. Jalankan perintah berikut sebagai root. Ganti <sid> dengan ID sistem SAP huruf kecil, <SID> dengan ID sistem SAP huruf besar dan <siteA/B> dengan nama situs HANA yang dipilih.

      cat << EOF > /etc/sudoers.d/20-saphana
      # SAPHanaSR-angi requirements for HA/DR hook scripts
      Cmnd_Alias SOK_SITEA    = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteA> -v SOK   -t crm_config -s SAPHanaSR
      Cmnd_Alias SFAIL_SITEA  = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteA> -v SFAIL -t crm_config -s SAPHanaSR
      Cmnd_Alias SOK_SITEB    = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteB> -v SOK   -t crm_config -s SAPHanaSR
      Cmnd_Alias SFAIL_SITEB  = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteB> -v SFAIL -t crm_config -s SAPHanaSR
      Cmnd_Alias HELPER_TAKEOVER  = /usr/bin/SAPHanaSR-hookHelper --sid=<SID> --case=checkTakeover
      Cmnd_Alias HELPER_FENCE     = /usr/bin/SAPHanaSR-hookHelper --sid=<SID> --case=fenceMe
      
      <sid>adm ALL=(ALL) NOPASSWD: SOK_SITEA, SFAIL_SITEA, SOK_SITEB, SFAIL_SITEB, HELPER_TAKEOVER, HELPER_FENCE
      

      Untuk informasi lebih lanjut tentang penerapan pengait replikasi sistem SAP HANA, lihat Menyiapkan penyedia HANA HA/DR.


  1. [1,2]Hidupkan SAP HANA di kedua situs replikasi. Jalankan sebagai <sid>adm.
sapcontrol -nr 03 -function StartSystem 
  1. [1] Verifikasi pemasangan pengait. Jalankan perintah berikut sebagai <sap-sid>adm pada situs replikasi sistem HANA aktif:
cdtrace    
grep HADR.*load.*susHanaSR nameserver_*.trc | tail -3
# Example output
# nameserver_hana-s1-db1.30301.453.trc:[140145]{-1}[-1/-1] 2025-05-26 07:51:34.677221 i ha_dr_provider   HADRProviderManager.cpp(00083) : loading HA/DR Provider 'susHanaSR' from /usr/share/SAPHanaSR-angi
grep susHanaSR.*init nameserver_*.trc | tail -3
# Example output
# nameserver_hana-s1-db1.30301.453.trc:[140157]{-1}[-1/-1] 2025-05-26 07:51:34.724422 i ha_dr_susHanaSR  susHanaSR.py(00042) : susHanaSR.init() version 1.001.1
  1. [AH] Verifikasi pemasangan hook susChkSrv. Jalankan perintah berikut sebagai <sap-sid>adm pada simpul HANA apa pun:
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 Topologi HANA. Pastikan kluster dalam mode pemeliharaan.
sudo crm configure property maintenance-mode=true

# Replace <placeholders> with your instance number and HANA system ID

sudo crm configure primitive rsc_SAPHanaTopology_<SID>_HDB<InstNum> ocf:suse:SAPHanaTopology \
  op monitor interval="50" timeout="600" \
  op start interval="0" timeout="600" \
  op stop interval="0" timeout="300" \
  params SID="<SID>" InstanceNumber="<InstNum>"

sudo crm configure clone cln_SAPHanaTopology_<SID>_HDB<InstNum> rsc_SAPHanaTopology_<SID>_HDB<InstNum> \
  meta clone-node-max="1" interleave="true"
  1. [1] Selanjutnya, buat sumber daya instans HANA.
# Replace <placeholders> with your instance number and HANA system ID

sudo crm configure primitive rsc_SAPHanaController_<SID>_HDB<InstNum> ocf:suse:SAPHanaController \
  op start interval="0" timeout="3600" \
  op stop interval="0" timeout="3600" \
  op promote interval="0" timeout="900" \
  op demote interval="0" timeout="320" \
  op monitor interval="60" role="Promoted" timeout="700" \
  op monitor interval="61" role="Unpromoted" timeout="700" \
  params SID="<SID>" InstanceNumber="<InstNum>" PREFER_SITE_TAKEOVER="true" \
  DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false" \
  HANA_CALL_TIMEOUT="120"

sudo crm configure clone mst_SAPHanaController_<SID>_HDB<InstNum> rsc_SAPHanaController_<SID>_HDB<InstNum> \
  meta clone-node-max="1" interleave="true" promotable="true"

Penting

Kami merekomendasikan sebagai praktik terbaik bahwa Anda hanya menetapkan AUTOMATED_REGISTER ke tidak, ketika Anda melakukan pengujian kegagalan menyeluruh, untuk mencegah agar instans utama yang gagal tidak secara otomatis mendaftar sebagai sekunder. Setelah pengujian fail-over berhasil diselesaikan, atur AUTOMATED_REGISTER ke ya, sehingga setelah replikasi sistem pengalihan dapat dilanjutkan secara otomatis.

  1. [1] Buat agen sumber daya sistem file untuk /hana/shared

SAPHanaSR-angi menambahkan agen sumber daya baru SAPHanaFilesystem untuk memantau akses baca/tulis ke /hana/shared/SID. OS statis memasang sistem file /hana/shared/SID dengan setiap host memiliki entri di /etc/fstab. SAPHanaFilesystem dan Pacemaker tidak memasang sistem file untuk HANA.

# Replace <placeholders> with your instance number and HANA system ID

sudo crm configure primitive rsc_SAPHanaFilesystem_<SID>_HDB<InstNum> ocf:suse:SAPHanaFilesystem \
  op start interval="0" timeout="10" \
  op stop interval="0" timeout="20" \
  op monitor interval="120" timeout="120" \
  params SID="<SID>" InstanceNumber="<InstNum>" ON_FAIL_ACTION="fence"

sudo crm configure clone cln_SAPHanaFilesystem_<SID>_HDB<InstNum> rsc_SAPHanaFilesystem_<SID>_HDB<InstNum> \
  meta clone-node-max="1" interleave="true"

# Add a location constraint to not run filesystem check on majority maker VM
sudo crm configure location loc_SAPHanaFilesystem_not_on_majority_maker cln_SAPHanaFilesystem_<SID>_HDB<InstNum> -inf: hana-s-mm
  1. [1] Lanjutkan dengan sumber daya kluster untuk IP virtual dan batasan.
# Replace <placeholders> with your instance number and HANA system ID, and respective IP address and load balancer port  

sudo crm configure primitive rsc_ip_<SID>_HDB<InstNum> ocf:heartbeat:IPaddr2 \
  op start timeout=60s on-fail=fence \
  op monitor interval="10s" timeout="20s" \
  params ip="10.23.0.27"
  
sudo crm configure primitive rsc_nc_<SID>_HDB<InstNum> azure-lb port=62503 \
  op monitor timeout=20s interval=10 \
  meta resource-stickiness=0
  
sudo crm configure group g_ip_<SID>_HDB<InstNum> rsc_ip_<SID>_HDB<InstNum> rsc_nc_<SID>_HDB<InstNum>

Membuat batasan kluster

# Colocate the IP with primary HANA node
sudo crm configure colocation col_saphana_ip_<SID>_HDB<InstNum> 4000: g_ip_<SID>_HDB<InstNum>:Started \
  mst_SAPHanaController_<SID>_HDB<InstNum>:Promoted  
  
# Start HANA Topology before HANA  instance
sudo crm configure order ord_SAPHana_<SID>_HDB<InstNum> Optional: cln_SAPHanaTopology_<SID>_HDB<InstNum> \
  mst_SAPHanaController_<SID>_HDB<InstNum>
  
# HANA resources don't run on the majority maker node
sudo crm configure location loc_SAPHanaController_not_on_majority_maker mst_SAPHanaController_<SID>_HDB<InstNum> -inf: hana-s-mm
sudo crm configure location loc_SAPHanaTopology_not_on_majority_maker cln_SAPHanaTopology_<SID>_HDB<InstNum> -inf: hana-s-mm
  1. [1] Konfigurasikan properti kluster tambahan
sudo crm configure rsc_defaults resource-stickiness=1000
sudo crm configure rsc_defaults migration-threshold=50
  1. [1] Tempatkan kluster keluar dari mode pemeliharaan. Pastikan status kluster dalam keadaan baik dan semua sumber daya dijalankan.
# Cleanup any failed resources - the following command is example 
sudo crm resource cleanup rsc_SAPHana_HN1_HDB03

# Place the cluster out of maintenance mode
sudo crm configure property maintenance-mode=false
  1. [1] Verifikasikan komunikasi antara pengait HANA HA dan kluster, yang menunjukkan status SOK untuk SID dan kedua situs replikasi dengan status P(rimary) atau S(econdary).
sudo SAPHanaSR-showAttr
Global cib-update dcid prim       sec        sid topology
----------------------------------------------------------
global 0.165361.0 7    HANA_S2 HANA_S1    HN1 ScaleOut

Resource                        promotable
-------------------------------------------
msl_SAPHanaController_HN1_HDB03 true
cln_SAPHanaTopology_HN1_HDB03

Site        lpt        lss mns     opMode    srHook srMode srPoll srr
----------------------------------------------------------------------
HANA_S2  1748611494 4   hana-s2-db1 logreplay PRIM   sync   PRIM   P
HANA_S1  10         4   hana-s1-db1 logreplay SOK    sync   SFAIL  S

Host     clone_state roles                        score  site       srah version     vhost
----------------------------------------------------------------------------------------------
hana-s1-db1  DEMOTED     master1:master:worker:master 100    HANA_S1 -    2.00.074.00 hana-s1-db1
hana-s1-db2  DEMOTED     slave:slave:worker:slave     -12200 HANA_S1 -    2.00.074.00 hana-s1-db2
hana-s1-db3  DEMOTED     slave:slave:worker:slave     -12200 HANA_S1 -    2.00.074.00 hana-s1-db3
hana-s2-db1  PROMOTED    master1:master:worker:master 150    HANA_S2 -    2.00.074.00 hana-s2-db1
hana-s2-db2  DEMOTED     slave:slave:worker:slave     -10000 HANA_S2 -    2.00.074.00 hana-s2-db2
hana-s2-db3  DEMOTED     slave:slave:worker:slave     -10000 HANA_S2 -    2.00.074.00 hana-s2-db3
hana-mm                                                                               hana-mm

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. SAPHanaSR-angi memungkinkan opsi lebih lanjut untuk tindakan yang lebih cepat selama peristiwa kluster. Silakan merujuk ke dokumentasi SUSE untuk detail tentang parameter ON_FAIL_ACTION SAPHanaController, agen SAPHanaSR-alert-fencing yang bersifat opsional, dan opsi lainnya. Implementasi harus diikuti dengan pengujian kluster ekstensif tambahan di lingkungan Anda.

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.

    sebuah. 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 berbagi NFS (/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: Ketika Anda memblokir akses ke /hana/shared sistem file yang dipasang NFS di salah satu VM situs utama, operasi pemantauan yang melakukan operasi baca/tulis pada sistem file, akan gagal, karena tidak dapat mengakses sistem file dan akan memicu failover sumber daya HANA. Hasil yang sama diharapkan ketika simpul HANA Anda kehilangan akses ke berbagi NFS.

    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 di Azure NetApp Files, pertama-tama pastikan alamat IP untuk /hana/shared volume Azure NetApp Files 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 volume hana-s1-db1 untuk Azure NetApp Files /hana/shared.

    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 perlu mengonfigurasi replikasi sistem SAP Hana di situs sekunder setelah pengalihan. 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