STONITH cihazı kullanılarak SUSE'de yüksek kullanılabilirlik kurulumu
Bu makalede, STONITH cihazı kullanarak SUSE işletim sistemi üzerinde HANA Büyük Örnekleri'nde yüksek kullanılabilirlik (HA) ayarlama adımlarını atacağız.
Not
Bu kılavuz, Microsoft HANA Büyük Örnekleri ortamında kurulumu başarıyla test etme aşamasından türetildi. HANA Büyük Örnekleri için Microsoft Hizmet Yönetimi ekibi işletim sistemini desteklemez. İşletim sistemi katmanında sorun giderme veya açıklama için SUSE'ye ulaşın.
Microsoft Service Management ekibi STONITH cihazı ayarlar ve tam olarak destekler. STONITH cihaz sorunlarını gidermeye yardımcı olabilir.
Önkoşullar
SUSE kümeleyerek yüksek kullanılabilirlik ayarlamak için şunları gerekir:
- HANA Büyük Örnekleri sağlama.
- İşletim sistemini en son düzeltme ekleriyle yükleyin ve kaydettirin.
- Bağlan Düzeltme eklerini ve paketleri almak için SMT sunucusuna HANA Büyük Örnek sunucuları.
- Ağ Saati Protokolü'ünü (NTP saat sunucusu) ayarlayın.
- HA kurulumuyla ilgili en son SUSE belgelerini okuyun ve an edin.
Kurulum ayrıntıları
Bu kılavuz aşağıdaki kurulumu kullanır:
- İşletim sistemi: SAP için SLES 12 SP1
- HANA Büyük Örnekleri: 2xS192 (dört yuva, 2 TB)
- HANA sürümü: HANA 2.0 SP1
- Sunucu adları: sapprdhdb95 (node1) ve sapprdhdb96 (node2)
- STONITH cihazı: iSCSI tabanlı
- HANA Büyük Örnek düğümlerinden biri üzerinde NTP
HANA sistem çoğaltması ile HANA Büyük Örnekleri ayarsanız, Microsoft Service Management ekibinin STONITH cihazı ayarlaması için istekte bulundurabilirsiniz. Bunu sağlama zamanında yapma.
HANA Büyük Örnekleri önceden sağmış mevcut bir müşteriysiniz, STONITH cihazı ayarlamaya devam edebilirsiniz. Hizmet isteği formunda (SRF) Microsoft Hizmet Yönetimi ekibine aşağıdaki bilgileri sağlar. SRF'ye Teknik Hesap Yöneticisi'nden veya HANA Büyük Örnek ekleme için Microsoft ilgili kişiniz aracılığıyla ulaşabilirsiniz.
- Sunucu adı ve sunucu IP adresi (örneğin, myhanaserver1 ve 10.35.0.1)
- Konum (örneğin, ABD Doğu)
- Müşteri adı (örneğin, Microsoft)
- HANA sistem tanımlayıcısı (SID) (örneğin, H11)
STONITH cihazı yapılandırıldığında, Microsoft Hizmet Yönetimi ekibi size iSCSI depolamanın STONITH blok cihazı (SBD) adını ve IP adresini sağlar. STONITH kurulumunu yapılandırmak için bu bilgileri kullanabilirsiniz.
STONITH kullanarak HA'yı ayarlamak için aşağıdaki bölümlerde yer alan adımları izleyin.
SBD cihazı tanımlama
Not
Bu bölüm yalnızca mevcut müşteriler için geçerlidir. Yeni bir müşteriyebilirsiniz, Microsoft Hizmet Yönetimi ekibi size SBD cihaz adını verir, bu nedenle bu bölümü atlayabilirsiniz.
/etc/iscsi/initiatorname.isci'yi şu şekilde değiştirme:
iqn.1996-04.de.suse:01:<Tenant><Location><SID><NodeNumber>Microsoft Hizmet Yönetimi bu dizeyi sağlar. Her iki düğümde de dosyasını değiştirme. Ancak, düğüm numarası her düğümde farklıdır.

/etc/iscsi/iscsid.conf ayarını ve olarak
node.session.timeo.replacement_timeout=5node.startup = automaticdeğiştirme. Her iki düğümde de dosyasını değiştirme.Her iki düğümde de aşağıdaki bulma komutunu çalıştırın.
iscsiadm -m discovery -t st -p <IP address provided by Service Management>:3260Sonuçlar dört oturum gösterir.

iSCSI cihazında oturum açması için her iki düğümde de aşağıdaki komutu çalıştırın.
iscsiadm -m node -lSonuçlar dört oturum gösterir.

Rescan-scsi-bus.sh rescan betiği çalıştırmak için aşağıdaki komutu kullanın. Bu betik, sizin için oluşturulan yeni diskleri gösterir. Her iki düğümde de çalıştırın.
rescan-scsi-bus.shSonuçlarda sıfırdan büyük bir LUN numarası göster (örneğin: 1, 2 vb.).

Cihaz adını almak için her iki düğümde de aşağıdaki komutu çalıştırın.
fdisk –lSonuçlarda, 178 MiB boyutuna sahip cihazı seçin.

SBD cihazı başlatma
Her iki düğümde de SBD cihazı başlatmak için aşağıdaki komutu kullanın.
sbd -d <SBD Device Name> create
Cihaza yazılanları kontrol etmek için her iki düğümde de aşağıdaki komutu kullanın.
sbd -d <SBD Device Name> dump
SUSE HA kümesi yapılandırma
Her iki düğümde de ha_sles sapHanaSR-doc desenlerini kontrol etmek için aşağıdaki komutu kullanın. Yüklü değilse yükleyin.
zypper in -t pattern ha_sles zypper in SAPHanaSR SAPHanaSR-doc

komutunu veya
ha-cluster-inityast2 sihirbazını kullanarak kümeyi ayarlayın. Bu örnekte yast2 sihirbazını kullanıyoruz. Bu adımı yalnızca birincil düğümde yap.yast2 Yüksek > Kullanılabilirlik Kümesi'ne > gidin.

Paket yüklemesi hakkında görüntülenen iletişim kutusunda İptal'i seçin çünkü olay2 paketi zaten yüklü.

Devam hakkında görüntülenen iletişim kutusunda Devam'ı seçin.

Beklenen değer dağıtılan düğüm sayısıdır (bu durumda 2). İleri’yi seçin.
Düğüm adları ekleyin ve önerilen dosyaları ekle'yi seçin.

csync2'yi AÇ'ı seçin.
Önceden paylaşılan anahtarlar oluştur'ı seçin.
Açılan iletide Tamam'ı seçin.

Kimlik doğrulaması, Csync2'de IP adresleri ve önceden paylaşılan anahtarlar kullanılarak gerçekleştirilir. Anahtar dosyası ile
csync2 -k /etc/csync2/key_hagroupoluşturulur.Oluşturulan dosyayı key_hagroup kümenin tüm üyelerine el ile kopyalayın. Dosyayı node1'den node2'ye kopyalayıp kopyalamayı emin olun. Sonra İleri’yi seçin.

Varsayılan seçenekte Önyükleme Kapalı'dır. Pacemaker hizmetinin önyüklemede başlatılana kadar bunu On olarak değiştirme. Kurulum gereksinimlerinize göre seçim yapın.

Sonraki 'yi seçin ve küme yapılandırması tamamlanır.
softdog watchdog'larını ayarlama
Aşağıdaki satırı her iki düğümde de /etc/init.d/boot.local satırına ekleyin.
modprobe softdog
Her iki düğümde de /etc/sysconfig/sbd dosyasını güncelleştirmek için aşağıdaki komutu kullanın.
SBD_DEVICE="<SBD Device Name>"
Aşağıdaki komutu çalıştırarak çekirdek modülünü her iki düğüme de yükleme.
modprobe softdog
Softdog'ın her iki düğümde de çalıştırıla olduğundan emin olmak için aşağıdaki komutu kullanın.
lsmod | grep dog
Her iki düğümde de SBD cihazı başlatmak için aşağıdaki komutu kullanın.
/usr/share/sbd/sbd.sh start
Her iki düğümde de SBD daemon'larını test etmek için aşağıdaki komutu kullanın.
sbd -d <SBD Device Name> listSonuçlar, her iki düğümde de yapılandırmadan sonra iki girdi gösterir.

Düğümlerinizin biri için aşağıdaki test iletisini gönderin.
sbd -d <SBD Device Name> message <node2> <message>İkinci düğümde (node2), ileti durumunu kontrol etmek için aşağıdaki komutu kullanın.
sbd -d <SBD Device Name> list
SBD yapılandırmasını benimsemek için her iki düğümde de aşağıdaki gibi /etc/sysconfig/sbd dosyasını güncelleştirin.
SBD_DEVICE=" <SBD Device Name>" SBD_WATCHDOG="yes" SBD_PACEMAKER="yes" SBD_STARTMODE="clean" SBD_OPTS=""Birincil düğümde (node1) pacemaker hizmetini başlatmak için aşağıdaki komutu kullanın.
systemctl start pacemaker
Pacemaker hizmeti başarısız olursa, bu makalenin sonraki kısımlarında senaryo 5: Pacemaker hizmeti başarısız olur bölümüne bakın.
Düğümü kümeye ekleme
Düğüm2'de aşağıdaki komutu çalıştırarak bu düğümün kümeye katılmasına izin verme.
ha-cluster-join
Kümeye katılma sırasında hata alırsanız, bu makalenin sonraki kısımlarında Senaryo 6: Node2 kümeye katılamayacak bölümüne bakın.
Kümeyi doğrulama
Kümeyi her iki düğümde de ilk kez kontrol etmek ve isteğe bağlı olarak başlatmak için aşağıdaki komutları kullanın.
systemctl status pacemaker systemctl start pacemaker
Her iki düğümün de çevrimiçi olduğundan emin olmak için aşağıdaki komutu çalıştırın. Bunu kümenin herhangi bir düğümünde çalıştırabilirsiniz.
crm_mon
Kümenin durumunu kontrol etmek için burada da oturum açmanız gerekir:
https://\<node IP>:7630. Varsayılan kullanıcı , parola ise linux'tır. Gerekirse komutunu kullanarak parolayıpasswddeğiştirebilirsiniz.
Küme özelliklerini ve kaynaklarını yapılandırma
Bu bölüm, küme kaynaklarını yapılandırma adımlarını açıklar. Bu örnekte aşağıdaki kaynakları ayarlayacağız. SUSE HA kılavuzuna başvurarak geri kalanları yapılandırabilirsiniz (gerekirse).
- Küme önyüklemesi
- STONITH cihazı
- Sanal IP adresi
Yapılandırmayı yalnızca birincil düğümde yap.
Küme önyükleme dosyasını oluşturun ve aşağıdaki metni ekleyerek yapılandırabilirsiniz.
sapprdhdb95:~ # vi crm-bs.txt # enter the following to crm-bs.txt property $id="cib-bootstrap-options" \ no-quorum-policy="ignore" \ stonith-enabled="true" \ stonith-action="reboot" \ stonith-timeout="150s" rsc_defaults $id="rsc-options" \ resource-stickiness="1000" \ migration-threshold="5000" op_defaults $id="op-options" \ timeout="600"Yapılandırmayı kümeye eklemek için aşağıdaki komutu kullanın.
crm configure load update crm-bs.txt
Kaynağı ekleyerek, dosyayı oluşturarak ve aşağıdaki gibi metin ekleyerek STONITH cihazı yapılandırma.
# vi crm-sbd.txt # enter the following to crm-sbd.txt primitive stonith-sbd stonith:external/sbd \ params pcmk_delay_max="15"Yapılandırmayı kümeye eklemek için aşağıdaki komutu kullanın.
crm configure load update crm-sbd.txtDosyasını oluşturarak ve aşağıdaki metni ekleyerek kaynağın sanal IP adresini ekleyin.
# vi crm-vip.txt primitive rsc_ip_HA1_HDB10 ocf:heartbeat:IPaddr2 \ operations $id="rsc_ip_HA1_HDB10-operations" \ op monitor interval="10s" timeout="20s" \ params ip="10.35.0.197"Yapılandırmayı kümeye eklemek için aşağıdaki komutu kullanın.
crm configure load update crm-vip.txtKaynakları
crm_mondoğrulamak için komutunu kullanın.Sonuçlar iki kaynağı gösterir.

Durumu şu şekilde de kontrol edin: <node IP address> https://:7630/cib/live/state.

Yük devretme işlemini test etmek
Yük devretme işlemini test etmek için aşağıdaki komutu kullanarak node1'de pacemaker hizmetini durdurun.
Service pacemaker stopKaynaklar node2'ye yük devretmeye devam ediyor.
Node2'de pacemaker hizmetini durdurun ve kaynaklar node1'e yük devretmeye devam ediyor.
Yük devretmeden önceki durum şöyledir:

Yük devretme sonrasındaki durum şöyledir:


Sorun giderme
Bu bölümde, kurulum sırasında karşılaşabilirsiniz hata senaryoları açık almaktadır.
Senaryo 1: Küme düğümü çevrimiçi değil
Düğümlerden herhangi biri Küme Yöneticisi'nde çevrimiçi göster yoksa, bunu çevrimiçine getirmek için bu yordamı denemeyi ebilirsiniz.
iSCSI hizmetini başlatmak için aşağıdaki komutu kullanın.
service iscsid startBu iSCSI düğümünde oturum açması için aşağıdaki komutu kullanın.
iscsiadm -m node -lBeklenen çıkış şöyledir:
sapprdhdb45:~ # iscsiadm -m node -l Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.11,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.12,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.22,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.21,3260] (multiple) Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.11,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.12,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.22,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.21,3260] successful.
Senaryo 2: Yast2 grafik görünümünü gösterm
Yast2 grafik ekranı, bu makalede yüksek kullanılabilirlik kümesi ayarlamak için kullanılır. Gösterildiği gibi yast2 grafik penceresi açılmazsa ve bir Qt hatası oluşursa, gerekli paketleri yüklemek için aşağıdaki adımları uygulayın. Grafik penceresiyle açılırsa adımları atlayabilirsiniz.
Qt hatasının bir örneği şu şekildedir:

Beklenen çıktının bir örneği şu şekildedir:

Kullanıcı "kök" olarak oturum açtığınızdan ve paketleri indirip yüklemek için SMT'nin ayar olduğundan emin olun.
Yast Yazılım Yazılım > Yönetimi > Bağımlılıkları'na > gidin ve Önerilen paketleri yükle'yi seçin.
Not
Her iki düğümden de yast2 grafik görünümüne erişmek için her iki düğümde de adımları gerçekleştirin.
Aşağıdaki ekran görüntüsü beklenen ekranı gösterir.

Bağımlılıklar altında Önerilen Paketleri Yükle'yi seçin.

Değişiklikleri gözden geçirerek Tamam'ı seçin.

Paket yüklemesi devam eder.

İleri’yi seçin.
Yükleme Başarıyla Tamamlandı ekranı görüntülendiğinde Son'a tıklayın.

Libqt4 ve libyui-qt paketlerini yüklemek için aşağıdaki komutları kullanın.
zypper -n install libqt4
zypper -n install libyui-qt

Yast2 artık grafik görünümünü açabilir.

3. Senaryo: Yast2 yüksek kullanılabilirlik seçeneğini göstermedi
Yast2 denetim merkezinde yüksek kullanılabilirlik seçeneğinin görünür olması için diğer paketleri yüklemeniz gerekir.
Yast2 Yazılım Yazılımı > Yönetimi'ne > gidin. Ardından Yazılım Çevrimiçi > Güncelleştirme'yi seçin.

Aşağıdaki öğeler için desenleri seçin. Ardından Kabul Et'i seçin.
- SAP HANA sunucusu tabanı
- C/C++ derleyicisi ve araçları
- Yüksek kullanılabilirlik
- SAP uygulama sunucusu tabanı


Bağımlılıkları çözümlemek için değiştirilmiş paketler listesinde Devam'ı seçin.

Yükleme Durumunu Gerçekleştirme sayfasında, Sonraki'yi seçin.

Yükleme tamamlandığında bir yükleme raporu görüntülenir. Son'u seçin.

Senaryo 4: HANA yüklemesi gcc derlemeleri hatasıyla başarısız oluyor
HANA yüklemesi başarısız olursa aşağıdaki hatayı alabilirsiniz.

Sorunu çözmek için aşağıdaki ekran görüntüsünde libgcc_sl ve libstdc++6 kitaplıklarını yükleyin.

Senaryo 5: Pacemaker hizmeti başarısız oluyor
Pacemaker hizmeti başlatılayamasa aşağıdaki bilgiler görüntülenir.
sapprdhdb95:/ # systemctl start pacemaker
A dependency job for pacemaker.service failed. See 'journalctl -xn' for details.
sapprdhdb95:/ # journalctl -xn
-- Logs begin at Thu 2017-09-28 09:28:14 EDT, end at Thu 2017-09-28 21:48:27 EDT. --
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync configuration map
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync configuration ser
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync cluster closed pr
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync cluster quorum se
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync profile loading s
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [MAIN ] Corosync Cluster Engine exiting normally
Sep 28 21:48:27 sapprdhdb95 systemd[1]: Dependency failed for Pacemaker High Availability Cluster Manager
-- Subject: Unit pacemaker.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit pacemaker.service has failed.
--
-- The result is dependency.
sapprdhdb95:/ # tail -f /var/log/messages
2017-09-28T18:44:29.675814-04:00 sapprdhdb95 corosync[57600]: [QB ] withdrawing server sockets
2017-09-28T18:44:29.676023-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync cluster closed process group service v1.01
2017-09-28T18:44:29.725885-04:00 sapprdhdb95 corosync[57600]: [QB ] withdrawing server sockets
2017-09-28T18:44:29.726069-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync cluster quorum service v0.1
2017-09-28T18:44:29.726164-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync profile loading service
2017-09-28T18:44:29.776349-04:00 sapprdhdb95 corosync[57600]: [MAIN ] Corosync Cluster Engine exiting normally
2017-09-28T18:44:29.778177-04:00 sapprdhdb95 systemd[1]: Dependency failed for Pacemaker High Availability Cluster Manager.
2017-09-28T18:44:40.141030-04:00 sapprdhdb95 systemd[1]: [/usr/lib/systemd/system/fstrim.timer:8] Unknown lvalue 'Persistent' in section 'Timer'
2017-09-28T18:45:01.275038-04:00 sapprdhdb95 cron[57995]: pam_unix(crond:session): session opened for user root by (uid=0)
2017-09-28T18:45:01.308066-04:00 sapprdhdb95 CRON[57995]: pam_unix(crond:session): session closed for user root
Bunu düzeltmek için /usr/lib/systemd/system/fstrim.timer dosyasından aşağıdaki satırı silin:
Persistent=true

Senaryo 6: Node2 kümeye katılamayacak
Ha-cluster-join komutu aracılığıyla node2'nin mevcut kümeye katılmasını sağlarken bir sorun varsa aşağıdaki hata görüntülenir.
ERROR: Can’t retrieve SSH keys from <Primary Node>

Düzeltmek için:
Her iki düğümde de aşağıdaki komutları çalıştırın.
ssh-keygen -q -f /root/.ssh/id_rsa -C 'Cluster Internal' -N '' cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Node2'nin kümeye ekli olduğunu onaylayın.

Sonraki adımlar
SUSE HA kurulumu hakkında daha fazla bilgiyi aşağıdaki makalelerde bulabilirsiniz:
- SAP HANA İyileştirilmiş SR Senaryosu (SUSE web sitesi)
- Yalıtma ve STONITH (SUSE web sitesi)
- SAP HANA için Pacemaker Kümesi Kullanmaya Hazırlıklı Olun – 1. Bölüm: Temel Bilgiler (SAP blogu)
- SAP HANA için Pacemaker Kümesi Kullanmaya Hazırlıklı Olun – Bölüm 2: Her İki Düğümün Başarısız olması (SAP blogu)
Bir işletim sistemi için dosya düzeyinde yedekleme ve geri yükleme yapmayı öğrenin: