Azure 'da Red Hat Enterprise Linux paceyapıcısı ayarlama

Önce aşağıdaki SAP notlarını ve kağıtları okuyun:

Küme yüklemesi

RHEL 'de pacemaker genel bakış

Not

Red hat, yazılım ile öykünülmüş izleme 'yi desteklemez. Red hat, bulut platformlarında SBD 'yi desteklemez. Ayrıntılar için bkz. RHEL yüksek kullanılabilirlik kümeleri Için destek ilkeleri-SBD ve fence_sbd. azure 'daki pacemaker Red Hat Enterprise Linux kümeleri için desteklenen tek dizin oluşturma mekanizması, azure çit aracısıdır.

Şu öğeler, [A] ön eki olan tüm düğümlere uygulanabilir, [1] -yalnızca düğüm 1 veya [2] için geçerlidir-yalnızca node 2 için geçerlidir.

  1. [A] kayıt. RHEL SAP HA özellikli görüntüler kullanılıyorsa bu adım gerekli değildir.

    Sanal makinelerinizi kaydedin ve RHEL 7 için depoları içeren bir havuza bağlayın.

    sudo subscription-manager register
    # List the available pools
    sudo subscription-manager list --available --matches '*SAP*'
    sudo subscription-manager attach --pool=<pool id>
    

    Bir Azure Marketi PAYG RHEL görüntüsüne bir havuz iliştirerek, RHEL kullanımınız için etkin bir şekilde iki faturalandırılır: PAYG görüntüsü için bir kez ve eklediğiniz havuzdaki RHEL yetkilendirmelerinin bir kez. Bunu azaltmak için, Azure artık KCG RHEL görüntüleri sağlamaktadır. daha fazla bilgi için bkz. kendi aboneliklerinizi getir Azure görüntülerini Red Hat Enterprise Linux.

  2. [A] SAP depoları için RHEL 'yi etkinleştirin. RHEL SAP HA özellikli görüntüler kullanılıyorsa bu adım gerekli değildir.

    Gerekli paketleri yüklemek için aşağıdaki depoları etkinleştirin.

    sudo subscription-manager repos --disable "*"
    sudo subscription-manager repos --enable=rhel-7-server-rpms
    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    sudo subscription-manager repos --enable=rhel-sap-for-rhel-7-server-rpms
    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-eus-rpms
    
  3. [A] RHEL ha Add-On yüklemesi

    sudo yum install -y pcs pacemaker fence-agents-azure-arm nmap-ncat
    

    Önemli

    Müşterilerin daha hızlı bir yük devretme zamanından faydalanmasını sağlamak için aşağıdaki Azure sınır Aracısı (veya üzeri) sürümlerini öneririz. bir kaynak durmazsa veya küme düğümleri bundan böyle iletişim kuramadıysanız:
    RHEL 7,7 veya üzeri, sınır aracıları paketinin kullanılabilir en son sürümünü kullanır
    RHEL 7,6: çit-Agents-4.2.1-11.el7_6.8
    RHEL 7,5: çit-Agents-4.0.11-86.el7_5.8
    RHEL 7,4: çit-Agents-4.0.11-66.el7_4.12
    Daha fazla bilgi için, bkz. Azure VM 'nin BIR RHEL yüksek kullanılabilirlik kümesi üyesi olarak çalışıyor olması çok uzun zaman alır veya VM kapatılmadan önce başarısız/zaman aşımınauğrar.

    Azure çit aracısının sürümünü denetleyin. Gerekirse, yukarıda belirtilen değere eşit veya ondan daha yeni bir sürüme güncelleştirin.

    # Check the version of the Azure Fence Agent
     sudo yum info fence-agents-azure-arm
    

    Önemli

    Azure sınır Aracısı 'nı güncelleştirmeniz gerekiyorsa ve özel rol kullanıyorsanız, özel rolü eylem poweroff içerecek şekilde güncelleştirdiğinizden emin olun. Ayrıntılar için bkz. sınır Aracısı için özel rol oluşturma.

  4. [A] kurulum konak adı çözümlemesi

    Bir DNS sunucusu kullanabilir veya tüm düğümlerdeki/etc/Konakları değiştirebilirsiniz. Bu örnek,/etc/hosts dosyasının nasıl kullanılacağını gösterir. Aşağıdaki komutlarda IP adresini ve ana bilgisayar adını değiştirin.

    Önemli

    Küme yapılandırmasında ana bilgisayar adları kullanılıyorsa, güvenilir ana bilgisayar adı çözümlemenin olması çok önemlidir. Adlar kullanılabilir değilse ve küme yük devretme gecikmelerine yol açacağından, küme iletişimi başarısız olur. /Etc/hosts kullanmanın avantajı, kümenizin DNS 'den bağımsız hale gelmesi ve tek bir başarısızlık noktası olması olabilir.

    sudo vi /etc/hosts
    

    /Etc/hostklasörüne aşağıdaki satırları ekleyin. IP adresini ve ana bilgisayar adını ortamınıza uyacak şekilde değiştirin

    # IP address of the first cluster node
    10.0.0.6 prod-cl1-0
    # IP address of the second cluster node
    10.0.0.7 prod-cl1-1
    
  5. [A] hacluster parolasını aynı parolayla değiştirin

    sudo passwd hacluster
    
  6. [A] pacemaker için güvenlik duvarı kuralları ekleme

    Küme düğümleri arasındaki tüm küme iletişimine aşağıdaki güvenlik duvarı kurallarını ekleyin.

    sudo firewall-cmd --add-service=high-availability --permanent
    sudo firewall-cmd --add-service=high-availability
    
  7. [A] temel küme hizmetlerini etkinleştirme

    Paceoluşturucu hizmetini etkinleştirmek ve başlatmak için aşağıdaki komutları çalıştırın.

    sudo systemctl start pcsd.service
    sudo systemctl enable pcsd.service
    
  8. [1] pacemaker kümesi oluşturma

    Düğümlerin kimliğini doğrulamak ve kümeyi oluşturmak için aşağıdaki komutları çalıştırın. Belleği Bakımı korumak için belirteci 30000 olarak ayarlayın. Daha fazla bilgi için Linux için bu makaleyebakın.

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

    sudo pcs cluster auth prod-cl1-0 prod-cl1-1 -u hacluster
    sudo pcs cluster setup --name nw1-azr prod-cl1-0 prod-cl1-1 --token 30000
    sudo pcs cluster start --all
    

    RHEL 8. X üzerinde bir küme oluşturuyorsanız aşağıdaki komutları kullanın:

    sudo pcs host auth prod-cl1-0 prod-cl1-1 -u hacluster
    sudo pcs cluster setup nw1-azr prod-cl1-0 prod-cl1-1 totem token=30000
    sudo pcs cluster start --all
    

    Aşağıdaki komutu yürüterek küme durumunu doğrulayın:

     # Run the following command until the status of both nodes is online
    sudo pcs status
    # Cluster name: nw1-azr
    # WARNING: no stonith devices and stonith-enabled is not false
    # Stack: corosync
    # Current DC: prod-cl1-1 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
    # Last updated: Fri Aug 17 09:18:24 2018
    # Last change: Fri Aug 17 09:17:46 2018 by hacluster via crmd on prod-cl1-1
    #
    # 2 nodes configured
    # 0 resources configured
    #
    # Online: [ prod-cl1-0 prod-cl1-1 ]
    #
    # No resources
    #
    # Daemon Status:
    #   corosync: active/disabled
    #   pacemaker: active/disabled
    #   pcsd: active/enabled
    
  9. [A] beklenen oyları ayarla.

    # Check the quorum votes 
     pcs quorum status
     # If the quorum votes are not set to 2, execute the next command
     sudo pcs quorum expected-votes 2
    

    İpucu

    İkiden fazla düğüm içeren bir küme olan çok düğümlü küme oluşturuluyorsa, oyları 2 ' ye ayarlayın.

  10. [1] eşzamanlı çit eylemlerine izin ver

    sudo pcs property set concurrent-fencing=true
    

STONITH cihazı oluşturma

STONITH cihazı Microsoft Azure karşı yetkilendirmek için bir hizmet sorumlusu kullanır. Hizmet sorumlusu oluşturmak için bu adımları izleyin.

  1. Şuraya gidin: https://portal.azure.com
  2. Azure Active Directory dikey penceresini açın
    Özellikler ' e gidin ve Dizin KIMLIĞINI bir yere göz önünde yapın. Bu, KIRACı kimliğidir.
  3. Uygulama kayıtları tıklayın
  4. Yeni kayıt öğesine tıklayın
  5. Bir Ad girin, "Yalnızca bu kuruluş dizininde hesaplar" öğesini seçin
  6. Uygulama Türü "Web"i seçin, bir oturum açma URL'si girin (örneğin http: / /localhost) ve Ekle'ye tıklayın
    Oturum açma URL'si kullanılmaz ve geçerli bir URL olabilir
  7. Sertifikalar ve Gizli Diziler'i seçin, ardından Yeni istemci gizli dizi'ye tıklayın
  8. Yeni anahtar için bir açıklama girin, "Süresi hiçbir zaman dolmaz" öğesini seçin ve Ekle'ye tıklayın
  9. Bir düğümü Değer yapma. Hizmet Sorumlusu için parola olarak kullanılır
  10. Genel bakış'ı seçin. Uygulama Kimliği'ne bir not girin. Hizmet Sorumlusu'nın kullanıcı adı (aşağıdaki adımlarda yer alan oturum açma kimliği) olarak kullanılır

[1] Çit aracısı için özel rol oluşturma

Hizmet Sorumlusu varsayılan olarak Azure kaynaklarınıza erişim iznine sahip değildir. Kümenin tüm sanal makinelerini başlatmak ve durdurmak (kapatma) için Hizmet Sorumlusuna izin vermelisiniz. Özel rolü henüz oluşturmamışsanız PowerShell veya Azure CLI kullanarak oluşturabilirsiniz

Giriş dosyası için aşağıdaki içeriği kullanın. İçeriği aboneliklerinize uyarlamanız gerekir; c276fc76-9cd4-44c9-99a7-4fd71546436e ve e91d47c4-76f3-4271-a796-21b4ecfe3624 yerine aboneliğinizin kimliklerini alın. Yalnızca bir aboneliğiniz varsa AssignableScopes'ta ikinci girdiyi kaldırın.

{
      "Name": "Linux Fence Agent Role",
      "description": "Allows to power-off and start virtual machines",
      "assignableScopes": [
              "/subscriptions/e663cc2d-722b-4be1-b636-bbd9e4c60fd9",
              "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624"
      ],
      "actions": [
              "Microsoft.Compute/*/read",
              "Microsoft.Compute/virtualMachines/powerOff/action",
              "Microsoft.Compute/virtualMachines/start/action"
      ],
      "notActions": [],
      "dataActions": [],
      "notDataActions": []
}

[A] Özel rolü Hizmet Sorumlusuna atama

Son bölümde oluşturulan "Linux Çit Aracısı Rolü" özel rolünü Hizmet Sorumlusuna attayabilirsiniz. Artık Sahip rolünü kullanma! Ayrıntılı adımlar için bkz. Azure rollerini Azure portal.
Her iki küme düğümü için de rolü atadığınızdan emin olun.

[1] STONITH cihazları oluşturma

Sanal makinelerin izinlerini düzenledikten sonra kümede STONITH cihazlarını yapılandırabilirsiniz.


sudo pcs property set stonith-timeout=900

Not

RHEL konak pcmk_host_map Azure VM adları aynı DEĞIL ise yalnızca komutta 'pcmk_host_map' seçeneği gereklidir. Eşlemeyi hostname:vm-name biçiminde belirtin. Komutun kalın bölümüne bakın. Daha fazla bilgi için bkz. Pcmk_host_map'de stonith cihazlarına düğüm eşlemeleri belirtmek için hangi biçimi pcmk_host_map

RHEL 7.X için, çit cihazı yapılandırmak için aşağıdaki komutu kullanın:

sudo pcs stonith create rsc_st_azure fence_azure_arm login="login ID" passwd="password" resourceGroup="resource group" tenantId="tenant ID" subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
op monitor interval=3600

RHEL 8.X için, çit cihazı yapılandırmak için aşağıdaki komutu kullanın:

sudo pcs stonith create rsc_st_azure fence_azure_arm username="login ID" password="password" resourceGroup="resource group" tenantId="tenant ID" subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
op monitor interval=3600

İpucu

Özniteliği yalnızca pcmk_delay_max iki düğümlü Pacemaker kümesinde yapılandırabilirsiniz. İki düğümlü bir Pacemaker kümesinde çit çitlerini önleme hakkında daha fazla bilgi için bkz. "çit ölüm" senaryolarının çitle atması önlemek için iki düğümlü bir kümede yalıtma geciktirme.

Önemli

İzleme ve yalıtma işlemleri serinin dışıdır. Sonuç olarak, daha uzun süre çalışan bir izleme işlemi ve eşzamanlı yalıtma olayı varsa, zaten çalışan izleme işlemi nedeniyle kümenin yük devretmesinde gecikme olmaz.

[1] STONITH cihazı kullanımını etkinleştirme

sudo pcs property set stonith-enabled=true

İpucu

Azure Çit Aracısı, standart ILB kullanan VM'ler için genel uç nokta bağlantısı içinde olası çözümlerle birlikte, belgelenmiş şekilde genel uç noktalarına giden bağlantı gerektirir.

İsteğe bağlı STONITH yapılandırması

İpucu

Bu bölüm yalnızca özel yalıtma cihazı yapılandırmak istenebiliyorsa fence_kdump geçerlidir.

VM içinde tanılama bilgileri toplamanız gerekirse, çit aracısını temel alarak ek STONITH cihazı yapılandırmak yararlı fence_kdump olabilir. Aracı, bir düğümün kdump kilitlenme kurtarması girdiğini algılayarak, diğer yalıtma yöntemleri çağrılmadan önce kilitlenme kurtarma hizmetinin fence_kdump tamamlanmasına olanak sağlar. Azure fence_kdump VM'leri kullanırken Azure Çit Aracısı gibi geleneksel çit mekanizmalarının yerini alamayabilirsiniz.

Önemli

birinci düzey stonit olarak yapılandırıldığında, bunun yalıtma işlemlerinde gecikmelere ve uygulama kaynaklarının yük devretmesinde sırasıyla gecikmelere fence_kdump neden olacağının farkındasınız.

Kilitlenme dökümü başarıyla algılanırsa, kilitlenme kurtarma hizmeti tamamlayana kadar yalıtma geciktirilir. Başarısız düğüme ulaşılamazsa veya yanıt vermiyorsa, yalıtma yapılandırılmış yineleme sayısı ve zaman aşımı tarafından belirlenen süreye fence_kdump göre geciktirilir. Diğer ayrıntılar için bkz. Nasıl yaparım? Red Hat Pacemaker kümesinde fence_kdump yapılandırma.
Önerilen fence_kdump zaman aşımının belirli bir ortama uyarlanmış olması gerekir.

Stonith'i yalnızca VM içinde tanılama toplamak için gerekli olduğunda ve her zaman Azure Çit Aracısı olarak geleneksel çit fence_kdump yöntemiyle birlikte yapılandırmanız önerilir.

Aşağıdaki Red Hat KB'leri stonit yapılandırma hakkında fence_kdump önemli bilgiler içerir:

Azure Çit Aracısı yapılandırmasına ek olarak birinci düzey STONITH yapılandırması olarak eklemek için aşağıdaki isteğe fence_kdump bağlı adımları yürütün.

  1. [A] kdump'nin etkin ve yapılandırılmış olduğunu doğrulayın.

    systemctl is-active kdump
    # Expected result
    # active
    
  2. [A] Çit fence_kdump aracıyı yükleyin.

    yum install fence-agents-kdump
    
  3. [1] fence_kdump Kümede stonith cihazı oluşturun.

    
     pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" timeout=30
     
  4. [1] Stonith düzeylerini, önce yalıtma fence_kdump mekanizmasının devreye girdisi olacak şekilde yapılandırma.

    
     pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1"
     pcs stonith level add 1 prod-cl1-0 rsc_st_kdump
     pcs stonith level add 1 prod-cl1-1 rsc_st_kdump
     pcs stonith level add 2 prod-cl1-0 rsc_st_azure
     pcs stonith level add 2 prod-cl1-1 rsc_st_azure
     # Check the stonith level configuration 
     pcs stonith level
     # Example output
     # Target: prod-cl1-0
     # Level 1 - rsc_st_kdump
     # Level 2 - rsc_st_azure
     # Target: prod-cl1-1
     # Level 1 - rsc_st_kdump
     # Level 2 - rsc_st_azure
     
  5. [A] Güvenlik duvarı üzerinden gerekli bağlantı fence_kdump noktalarına izin ver

    firewall-cmd --add-port=7410/udp
    firewall-cmd --add-port=7410/udp --permanent
    
  6. [A] Görüntü dosyasının initramfs ve dosyalarını fence_kdump içerdiğini emin hosts olun. Ayrıntılar için bkz. Nasıl yaparım? Red Hat Pacemaker kümesinde fence_kdump yapılandırma.

    lsinitrd /boot/initramfs-$(uname -r)kdump.img | egrep "fence|hosts"
    # Example output 
    # -rw-r--r--   1 root     root          208 Jun  7 21:42 etc/hosts
    # -rwxr-xr-x   1 root     root        15560 Jun 17 14:59 usr/libexec/fence_kdump_send
    
  7. [A] Bazı fence_kdump_nodes sürümlerde zaman /etc/kdump.conf aşımıyla fence_kdump başarısız olmak için içinde kexec-tools yapılandırmayı gerçekleştirin. Ayrıntılar için bkz. fence_kdump kexec-tools 2.0.15 veya sonraki bir sürümüyle fence_kdump_nodes belirtilmedikçe ve fence_kdump, 2.0.14'den eski kexec-toolssürümlerine sahip bir RHEL 6 veya 7 Yüksek Kullanılabilirlik kümesinde "X saniye sonra zaman aşımı" ile başarısız olduğunda zaman aşımına uğrar. İki düğümlü küme için örnek yapılandırma aşağıda verilmiştir. içinde bir değişiklik /etc/kdump.conf olduktan sonra kdump görüntüsünün yeniden oluşturulması gerekir. Bu, hizmeti yeniden başlatarak kdump elde edilebilir.

    
     vi /etc/kdump.conf
     # On node prod-cl1-0 make sure the following line is added
     fence_kdump_nodes  prod-cl1-1
     # On node prod-cl1-1 make sure the following line is added
     fence_kdump_nodes  prod-cl1-0
    
     # Restart the service on each node
     systemctl restart kdump
     
  8. Bir düğümün kilitlenmesi ile yapılandırmayı test etmek. Ayrıntılar için bkz. Nasıl yaparım? Red Hat Pacemaker kümesinde fence_kdump yapılandırma.

    Önemli

    Küme zaten verimli bir şekilde kullanıyorsa, düğümün kilitlenmesi uygulamayı etkileyecene göre testi planla.

    echo c > /proc/sysrq-trigger
    

Sonraki adımlar