Red Hat Enterprise Linux'ta SAP HANA ölçek genişletme sisteminin yüksek kullanılabilirliği

Bu makalede, ölçeği genişletme yapılandırmasında yüksek oranda kullanılabilir bir SAP HANA sisteminin nasıl dağıtılacağı açıklanır. Özellikle yapılandırma, Azure Red Hat Enterprise Linux sanal makinelerinde (VM) HANA sistem çoğaltma (HSR) ve Pacemaker kullanır. Sunulan mimarideki paylaşılan dosya sistemleri NFS'ye bağlanır ve Azure Dosyalar üzerinde Azure NetApp Files veya NFS paylaşımı tarafından sağlanır.

Örnek yapılandırmalarda ve yükleme komutlarında HANA örneği ve 03 HANA sistem kimliği şeklindedir HN1.

Önkoşullar

Bazı okuyucular, bu makaledeki konulara devam etmeden önce çeşitli SAP notlarına ve kaynaklarına danışmanlıktan yararlanacaktır:

Genel bakış

HANA ölçek genişletme yüklemelerinde HANA yüksek kullanılabilirliği elde etmek için HANA sistem çoğaltmasını yapılandırabilir ve çözümü otomatik yük devretmeye izin verecek bir Pacemaker kümesiyle koruyabilirsiniz. Etkin bir düğüm başarısız olduğunda, küme HANA kaynaklarını diğer siteye devreder.

Aşağıdaki diyagramda, her sitede üç HANA düğümü ve bir "bölünmüş beyin" senaryoyu önlemek için bir çoğunluk oluşturucu düğümü vardır. Yönergeler, HANA DB düğümleri olarak daha fazla VM içerecek şekilde uyarlanabilir.

Sunulan mimarideki HANA paylaşılan dosya sistemi/hana/shared, Azure Dosyalar üzerinde Azure NetApp Files veya NFS paylaşımı tarafından sağlanabilir. HANA paylaşılan dosya sistemi, aynı HANA sistem çoğaltma sitesindeki her HANA düğümüne bağlı NFS'dir. Dosya sistemleri /hana/data ve /hana/log yerel dosya sistemleridir ve HANA DB düğümleri arasında paylaşılmaz. SAP HANA, paylaşılmayan modda yüklenir.

Önerilen SAP HANA depolama yapılandırmaları için bkz . SAP HANA Azure VM'leri depolama yapılandırmaları.

Önemli

Performansın önemli olduğu üretim sistemleri için Azure NetApp Files'da tüm HANA dosya sistemlerini dağıtıyorsanız SAP HANA için Azure NetApp Files uygulama birimi grubunu değerlendirmenizi ve kullanmayı göz önünde bulundurmanızı öneririz.

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

Yukarıdaki diyagramda, SAP HANA ağ önerilerini izleyerek bir Azure sanal ağı içinde temsil edilen üç alt ağ gösterilmektedir:

  • İstemci iletişimi için: client 10.23.0.0/24
  • İç HANA düğümler arası iletişim için: inter 10.23.1.128/26
  • HANA sistem çoğaltması için: hsr 10.23.1.192/26

/hana/data ve /hana/log yerel disklere dağıtıldığından, depolama ile iletişim için ayrı alt ağ ve ayrı sanal ağ kartları dağıtmak gerekmez.

Azure NetApp Files kullanıyorsanız, için /hana/sharedNFS birimleri ayrı bir alt ağda dağıtılır ve Azure NetApp Files: anf 10.23.1.0/26'ya devredilir.

Altyapıyı ayarlama

Aşağıdaki yönergelerde, kaynak grubunu, üç Azure ağ alt ağına sahip Azure sanal ağını oluşturduğunuzu varsayarız: client, inter ve hsr.

Azure portalı aracılığıyla Linux sanal makinelerini dağıtma

  1. Azure VM'lerini dağıtma. Bu yapılandırma için yedi sanal makine dağıtın:

    • HANA çoğaltma sitesi 1 için HANA DB düğümü olarak hizmet vermek üzere üç sanal makine: hana-s1-db1, hana-s1-db2 ve hana-s1-db3.
    • HANA çoğaltma sitesi 2 için HANA DB düğümleri olarak hizmet vermek üzere üç sanal makine: hana-s2-db1, hana-s2-db2 ve hana-s2-db3.
    • Çoğunluk oluşturucu olarak hizmet veren küçük bir sanal makine: hana-s-mm.

    SAP DB HANA düğümleri olarak dağıtılan VM'ler, SAP HANA donanım dizininde yayımlandığı gibi HANA için SAP tarafından onaylanmalıdır. HANA DB düğümlerini dağıtırken hızlandırılmış ağ'ı seçtiğinizden emin olun.

    Çoğunluk oluşturucu düğümü için küçük bir VM dağıtabilirsiniz çünkü bu VM SAP HANA kaynaklarının hiçbirini çalıştırmaz. Çoğunluk oluşturucu VM,küme yapılandırmasında bölünmüş beyin senaryosunda tek sayıda küme düğümü elde etmek için kullanılır. Çoğunluk oluşturucu VM'sinin bu örnekte alt ağda yalnızca bir sanal ağ arabirimine client ihtiyacı vardır.

    ve /hana/logiçin /hana/data yerel yönetilen diskleri dağıtın. ve /hana/log için /hana/data önerilen en düşük depolama yapılandırması SAP HANA Azure VM'leri depolama yapılandırmaları bölümünde açıklanmıştır.

    Sanal ağ alt ağındaki her VM için birincil ağ arabirimini dağıtın client . VM Azure portalı aracılığıyla dağıtıldığında, ağ arabirimi adı otomatik olarak oluşturulur. Bu makalede, otomatik olarak oluşturulan birincil ağ arabirimlerine hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client vb. olarak başvuracağız. Bu ağ arabirimleri Azure sanal ağ alt ağına client eklenir.

    Önemli

    Seçtiğiniz işletim sisteminin, kullandığınız belirli VM türlerinde SAP HANA için SAP sertifikalı olduğundan emin olun. Bu türler için SAP HANA sertifikalı VM türlerinin ve işletim sistemi sürümlerinin listesi için bkz . SAP HANA sertifikalı IaaS platformları. Bu tür için SAP HANA tarafından desteklenen işletim sistemi sürümlerinin tam listesini almak için listelenen VM türünün ayrıntılarını inceleyin.

  2. Sanal ağ alt ağında inter her HANA DB sanal makinesi için birer tane olan altı ağ arabirimi oluşturun (bu örnekte hana-s1-db1-inter, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter ve hana-s2-db3-inter).

  3. Sanal ağ alt ağında hsr (bu örnekte hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr ve hana-s2-db3-hsr) her HANA DB sanal makinesi için birer tane olan altı ağ arabirimi oluşturun.

  4. Yeni oluşturulan sanal ağ arabirimlerini ilgili sanal makinelere ekleyin:

    1. Azure portalında sanal makineye gidin.
    2. Sol bölmede Sanal Makineler'ı seçin. Sanal makine adına (örneğin, hana-s1-db1) filtreleyin ve ardından sanal makineyi seçin.
    3. Genel Bakış bölmesinde Durdur'u seçerek sanal makineyi serbest bırakın.
    4. Ağ'ı seçin ve ardından ağ arabirimini ekleyin. Ağ arabirimi ekle açılan listesinde ve hsr alt ağları için inter önceden oluşturulmuş ağ arabirimlerini seçin.
    5. Kaydet'i seçin.
    6. Kalan sanal makineler için b ile e arasındaki adımları yineleyin (örneğimizde hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 ve hana-s2-db3)
    7. Sanal makineleri şimdilik durdurulmuş durumda bırakın.
  5. Ve alt ağları için ek ağ arabirimleri için hızlandırılmış ağı etkinleştirmek için hsrinter aşağıdakileri yapın:

    1. Azure portalında Azure Cloud Shell'i açın.

    2. ve hsr alt ağlarına bağlı ek ağ arabirimleri için hızlandırılmış ağ oluşturmayı etkinleştirmek için inter aşağıdaki komutları çalıştırın.

      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. HANA DB sanal makinelerini başlatın.

Azure yük dengeleyiciyi yapılandırma

VM yapılandırması sırasında ağ bölümünde yük dengeleyiciden çıkma seçeneğiniz vardır. HANA veritabanının yüksek kullanılabilirlik kurulumu için standart yük dengeleyiciyi ayarlamak için aşağıdaki adımları izleyin.

Not

  • HANA ölçeği genişletme için arka uç havuzuna client sanal makineleri eklerken alt ağ için NIC'yi seçin.
  • Azure CLI ve PowerShell'deki tam komut kümesi, arka uç havuzuna birincil NIC'ye sahip VM'leri ekler.

Azure portalını kullanarak yüksek kullanılabilirlikli bir SAP sistemi için standart yük dengeleyici ayarlamak için Yük dengeleyici oluşturma makalesindeki adımları izleyin. Yük dengeleyicinin kurulumu sırasında aşağıdaki noktaları göz önünde bulundurun:

  1. Ön uç IP Yapılandırması: Ön uç IP'si oluşturun. Veritabanı sanal makinelerinizle aynı sanal ağı ve alt ağ adını seçin.
  2. Arka Uç Havuzu: Arka uç havuzu oluşturun ve veritabanı VM'leri ekleyin.
  3. Gelen kuralları: Yük dengeleme kuralı oluşturun. Her iki yük dengeleme kuralı için de aynı adımları izleyin.
    • Ön uç IP adresi: Ön uç IP'lerini seçin.
    • Arka uç havuzu: Bir arka uç havuzu seçin.
    • Yüksek kullanılabilirlik bağlantı noktaları: Bu seçeneği belirleyin.
    • Protokol: TCP'yi seçin.
    • Sistem Durumu Yoklaması: Aşağıdaki ayrıntıları içeren bir sistem durumu yoklaması oluşturun:
      • Protokol: TCP'yi seçin.
      • Bağlantı noktası: Örneğin, 625<örnek-no.>.
      • Aralık: 5 girin.
      • Yoklama Eşiği: 2 girin.
    • Boşta kalma zaman aşımı (dakika): 30 girin.
    • Kayan IP'yi etkinleştir: Bu seçeneği belirleyin.

Not

Portalda iyi durumda olmayan eşik olarak bilinen durum yoklaması yapılandırma özelliğine numberOfProbesuyulmaz. Başarılı veya başarısız ardışık yoklama sayısını denetlemek için özelliğini probeThreshold olarak 2ayarlayın. Şu anda Azure portalını kullanarak bu özelliği ayarlamak mümkün değildir, bu nedenle Azure CLI veya PowerShell komutunu kullanın.

Önemli

Kayan IP, yük dengeleme senaryolarında NIC ikincil IP yapılandırmasında desteklenmez. Ayrıntılar için bkz . Azure Load Balancer sınırlamaları. VM için ek bir IP adresine ihtiyacınız varsa ikinci bir NIC dağıtın.

Not

Standart yük dengeleyiciyi kullanırken aşağıdaki sınırlamaların farkında olmanız gerekir. Genel IP adresleri olmayan VM'leri iç yük dengeleyicinin arka uç havuzuna yerleştirdiğinizde giden İnternet bağlantısı olmaz. Genel uç noktalara yönlendirmeye izin vermek için ek yapılandırma gerçekleştirmeniz gerekir. Daha fazla bilgi için bkz. SAP yüksek kullanılabilirlik senaryolarında Azure Standart Load Balancer kullanarak Sanal Makineler için genel uç nokta bağlantısı.

Önemli

Azure Load Balancer'ın arkasına yerleştirilen Azure VM'lerinde TCP zaman damgalarını etkinleştirmeyin. TCP zaman damgalarının etkinleştirilmesi sistem durumu yoklamalarının başarısız olmasına neden olur. parametresini net.ipv4.tcp_timestamps olarak 0ayarlayın. Ayrıntılar için bkz . Load Balancer sistem durumu yoklamaları ve SAP notu 2382421.

NFS dağıtma

için Azure yerel NFS'yi dağıtmak için /hana/sharediki seçenek vardır. NFS birimini Azure NetApp Files'a veya NFS paylaşımına Azure Dosyalar dağıtabilirsiniz. Azure dosyaları NFSv4.1 protokollerini desteklerken, Azure NetApp dosyalarında NFS hem NFSv4.1 hem de NFSv3'ü destekler.

Sonraki bölümlerde NFS dağıtma adımları açıklanmaktadır. Seçeneklerden yalnızca birini seçmeniz gerekir.

İpucu

Azure NetApp Files'da Azure Dosyalar veya NFS biriminde NFS paylaşımında dağıtmayı /hana/shared seçtiniz.

Azure NetApp Files altyapısını dağıtma

Dosya sistemi için Azure NetApp Files birimlerini dağıtın /hana/shared . Her HANA sistem çoğaltma sitesi için ayrı /hana/shared bir birim gerekir. Daha fazla bilgi için bkz . Azure NetApp Files altyapısını ayarlama.

Bu örnekte aşağıdaki Azure NetApp Files birimlerini kullanırsınız:

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

NFS'yi Azure Dosyalar altyapısında dağıtma

Dosya sistemi için Azure Dosyalar NFS paylaşımlarını dağıtın/hana/shared. Her HANA sistem çoğaltma sitesi için ayrı /hana/shared bir Azure Dosyalar NFS paylaşımı gerekir. Daha fazla bilgi için bkz . NFS paylaşımı oluşturma.

Bu örnekte, aşağıdaki Azure Dosyalar NFS paylaşımları kullanılmıştır:

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

İşletim sistemi yapılandırması ve hazırlığı

Sonraki bölümlerdeki yönergeler aşağıdaki kısaltmalardan biriyle ön eklenmiştir:

  • [A]: Tüm düğümler için geçerlidir
  • [AH]: Tüm HANA DB düğümleri için geçerlidir
  • [M]: Çoğunluk oluşturucu düğümü için geçerlidir
  • [AH1]: SITE 1'de tüm HANA DB düğümleri için geçerlidir
  • [AH2]: SITE 2'de tüm HANA DB düğümleri için geçerlidir
  • [1]: Yalnızca HANA DB düğüm 1, SİTE 1 için geçerlidir
  • [2]: Yalnızca HANA DB düğüm 1, SİTE 2 için geçerlidir

Aşağıdakileri yaparak işletim sisteminizi yapılandırın ve hazırlayın:

  1. [A] Sanal makinelerde konak dosyalarını koruyun. Tüm alt ağlar için girdileri ekleyin. Bu örnek için aşağıdaki girdiler öğesine /etc/hosts eklenir.

    # Client subnet
    10.23.0.11 hana-s1-db1
    10.23.0.12 hana-s1-db1
    10.23.0.13 hana-s1-db2
    10.23.0.14 hana-s2-db1
    10.23.0.15 hana-s2-db2
    10.23.0.16 hana-s2-db3
    10.23.0.17 hana-s-mm
    # Internode subnet
    10.23.1.138 hana-s1-db1-inter
    10.23.1.139 hana-s1-db2-inter
    10.23.1.140 hana-s1-db3-inter
    10.23.1.141 hana-s2-db1-inter
    10.23.1.142 hana-s2-db2-inter
    10.23.1.143 hana-s2-db3-inter
    # HSR subnet
    10.23.1.202 hana-s1-db1-hsr
    10.23.1.203 hana-s1-db2-hsr
    10.23.1.204 hana-s1-db3-hsr
    10.23.1.205 hana-s2-db1-hsr
    10.23.1.206 hana-s2-db2-hsr
    10.23.1.207 hana-s2-db3-hsr
    
  2. [A] Azure yapılandırma ayarları için Microsoft ile /etc/sysctl.d/ms-az.conf yapılandırma dosyası oluşturun.

    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
    

    İpucu

    SAP konak aracısının sysctl bağlantı noktası aralıklarını yönetmesine izin vermek için yapılandırma dosyalarında ve açıkça ayarlamaktan net.ipv4.ip_local_port_rangenet.ipv4.ip_local_reserved_ports kaçının. Diğer ayrıntılar için bkz. SAP not 2382421.

  3. [A] NFS istemci paketini yükleyin.

    yum install nfs-utils
    
  4. [AH] HANA yapılandırması için Red Hat.

    Red Hat müşteri portalında ve aşağıdaki SAP notlarında açıklandığı gibi RHEL'i yapılandırın:

Dosya sistemlerini hazırlama

Aşağıdaki bölümlerde dosya sistemlerinizin hazırlanması için adımlar sağlanır. Azure NetApp Files'da Azure Dosyalar veya NFS birimindeki NFS paylaşımına /hana/shared' dağıtmayı seçtiniz.

Paylaşılan dosya sistemlerini bağlama (Azure NetApp Files NFS)

Bu örnekte, paylaşılan HANA dosya sistemleri Azure NetApp Files'a dağıtılır ve NFSv4.1 üzerinden bağlanır. Yalnızca Azure NetApp Files üzerinde NFS kullanıyorsanız bu bölümdeki adımları izleyin.

  1. [AH] SAP not 3024346 - NetApp NFS için Linux Çekirdeği Ayarlar'nde açıklandığı gibi, işletim sistemini NFS ile NetApp Systems üzerinde SAP HANA çalıştırmak için hazırlayın. NetApp yapılandırma ayarları için /etc/sysctl.d/91-NetApp-HANA.conf yapılandırma dosyası oluşturun.

    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] NetApp NFS için SAP not 3024346 - Linux Çekirdeği Ayarlar'nde önerilen sunrpc ayarlarını yapın.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    
  3. [AH] HANA veritabanı birimleri için bağlama noktaları oluşturun.

    mkdir -p /hana/shared
    
  4. [AH] NFS etki alanı ayarını doğrulayın. Etki alanının varsayılan Azure NetApp Files etki alanı olarak yapılandırıldığından emin olun: defaultv4iddomain.com. Eşlemenin olarak nobodyayarlandığından emin olun.
    (Bu adım yalnızca Azure NetAppFiles NFS v4.1 kullanıyorsanız gereklidir.)

    Önemli

    VM'de içindeki NFS etki alanını Azure NetApp Files'daki /etc/idmapd.conf varsayılan etki alanı yapılandırmasıyla eşleşecek şekilde ayarladığınızdan emin olun: defaultv4iddomain.com. NFS istemcisinde etki alanı yapılandırması ile NFS sunucusu arasında bir uyuşmazlık varsa, VM'lere bağlanan Azure NetApp birimlerindeki dosyaların izinleri olarak nobodygörüntülenir.

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  5. [AH] öğesini doğrulayın nfs4_disable_idmapping. olarak ayarlanmalıdır Y. Bulunduğu nfs4_disable_idmapping dizin yapısını oluşturmak için bağlama komutunu çalıştırın. Erişim çekirdek veya sürücüler için ayrıldığından dizini /sys/modules altında el ile oluşturamazsınız.
    Bu adım yalnızca Azure NetAppFiles NFSv4.1 kullanılıyorsa gereklidir.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 10.9.0.4:/HN1-shared /mnt/tmp
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

    Parametresini nfs4_disable_idmapping değiştirme hakkında daha fazla bilgi için Red Hat müşteri portalına bakın.

  6. [AH1] Paylaşılan Azure NetApp Files birimlerini SITE1 HANA DB VM'lerine bağlayın.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
    
  7. [AH2] Paylaşılan Azure NetApp Files birimlerini SITE2 HANA DB VM'lerine bağlayın.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
    
  8. [AH] İlgili /hana/shared/ dosya sistemlerinin NFS protokol sürümü NFSv4 ile tüm HANA DB VM'lerine bağlandığını doğrulayın.

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

Paylaşılan dosya sistemlerini bağlama (Azure Dosyalar NFS)

Bu örnekte, paylaşılan HANA dosya sistemleri Azure Dosyalar üzerinde NFS'de dağıtılır. Bu bölümdeki adımları izleyin; yalnızca Azure Dosyalar üzerinde NFS kullanıyorsanız.

  1. [AH] HANA veritabanı birimleri için bağlama noktaları oluşturun.

    mkdir -p /hana/shared
    
  2. [AH1] Paylaşılan Azure NetApp Files birimlerini SITE1 HANA DB VM'lerine bağlayın.

    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] Paylaşılan Azure NetApp Files birimlerini SITE2 HANA DB VM'lerine bağlayın.

    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] İlgili /hana/shared/ dosya sistemlerinin NFS protokol sürümü NFSv4.1 olan tüm HANA DB VM'lerine bağlandığını doğrulayın.

    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
    

Verileri hazırlama ve yerel dosya sistemlerini günlüğe kaydetme

Sunulan yapılandırmada, dosya sistemlerini /hana/data ve /hana/log yönetilen bir diske dağıtırsınız ve bu dosya sistemlerini her HANA DB VM'sine yerel olarak eklersiniz. Her HANA DB sanal makinesinde yerel verileri ve günlük birimlerini oluşturmak için aşağıdaki adımları çalıştırın.

Mantıksal Birim Yöneticisi (LVM) ile disk düzenini ayarlayın. Aşağıdaki örnekte, her HANA sanal makinesinin bağlı üç veri diski olduğu ve bu disklerin iki birim oluşturmak için kullanıldığı varsayılır.

  1. [AH] Kullanılabilir tüm diskleri listeleyin:

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

    Örnek çıkış:

    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2 
    
  2. [AH] Kullanmak istediğiniz tüm diskler için fiziksel birimler oluşturun:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    
  3. [AH] Veri dosyaları için bir birim grubu oluşturun. Günlük dosyaları için bir birim grubu ve SAP HANA'nın paylaşılan dizini için bir birim grubu kullanın:

    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] Mantıksal birimleri oluşturun. Anahtar olmadan -i kullandığınızda lvcreate doğrusal bir birim oluşturulur. Daha iyi G/Ç performansı için şeritli birim oluşturmanızı öneririz. Şerit boyutlarını SAP HANA VM depolama yapılandırmalarında belgelenen değerlerle hizalayın. -i Bağımsız değişken, temel alınan fiziksel birimlerin sayısı, -I bağımsız değişken ise şerit boyutu olmalıdır. Bu makalede, veri birimi için iki fiziksel birim kullanıldığından -i anahtar bağımsız değişkeni olarak 2ayarlanır. Veri biriminin şerit boyutu şeklindedir 256 KiB. Günlük birimi için bir fiziksel birim kullanıldığından, günlük birimi komutları için açık -i veya -I anahtar kullanmanız gerekmez.

    Önemli

    -i Anahtarı kullanın ve her veri veya günlük birimi için birden fazla fiziksel birim kullandığınızda, anahtarı temel alınan fiziksel birimin sayısına ayarlayın. -I Şeritli birim oluştururken şerit boyutunu belirtmek için anahtarı kullanın. Şerit boyutları ve disk sayısı da dahil olmak üzere önerilen depolama yapılandırmaları için bkz . SAP HANA VM depolama yapılandırmaları.

    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] Bağlama dizinlerini oluşturun ve tüm mantıksal birimlerin UUID değerini kopyalayın:

    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] Mantıksal birimler ve bağlama için girdiler oluşturun fstab :

    sudo vi /etc/fstab
    

    Dosyaya aşağıdaki satırı /etc/fstab ekleyin:

    /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
    

    Yeni birimleri bağlayın:

    sudo mount -a
    

Yükleme

SAP HANA'yı Azure VM'lerinde HSR ile bir genişleme yapılandırmasında dağıtmaya yönelik bu örnekte HANA 2.0 SP4 kullanıyorsunuz.

HANA yüklemesi için hazırlanma

  1. [AH] HANA yüklemeden önce kök parolayı ayarlayın. Yükleme tamamlandıktan sonra kök parolayı devre dışı bırakabilirsiniz. root Parolayı ayarlamak için farklı çalıştır komutupasswd.

  2. [1,2] üzerindeki /hana/sharedizinleri değiştirin.

    chmod 775 /hana/shared
    
  3. [1] Parola istenmeden güvenli kabuk (SSH) aracılığıyla hana-s1-db2 ve hana-s1-db3 oturum açabildiğinizi doğrulayın. Böyle bir durum söz konusu değilse anahtar tabanlı kimlik doğrulamasını kullanma bölümünde belirtildiği gibi anahtarları değiştirmessh.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Parola istenmeden SSH aracılığıyla hana-s2-db2 ve hana-s2-db3 oturum açabildiğinizi doğrulayın. Böyle bir durum söz konusu değilse anahtar tabanlı kimlik doğrulamasını kullanma bölümünde belirtildiği gibi anahtarları değiştirmessh.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH] HANA 2.0 SP4 için gereken ek paketleri yükleyin. Daha fazla bilgi için bkz. RHEL 7 için SAP Not 2593824 .

    # If using RHEL 7
    yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1
    # If using RHEL 8
    yum install libatomic libtool-ltdl.x86_64
    
  6. [A] HANA yüklemesini engellememesi için güvenlik duvarını geçici olarak devre dışı bırakın. HANA yüklemesi tamamlandıktan sonra yeniden etkinleştirebilirsiniz.

    # Execute as root
    systemctl stop firewalld
    systemctl disable firewalld
    

Her sitedeki ilk düğümde HANA yüklemesi

  1. [1] SAP HANA 2.0 yükleme ve güncelleştirme kılavuzundaki yönergeleri izleyerek SAP HANA'yı yükleyin. Aşağıdaki yönergeler, SİTE 1'de ilk düğümde SAP HANA yüklemesini gösterir.

    1. hdblcm Programı HANA yükleme yazılımı dizininden başlatınroot. parametresini internal_network kullanın ve iç HANA düğümler arası iletişim için kullanılan alt ağ için adres alanını geçirin.

      ./hdblcm --internal_network=10.23.1.128/26
      
    2. İstemde aşağıdaki değerleri girin:

      • Eylem seçin alanına 1 girin (yükleme için).
      • Yükleme için ek bileşenler için 2, 3 girin.
      • Yükleme yolu için Enter tuşuna basın (varsayılan olarak /hana/shared'tır).
      • Yerel Ana Bilgisayar Adı için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Sisteme konak eklemek istiyor musunuz? için n girin.
      • SAP HANA Sistem Kimliği için HN1 girin.
      • Örnek numarası [00] için 03 girin.
      • [ default] Yerel Konak Çalışan Grubu için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Sistem Kullanımını Seçin / Dizin girin [4], 4 (özel için) girin.
      • [/hana/data/HN1] Veri Birimlerinin Konumu için, varsayılanı kabul etmek için Enter tuşuna basın.
      • [/hana/log/HN1] Günlük Birimlerinin Konumu için, varsayılanı kabul etmek için Enter tuşuna basın.
      • En fazla bellek ayırmayı kısıtla? [n] için n girin.
      • Hana-s1-db1 [hana-s1-db1] konağı için Sertifika Ana Bilgisayar Adı için, varsayılanı kabul etmek için Enter tuşuna basın.
      • SAP Konak Aracısı Kullanıcısı (sapadm) Parolası için parolayı girin.
      • SAP Konak Aracısı Kullanıcı (sapadm) Parolasını Onayla için parolayı girin.
      • Sistem Yönetici istrator (hn1adm) Parolası için parolayı girin.
      • Sistem Yönetici istrator Giriş Dizini [/usr/sap/HN1/home] için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Sistem Yönetici istrator Oturum Açma Kabuğu [/bin/sh] için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Sistem Yönetici istrator Kullanıcı Kimliği [1001] için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Kullanıcı Grubunun (sapsys) [79] Kimliğini Girin için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Sistem Veritabanı Kullanıcı (sistem) Parolası için sistemin parolasını girin.
      • Sistem Veritabanı Kullanıcı (sistem) Parolasını Onayla için sistem parolasını girin.
      • Makine yeniden başlatıldıktan sonra sistemi yeniden başlatma? [n] için n girin.
      • Devam etmek istiyor musunuz (y/n) için özeti doğrulayın ve her şey iyi görünüyorsa y girin.
  2. [2] SAP HANA'yı SITE 2'de ilk düğüme yüklemek için önceki adımı yineleyin.

  3. [1,2] global.ini doğrulayın.

    global.ini görüntüleyin ve dahili SAP HANA düğümler arası iletişim yapılandırmasının yerinde olduğundan emin olun. communication Bölümünü doğrulayın. Alt ağın adres alanına inter sahip olmalı ve listeninterface olarak .internalayarlanmalıdır. internal_hostname_resolution Bölümünü doğrulayın. Alt ağa ait HANA sanal makinelerinin IP adreslerine inter sahip olmalıdır.

      sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      # Example from SITE1 
      [communication]
      internal_network = 10.23.1.128/26
      listeninterface = .internal
      [internal_hostname_resolution]
      10.23.1.138 = hana-s1-db1
      10.23.1.139 = hana-s1-db2
      10.23.1.140 = hana-s1-db3
    
  4. [1,2] SAP not 2080991 açıklandığı gibi global.ini paylaşılmayan ortamda yüklemeye hazırlayın.

     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     [persistence]
     basepath_shared = no
    
  5. [1,2] Değişiklikleri etkinleştirmek için SAP HANA'yı yeniden başlatın.

     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] İstemci arabiriminin iletişim için alt ağdan IP client adreslerini kullandığını doğrulayın.

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

    Yapılandırmayı doğrulama hakkında bilgi için bkz. SAP not 2183363 - SAP HANA iç ağının yapılandırması.

  7. [AH] HANA yükleme hatasını önlemek için veri ve günlük dizinlerindeki izinleri değiştirin.

     sudo chmod o+w -R /hana/data /hana/log
    
  8. [1] İkincil HANA düğümlerini yükleyin. Bu adımdaki örnek yönergeler SİTE 1 içindir.

    1. Yerleşik hdblcm programı olarak rootbaşlatın.

       cd /hana/shared/HN1/hdblcm
       ./hdblcm 
      
    2. İstemde aşağıdaki değerleri girin:

      • Eylem seçin alanına 2 girin (konak eklemek için).
      • Eklenecek virgülle ayrılmış konak adlarını girin alanına hana-s1-db2, hana-s1-db3 girin.
      • Yükleme için ek bileşenler için 2, 3 girin.
      • Kök Kullanıcı Adı Girin [root] için, varsayılanı kabul etmek için Enter tuşuna basın.
      • 'hana-s1-db2' konağı için rolleri seçin [1] için 1 (çalışan için) öğesini seçin.
      • 'hana-s1-db2' konağı için Ana Bilgisayar Yük Devretme Grubunu Girin [varsayılan] için, varsayılanı kabul etmek için Enter tuşuna basın.
      • 'hana-s1-db2' konağı için Depolama Bölüm Numarası girin [<<otomatik>> olarak atayın], varsayılanı kabul etmek için Enter tuşuna basın.
      • 'hana-s1-db2' [default] konağı için Çalışan Grubunu Girin için, varsayılanı kabul etmek için Enter tuşuna basın.
      • 'hana-s1-db3' konağı için rolleri seçin [1]için 1 (çalışan için) öğesini seçin.
      • 'hana-s1-db3' [default] konağı için Konak Yük Devretme Grubunu Girin için, varsayılanı kabul etmek için Enter tuşuna basın.
      • 'hana-s1-db3' konağı için Depolama Bölüm Numarası girin [<<otomatik>> olarak atayın], varsayılanı kabul etmek için Enter tuşuna basın.
      • 'hana-s1-db3' [default] konağı için Çalışan Grubunu Girin için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Sistem Yönetici istrator (hn1adm) Parolası için parolayı girin.
      • SAP Konak Aracısı Kullanıcı (sapadm) Parolası girin için parolayı girin.
      • SAP Konak Aracısı Kullanıcı (sapadm) Parolasını Onayla için parolayı girin.
      • Hana-s1-db2 [hana-s1-db2] konağı için Sertifika Ana Bilgisayar Adı için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Hana-s1-db3 [hana-s1-db3] konağı için Sertifika Ana Bilgisayar Adı için, varsayılanı kabul etmek için Enter tuşuna basın.
      • Devam etmek istiyor musunuz (y/n) için özeti doğrulayın ve her şey iyi görünüyorsa y girin.
  9. [2] site 2'ye ikincil SAP HANA düğümlerini yüklemek için önceki adımı yineleyin.

SAP HANA 2.0 sistem çoğaltmasını yapılandırma

Aşağıdaki adımlar, sistem çoğaltması için ayarlamanızı sağlar:

  1. [1] SITE 1'de sistem çoğaltmayı yapılandırma:

    Veritabanlarını hn1adm olarak yedekleyin:

    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')"
    

    Sistem PKI dosyalarını ikincil siteye kopyalayın:

    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/
    

    Birincil siteyi oluşturun:

    hdbnsutil -sr_enable --name=HANA_S1
    
  2. [2] SITE 2'de sistem çoğaltmayı yapılandırma:

    Sistem çoğaltmasını başlatmak için ikinci siteyi kaydedin. Aşağıdaki komutu hanasid>adm olarak <çalıştırın:

    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] Çoğaltma durumunu denetleyin ve tüm veritabanları eşitlenene kadar bekleyin.

    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] HANA sistem çoğaltması sanal ağ arabirimleri olsa da HANA sistem çoğaltma iletişiminin yönlendirilmesi için HANA yapılandırmasını değiştirin.

    1. HANA'yı her iki site için de durdurun.

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    2. HANA sistem çoğaltması için konak eşlemesini eklemek için global.ini düzenleyin. Alt ağdan IP hsr adreslerini kullanın.

      sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      #Add the section
      [system_replication_hostname_resolution]
      10.23.1.202 = hana-s1-db1
      10.23.1.203 = hana-s1-db2
      10.23.1.204 = hana-s1-db3
      10.23.1.205 = hana-s2-db1
      10.23.1.206 = hana-s2-db2
      10.23.1.207 = hana-s2-db3
      
    3. Her iki site için de HANA'yı başlatın.

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

    Daha fazla bilgi için bkz . Sistem çoğaltması için ana bilgisayar adı çözümlemesi.

  5. [AH] Güvenlik duvarını yeniden etkinleştirin ve gerekli bağlantı noktalarını açın.

    1. Güvenlik duvarını yeniden etkinleştirin.

      # Execute as root
      systemctl start firewalld
      systemctl enable firewalld
      
    2. Gerekli güvenlik duvarı bağlantı noktalarını açın. HANA örnek numaranız için bağlantı noktalarını ayarlamanız gerekir.

      Önemli

      HANA düğümler arası iletişime ve istemci trafiğine izin vermek için güvenlik duvarı kuralları oluşturun. Gerekli bağlantı noktaları tüm SAP ürünlerinin TCP/IP bağlantı noktalarında listelenir. Aşağıdaki komutlar yalnızca bir örnek olarak verilmişdir. Bu senaryoda, sistem numarası 03'i kullanırsınız.

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

Pacemaker kümesi oluşturma

Temel bir Pacemaker kümesi oluşturmak için Azure'da Red Hat Enterprise Linux üzerinde Pacemaker'ı ayarlama makalesindeki adımları izleyin. Kümedeki çoğunluk oluşturucu da dahil olmak üzere tüm sanal makineleri dahil edin.

Önemli

2 olarak ayarlamayın quorum expected-votes . Bu iki düğümlü bir küme değildir. Düğüm eskriminin seri durumdan çıkarılması için küme özelliğinin concurrent-fencing etkinleştirildiğinden emin olun.

Dosya sistemi kaynakları oluşturma

Bu işlemin sonraki bölümünde dosya sistemi kaynakları oluşturmanız gerekir. Şunu yapabilirsiniz:

  1. [1,2] Her iki çoğaltma sitesinde de SAP HANA'yı durdurun. Sid>adm olarak <çalıştırın.

    sapcontrol -nr 03 -function StopSystem
    
  2. [AH] Tüm HANA DB VM'lerinde yükleme için geçici olarak bağlanmış olan dosya sistemini /hana/sharedçıkarın. Çıkarmadan önce, dosya sistemini kullanan tüm işlemleri ve oturumları durdurmanız gerekir.

    umount /hana/shared 
    
  3. [1] Devre dışı durumunda için /hana/shared dosya sistemi küme kaynaklarını oluşturun. Bağlamalar etkinleştirilmeden önce konum kısıtlamalarını tanımlamanız gerektiğinden kullanırsınız --disabled .
    Azure NetApp Files'da Azure Dosyalar veya NFS birimindeki NFS paylaşımına /hana/shared' dağıtmayı seçtiniz.

    • Bu örnekte, '/hana/shared' dosya sistemi Azure NetApp Files'a dağıtılır ve NFSv4.1 üzerinden bağlanır. Yalnızca Azure NetApp Files üzerinde NFS kullanıyorsanız bu bölümdeki adımları izleyin.

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

    Önerilen zaman aşımları değerleri, küme kaynaklarının Azure NetApp Files'da NFSv4.1 kiralama yenilemeleriyle ilgili protokole özgü duraklatmaya dayanmasına olanak sağlar. Daha fazla bilgi için bkz. NetApp'te NFS En iyi uygulama.

    • Bu örnekte, '/hana/shared' dosya sistemi Azure Dosyalar'da NFS'de dağıtılır. Bu bölümdeki adımları izleyin; yalnızca Azure Dosyalar üzerinde NFS kullanıyorsanız.

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

      OCF_CHECK_LEVEL=20 özniteliği izleyici işlemine eklenir, böylece izleme işlemleri dosya sisteminde okuma/yazma testi gerçekleştirir. Bu öznitelik olmadan, izleme işlemi yalnızca dosya sisteminin bağlandığını doğrular. Bağlantı kaybolduğunda dosya sistemi erişilemez olmasına rağmen bağlı kalabileceği için bu sorun olabilir.

      on-fail=fence özniteliği de izleyici işlemine eklenir. Bu seçenekle, izleme işlemi bir düğümde başarısız olursa, bu düğüm hemen çevrelenir. Bu seçenek olmadan, varsayılan davranış başarısız kaynağa bağımlı olan tüm kaynakları durdurmak, ardından başarısız kaynağı yeniden başlatmak ve ardından başarısız kaynağa bağımlı olan tüm kaynakları başlatmaktır. Sap HANA kaynağı başarısız kaynağa bağlı olduğunda bu davranış uzun zaman almakla kalmaz, aynı zamanda tamamen başarısız olabilir. HANA ikili dosyalarını tutan NFS paylaşımına erişilemiyorsa SAP HANA kaynağı başarıyla durdurulamaz.

      Yukarıdaki yapılandırmalardaki zaman aşımlarının belirli SAP kurulumuna uyarlanması gerekebilir.

  4. [1] Düğüm özniteliklerini yapılandırın ve doğrulayın. Çoğaltma sitesi 1'de tüm SAP HANA DB düğümlerine özniteliği S1atanır ve çoğaltma sitesi 2'de bulunan tüm SAP HANA DB düğümlerine özniteliği S2atanır.

    # HANA replication site 1
    pcs node attribute hana-s1-db1 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db2 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db3 NFS_SID_SITE=S1
    # HANA replication site 2
    pcs node attribute hana-s2-db1 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db2 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db3 NFS_SID_SITE=S2
    # To verify the attribute assignment to nodes execute
    pcs node attribute
    
  5. [1] NFS dosya sistemlerinin nereye bağlanacağını belirleyen kısıtlamaları yapılandırın ve dosya sistemi kaynaklarını etkinleştirin.

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

    Dosya sistemi kaynaklarını etkinleştirdiğinizde, küme dosya sistemlerini bağlar /hana/shared .

  6. [AH] Azure NetApp Files birimlerinin her iki sitedeki tüm HANA DB VM'lerine altında /hana/sharedbağlandığını doğrulayın.

    • Örneğin, Azure NetApp Files kullanılıyorsa:

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

      sudo nfsstat -m
      # Example from SITE 1, hana-s1-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
      # Example from SITE 2, hana-s2-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
      
  7. [1] Öznitelik kaynaklarını yapılandırıp kopyalayıp kısıtlamaları aşağıdaki gibi yapılandırın:

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

    İpucu

    Yapılandırmanız /hana/shareddışında dosya sistemleri içeriyorsa ve bu dosya sistemleri NFS'ye bağlıysa seçeneğini ekleyin sequential=false . Bu seçenek, dosya sistemleri arasında herhangi bir sıralama bağımlılığı olmamasını sağlar. Tüm NFS'ye bağlı dosya sistemlerinin ilgili öznitelik kaynağından önce başlatılması gerekir, ancak birbirlerine göre herhangi bir sırayla başlamaları gerekmez. Daha fazla bilgi için bkz. NASıL YAPARıM? HANA dosya sistemleri NFS paylaşımları olduğunda Pacemaker kümesinde SAP HANA ölçeği genişletme HSR'sini yapılandırma.

  8. [1] Pacemaker'ı HANA küme kaynaklarının oluşturulmasına hazırlık olarak bakım moduna yerleştirin.

    pcs property set maintenance-mode=true
    

SAP HANA küme kaynakları oluşturma

Artık küme kaynaklarını oluşturmaya hazırsınız:

  1. [A] HANA ölçek genişletme kaynak aracısını çoğunluk oluşturucu da dahil olmak üzere tüm küme düğümlerine yükleyin.

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

    Not

    İşletim sistemi sürümünüz için paketin resource-agents-sap-hana-scaleout desteklenen en düşük sürümü için bkz . RHEL HA kümeleri için destek ilkeleri - Kümede SAP HANA yönetimi.

  2. [1,2] HaNA sistem çoğaltma kancasını her sistem çoğaltma sitesindeki bir HANA DB düğümüne yükleyin. SAP HANA hala çalışmıyor olmalıdır.

    1. Kancayı olarak roothazırlayın.

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

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [AH] Küme, sid>adm için <küme düğümünde sudoers yapılandırması gerektirir. Bu örnekte, yeni bir dosya oluşturarak bunu başaracaksınız. komutlarını olarak rootçalıştırın.

    sudo visudo -f /etc/sudoers.d/20-saphana
    # Insert the following lines and then save
    Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL
    Defaults!SOK, SFAIL !requiretty
    
  4. [1,2] Her iki çoğaltma sitesinde de SAP HANA'yı başlatın. Sid>adm olarak <çalıştırın.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] Kanca yüklemesini doğrulayın. Etkin HANA sistem çoğaltma sitesinde sid>adm olarak <çalıştırın.

    cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
    
     # Example entries
     # 2020-07-21 22:04:32.364379 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:46.905661 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.092016 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
    
  6. [1] HANA küme kaynaklarını oluşturun. Aşağıdaki komutları olarak rootçalıştırın.

    1. Kümenin zaten bakım modunda olduğundan emin olun.

    2. Ardından HANA topoloji kaynağını oluşturun.
      RHEL 7.x kümesi oluşturuyorsanız aşağıdaki komutları kullanın:

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

      RHEL >= 8.x kümesi oluşturuyorsanız aşağıdaki komutları kullanın:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \
       SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \
       op methods interval=0s timeout=5 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      
    3. HANA örnek kaynağını oluşturun.

      Not

      Bu makale, Microsoft'un artık kullanmadığını belirten bir terime başvurular içerir. Terim yazılımdan kaldırıldığında bu makaleden de kaldırılacak.

      RHEL 7.x kümesi oluşturuyorsanız aşağıdaki komutları kullanın:

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

      RHEL >= 8.x kümesi oluşturuyorsanız aşağıdaki komutları kullanın:

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

      Önemli

      Başarısız bir birincil örneğin otomatik olarak ikincil olarak kaydedilmesini önlemek için yük devretme testleri gerçekleştirirken olarak ayarlamak AUTOMATED_REGISTERfalseiyi bir fikirdir. Test ettikten sonra, en iyi yöntem olarak olarak ayarlayın AUTOMATED_REGISTERtrue, böylece devralma sonrasında sistem çoğaltması otomatik olarak devam edebilir.

    4. Sanal IP'yi ve ilişkili kaynakları oluşturun.

      pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s"
      sudo pcs resource create nc_HN1_03 azure-lb port=62503
      sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03
      
    5. Küme kısıtlamalarını oluşturun.

      RHEL 7.x kümesi oluşturuyorsanız aşağıdaki komutları kullanın:

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

      RHEL >= 8.x kümesi oluşturuyorsanız aşağıdaki komutları kullanın:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone
      
      pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      
  7. [1] Kümeyi bakım modundan çıkartın. Küme durumunun olduğundan okve tüm kaynakların başlatıldığından emin olun.

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

    Not

    Önceki yapılandırmadaki zaman aşımları yalnızca örnektir ve belirli HANA kurulumuna uyarlanması gerekebilir. Örneğin, SAP HANA veritabanını başlatmak daha uzun sürüyorsa başlangıç zaman aşımını artırmanız gerekebilir.

HANA etkin/okuma özellikli sistem çoğaltmasını yapılandırma

SAP HANA 2.0 SPS 01'den başlayarak SAP, SAP HANA sistem çoğaltması için etkin/okuma özellikli kurulumlara izin verir. Bu özellik sayesinde, okuma yoğunluklu iş yükleri için SAP HANA sistem çoğaltmasının ikincil sistemlerini etkin bir şekilde kullanabilirsiniz. Kümede böyle bir kurulumu desteklemek için, istemcilerin ikincil okuma özellikli SAP HANA veritabanına erişmesine olanak tanıyan ikinci bir sanal IP adresine ihtiyacınız vardır. Devralma gerçekleştikten sonra ikincil çoğaltma sitesine hala erişilebildiğinden emin olmak için, kümenin sanal IP adresini SAP HANA kaynağının ikinciliyle birlikte taşıması gerekir.

Bu bölümde, ikinci bir sanal IP adresiyle red hat yüksek kullanılabilirlik kümesinde bu tür sistem çoğaltmasını yönetmek için gerçekleştirmeniz gereken ek adımlar açıklanmaktadır.

Devam etmeden önce, bu makalenin önceki bölümlerinde açıklandığı gibi bir SAP HANA veritabanını yöneterek bir Red Hat yüksek kullanılabilirlik kümesini tam olarak yapılandırdığınızdan emin olun.

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

Etkin/okuma özellikli kurulum için Azure Load Balancer'da ek kurulum

İkinci sanal IP'nizi sağlamaya devam etmek için Azure Load Balancer'ı Yapılandırma bölümünde açıklandığı gibi Azure Load Balancer'ı yapılandırdığınızdan emin olun.

Standart yük dengeleyici için, önceki bölümde oluşturduğunuz yük dengeleyicide bu ek adımları izleyin.

  1. İkinci bir ön uç IP havuzu oluşturun:

    1. Yük dengeleyiciyi açın, ön uç IP havuzunu seçin ve Ekle'yi seçin.
    2. İkinci ön uç IP havuzunun adını girin (örneğin, hana-secondaryIP).
    3. Atama'yıStatik olarak ayarlayın ve IP adresini girin (örneğin, 10.23.0.19).
    4. Tamam'ı seçin.
    5. Yeni ön uç IP havuzu oluşturulduktan sonra havuz IP adresini not edin.
  2. Ardından bir sistem durumu yoklaması oluşturun:

    1. Yük dengeleyiciyi açın, sistem durumu yoklamaları'nı seçin ve Ekle'yi seçin.
    2. Yeni sistem durumu yoklamasının adını girin (örneğin, hana-secondaryhp).
    3. Protokol olarak TCP'yi ve 62603 numaralı bağlantı noktasını seçin. Aralık değerinin 5, İyi durumda olmayan eşik değerinin ise 2 olarak ayarlanmasını sağlayın.
    4. Tamam'ı seçin.
  3. Ardından yük dengeleme kurallarını oluşturun:

    1. Yük dengeleyiciyi açın, yük dengeleme kuralları'nı seçin ve Ekle'yi seçin.
    2. Yeni yük dengeleyici kuralının adını girin (örneğin, hana-secondarylb).
    3. Ön uç IP adresini, arka uç havuzunu ve daha önce oluşturduğunuz sistem durumu araştırmasını (örneğin, hana-secondaryIP, hana-backend ve hana-secondaryhp) seçin.
    4. HA Bağlantı Noktaları'nı seçin.
    5. Kayan IP'yi etkinleştirdiğinizden emin olun.
    6. Tamam'ı seçin.

HANA etkin/okuma özellikli sistem çoğaltmasını yapılandırma

HANA sistem çoğaltmasını yapılandırma adımları SAP HANA 2.0 sistem çoğaltmasını yapılandırma bölümünde açıklanmıştır. İkinci düğümde sistem çoğaltmasını yapılandırırken okuma özellikli bir ikincil senaryo dağıtıyorsanız, aşağıdaki komutu hanasidadm olarak çalıştırın:

sapcontrol -nr 03 -function StopWait 600 10 

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

Etkin/okuma özellikli kurulum için ikincil sanal IP adresi kaynağı ekleme

İkinci sanal IP'yi ve ek kısıtlamaları aşağıdaki komutlarla yapılandırabilirsiniz. İkincil örnek çalışmıyorsa, ikincil sanal IP birincile geçirilir.

pcs property set maintenance-mode=true

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

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

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

pcs property set maintenance-mode=false

Küme durumunun olduğundan okve tüm kaynakların başlatıldığından emin olun. İkinci sanal IP, SAP HANA ikincil kaynağıyla birlikte ikincil sitede çalışır.

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

Sonraki bölümde, çalıştırılacak tipik yük devretme testlerini bulabilirsiniz.

Okuma özellikli bir ikincil ile yapılandırılmış bir HANA kümesini test ederken, ikinci sanal IP'nin aşağıdaki davranışına dikkat edin:

  • Küme kaynağı SAPHana_HN1_HDB03 ikincil siteye (S2) taşındığında, ikinci sanal IP diğer siteye (hana-s1-db1) taşınır. yapılandırdıysanız AUTOMATED_REGISTER="false"ve HANA sistem çoğaltması otomatik olarak kaydedilmediyse, ikinci sanal IP hana-s2-db1 üzerinde çalışır.

  • Sunucu kilitlenmesini test ederken, ikinci sanal IP kaynakları (secvip_HN1_03) ve Azure Load Balancer bağlantı noktası kaynağı (secnc_HN1_03) birincil sunucuda birincil sanal IP kaynaklarıyla birlikte çalışır. İkincil sunucu devre dışıyken, okuma özellikli HANA veritabanına bağlı uygulamalar birincil HANA veritabanına bağlanır. Bu davranış beklenmektedir. Okuma özellikli HANA veritabanına bağlı uygulamaların ikincil sunucu kullanılamaz durumdayken çalışmasına izin verir.

  • Yük devretme ve geri dönüş sırasında, HANA veritabanına bağlanmak için ikinci sanal IP'yi kullanan uygulamalar için mevcut bağlantılar kesilebilir.

SAP HANA yük devretmeyi test edin

  1. Teste başlamadan önce kümeyi ve SAP HANA sistem çoğaltma durumunu denetleyin.

    1. Başarısız küme eylemi olmadığını doğrulayın.

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

      # Verify HANA HSR is in sync
      sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
      #| Database | Host        | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary     | Secondary| Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
      #|          |             |       |              |           |         |           | Host          | Port     | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
      #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
      #| HN1      | hana-s1-db3 | 30303 | indexserver  |         5 |       2 | HANA_S1   | hana-s2-db3 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db2 | 30303 | indexserver  |         4 |       2 | HANA_S1   | hana-s2-db2 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |  
      #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver   |         1 |       2 | HANA_S1   | hana-s2-db1 |     30301  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30307 | xsengine     |         2 |       2 | HANA_S1   | hana-s2-db1 |     30307  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30303 | indexserver  |         3 |       2 | HANA_S1   | hana-s2-db1 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      
      #status system replication site "1": ACTIVE
      #overall system replication status: ACTIVE
      
      #Local System Replication State
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      #mode: PRIMARY
      #site id: 1
      #site name: HANA_S1
      
  2. Bir düğüm NFS paylaşımına (/hana/shared ) erişimi kaybettiğinde hata senaryosu için küme yapılandırmasını doğrulayın.

    SAP HANA kaynak aracıları, yük devretme sırasında işlemleri gerçekleştirmek için üzerinde /hana/shareddepolanan ikili dosyalara bağlıdır. Dosya sistemi /hana/shared , sunulan yapılandırmada NFS üzerinden bağlanır. Gerçekleştirilebilecek bir test, birincil site VM'lerinden birinde NFS'ye bağlı dosya sistemine erişimi engellemek için /hana/shared geçici bir güvenlik duvarı kuralı oluşturmaktır. Bu yaklaşım, etkin sistem çoğaltma sitesinde erişimin /hana/shared kaybolması durumunda kümenin yük devretmesi olacağını doğrular.

    Beklenen sonuç: Birincil site VM'lerinden birinde NFS'ye /hana/shared bağlı dosya sistemine erişimi engellediğinizde, dosya sistemine erişemediğinden ve HANA kaynak yük devretmesini tetiklediğinden, dosya sisteminde okuma/yazma işlemi gerçekleştiren izleme işlemi başarısız olur. HANA düğümünüzün NFS paylaşımına erişimini kaybettiğinde de aynı sonuç beklenir.

    veya pcs statuskomutunu çalıştırarak crm_mon küme kaynaklarının durumunu de kontrol edebilirsiniz. Teste başlamadan önce kaynak durumu:

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

    için hata benzetimi yapmak için /hana/shared:

    • ANF'de NFS kullanıyorsanız, önce birincil sitedeki ANF biriminin /hana/shared IP adresini onaylayın. komutunu çalıştırarak df -kh|grep /hana/sharedbunu yapabilirsiniz.
    • Azure Dosyalar'da NFS kullanıyorsanız, önce depolama hesabınızın özel uç noktasının IP adresini belirleyin.

    Ardından, birincil HANA sistem çoğaltma sitesi VM'lerinden /hana/shared birinde aşağıdaki komutu yürüterek NFS dosya sisteminin IP adresine erişimi engellemek için geçici bir güvenlik duvarı kuralı ayarlayın.

    Bu örnekte komutu ANF birimi /hana/sharediçin hana-s1-db1 üzerinde yürütüldü.

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

    Erişim /hana/shared kaybı olan HANA VM'sinin küme yapılandırmasına bağlı olarak yeniden başlatılması veya durdurulması gerekir. Küme kaynakları diğer HANA sistem çoğaltma sitesine geçirilir.

    Küme yeniden başlatılan VM'de başlatılmadıysa, aşağıdakileri çalıştırarak kümeyi başlatın:

    # Start the cluster 
    pcs cluster start
    

    Küme başlatıldığında, dosya sistemi /hana/shared otomatik olarak bağlanır. ayarlarsanız AUTOMATED_REGISTER="false", ikincil sitede SAP HANA sistem çoğaltmasını yapılandırmanız gerekir. Bu durumda, SAP HANA'yı ikincil olarak yeniden yapılandırmak için bu komutları çalıştırabilirsiniz.

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

    Test sonrasında kaynakların durumu:

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

RHEL üzerindeki Azure VM'lerinde SAP HANA için HA'da belgelenen testleri de gerçekleştirerek SAP HANA küme yapılandırmasını kapsamlı bir şekilde test etmek iyi bir fikirdir.

Sonraki adımlar