Veri merkezi ekleme

Edge for Private Cloud 4.18.01 sürümü

Bu dokümanda, mevcut bir veri merkezine veri merkezinin (bölge olarak da adlandırılır) nasıl ekleneceği açıklanmaktadır.

Veri merkezi eklemeden önce dikkat edilmesi gereken noktalar

Veri merkezi yüklemeden önce veri merkezleri genelinde OpenLDAP, ZooKeeper, Cassandra ve Postgres sunucularını nasıl yapılandıracağınızı anlamanız gerekir. Ayrıca iki veri merkezindeki düğümler arasında gerekli bağlantı noktalarının açık olduğundan emin olmanız gerekir.

  • OpenLDAP
    Her veri merkezinin, çoğaltma etkin şekilde yapılandırılmış kendi OpenLDAP sunucusu vardır. Yeni veri merkezini yüklediğinizde, OpenLDAP'yi çoğaltmayı kullanacak şekilde yapılandırmanız ve çoğaltmayı kullanmak için mevcut veri merkezindeki OpenLDAP sunucusunu yeniden yapılandırmanız gerekir.
  • ZooKeeper
    Her iki veri merkezinin ZK_HOSTS özelliği için her iki veri merkezindeki tüm ZooKeeper düğümlerinin IP adreslerini veya DNS adlarını aynı sırada belirtin ve tüm düğümleri ":observer" değiştiriciyle işaretleyin. ":observer" değiştiricisi olmayan düğümler "oters" olarak adlandırılır. Yapılandırmanızda tek sayıda "oy veren" olması gerekir.

    Bu topolojide, ana makine 9'daki ZooKeeper ana makinesi gözlemcidir:



    Aşağıda gösterilen örnek yapılandırma dosyasında düğüm 9, beş seçmeninizin olması için ":observer" değiştiriciyle etiketlenir: Düğüm 1, 2, 3, 7 ve 8.

    Her veri merkezinin ZK_CLIENT_HOSTS mülkü için, veri merkezindeki tüm ZooKeeper düğümleri için aynı sırayla veri merkezindeki yalnızca ZooKeeper düğümlerinin IP adreslerini veya DNS adlarını belirtin.
  • Cassandra
    Tüm veri merkezleri aynı sayıda Cassandra düğümüne sahip olmalıdır.

    Her veri merkezinin CASS_HOSTS bölümünde, her iki veri merkezinin tüm Cassandra IP adreslerini (DNS adlarını değil) belirttiğinizden emin olun. 1. veri merkezi için önce ilgili veri merkezindeki Cassandra düğümlerini listeleyin. 2. veri merkezi için önce ilgili veri merkezindeki Cassandra düğümlerini listeleyin. Veri merkezindeki tüm Cassandra düğümlerini aynı sırayla listeleyin.

    Tüm Cassandra düğümlerinde ":<d>,<r>" son eki bulunmalıdır. Örneğin, "<ip>:1,1 = veri merkezi 1, raf/kullanılabilirlik bölgesi 1 ve "<ip>:2,1 = veri merkezi 2 ve raf/kullanılabilirlik bölgesi 1".
    Örneğin, "192.168.124.201:1, 1, 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1, 192.168.12 alt bölgesinde her biri 192.168.124.201:1, 1, 192.168.124.202:1,1 192.168.168.124.204:2,1, 192.168.12.

    Bu dağıtım modelinde Cassandra kurulumu aşağıdaki gibi görünür:


  • Postgres
    Varsayılan olarak Edge, tüm Postgres düğümlerini ana modda yükler. Ancak birden fazla veri merkeziniz olduğunda Postgres düğümlerini ana beklemede çoğaltmayı kullanacak şekilde yapılandırırsınız. Böylece, ana düğüm başarısız olursa bekleme düğümü sunucu trafiğine devam edebilir. Genellikle, ana Postgres sunucusunu bir veri merkezinde, bekleme sunucusunu ise ikinci veri merkezinde yapılandırırsınız.

    Mevcut veri merkezi, ana/bekleme modunda iki Postgres düğümü çalışacak şekilde yapılandırılmışsa bu prosedür kapsamında, mevcut bekleme düğümünün kaydını silin ve yeni veri merkezindeki bir bekleme düğümüyle değiştirin.

    Aşağıdaki tabloda her iki senaryo için Postgres yapılandırması öncesi ve sonrası gösterilmektedir:

    Önce

    Sonra

    dc-1'de tek Ana Postgres düğümü

    dc-1'deki ana Postgres düğümü

    dc-2'deki Bekleme Postgres düğümü

    dc-1'deki ana Postgres düğümü

    dc-1'deki Bekleme Postgres düğümü

    dc-1'deki ana Postgres düğümü

    dc-2'deki Bekleme Postgres düğümü

    dc-1'de eski Bekleme Postgres düğümünün kaydını iptal et

  • Bağlantı noktası gereksinimleri
    İki veri merkezindeki düğümler arasında gerekli bağlantı noktalarının açık olduğundan emin olmanız gerekir. Bağlantı noktası şeması için Yükleme Gereksinimleri başlıklı makaleye bakın.

Mevcut veri merkezi güncelleniyor

Veri merkezi eklemek için yeni veri merkezi düğümlerini kurma ve yapılandırma adımlarını uygulamanız gerekir ancak orijinal veri merkezindeki düğümleri de güncellemeniz gerekir. Yeni veri merkezine, mevcut veri merkezinden erişilebilir olması gereken yeni Cassandra ve ZooKeeper düğümleri eklediğiniz ve çoğaltmayı kullanmak için OpenLDAP'yi yeniden yapılandırmanız gerektiği için bu değişiklikler gereklidir.

Yapılandırma dosyalarını oluşturma

Aşağıda, iki veri merkezinin sessiz yapılandırma dosyaları gösterilmektedir. Her veri merkezi, Yükleme Topolojileri bölümünde gösterildiği gibi 6 düğüme sahiptir. dc-1 yapılandırma dosyasının ek ayarlar eklediğine dikkat edin:

  • OpenLDAP'yi iki OpenLDAP düğümünde çoğaltma ile yapılandırın.
  • dc-2'deki yeni Cassandra ve ZooKeeper düğümlerini dc-1'in yapılandırma dosyasına ekleyin.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

Yeni veri merkezi ekleme prosedürü

Bu prosedürde, veri merkezleri şu şekilde adlandırılır:

  • dc-1: mevcut veri merkezi
  • dc-2: yeni veri merkezi
  1. dc-1'de, dc-2'deki Cassandra düğümlerini içeren yeni dc-1 confiig dosyasıyla orijinal Cassandra düğümlerinde setup.sh'i yeniden çalıştırın:
    /opt/../..//become-setup/bin/setup.sh -p ds -f configFile1
  2. dc-1'de, Yönetim Sunucusu düğümünde setup.sh'i yeniden çalıştırın:
    > /opt/../..//impression-setup/bin/setup.sh -p ms -f configFile1
  3. dc-2'de tüm düğümlere apigee-setup komutunu yükleyin. Daha fazla bilgi için Edge Apigee-setup yardımcı programını yükleme bölümüne bakın.
  4. dc-2'de, Cassandra ve ZooKeeper'ı uygun düğümlere yükleyin:
    /opt/Apigee/become-setup/bin/setup.sh -p ds -f configFile2
  5. dc-2'de, dc-1 bölge adını belirterek tüm Cassandra düğümlerinde rebuild komutunu çalıştırın:
    > /opt/../..//impression-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. dc-2'de, Yönetim Sunucusu'nu uygun düğüme yükleyin:
    > /opt/impression/Apigee-setup/bin/setup.sh -p ms -f configFile2
  7. dc-2'deki Yönetim Sunucusu düğümünde, Apigee-adminapi.sh yardımcı programını yükleyen Apigee-provide'i yükleyin:
    > /opt/../..//Apigee-service/bin/qwiklabs-service Apigee-provide install
  8. dc-2'de, Rotalar ve Mesaj İşleyicilerini uygun düğümlere yükleyin:
    > /opt/../..//Apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. dc-2'de, Qpid'i uygun düğümlere yükleyin:
    > /opt/../..//Apigee-setup/bin/setup.sh -p qs -f configFile2
  10. dc-2'de Postgres'i uygun düğüme yükleyin:
    > /opt/../..//impression-setup/bin/setup.sh -p ps -f configFile2
  11. Postgres düğümleri için Postgres ana/bekleme özelliğini kurun. dc-1'deki Postgres düğümü ana, dc-2'deki Postgres düğümü ise bekleme sunucusudur.

    Not: dc-1, ana/bekleme modunda çalışan iki Postgres düğümü olacak şekilde yapılandırılmışsa bu prosedürün bir parçası olarak dc-1'deki mevcut ana Postgres düğümünü ana düğüm olarak, dc-2'deki Postgres düğümünü ise bekleme sunucusu olarak kullanın. Bu prosedürün ilerleyen bölümlerinde, dc-1'de mevcut Postgres bekleme sunucusunun kaydını sileceksiniz.
    1. dc-1'deki ana düğümde, yapılandırma dosyasını şu değeri içerecek şekilde düzenleyin:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Yeni ana makinede çoğaltmayı etkinleştirin:
      > /opt/../..//../../-service/bin/become-service Apigee-postgresql setup-replication-on-master -f configFIle
    3. dc-2'deki bekleme düğümünde yapılandırma dosyasını düzenleyerek şunları ayarlayın:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. dc-2'deki bekleme düğümünde sunucuyu durdurun ve daha sonra mevcut tüm Postgres verilerini silin:
      > /opt/../..//../../-service/bin/become-service Apigee-postgresql stop
      > rm -rf /opt/impression/data/../../-postgresql/

      Not: Gerekirse bu verileri silmeden önce yedekleyebilirsiniz.
    5. Bekleme düğümünü dc-2 içinde yapılandırın:
      > /opt/../..//Apigee-service/bin/Apigee-service become-postgresql setup-replication-on-standby -f configFile
  12. dc-1'de, analiz yapılandırmasını güncelleyin ve kuruluşları yapılandırın.
    1. dc-1'in Yönetim Sunucusu düğümünde Postgres düğümünün UUID'sini alın:
      > Apigee-adminapi.sh server list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      UUID, döndürülen verilerin sonunda görünür. Bu değeri kaydedin.

      Not: dc-1, ana/bekleme modunda iki Postgres düğümüne sahip olacak şekilde yapılandırılmışsa çıkışta iki IP adresi ve UUID görürsünüz. Her iki UUID'yi de kaydedin. IP'lerden, hangi UUID'nin ana düğüm, hangisinin bekleme düğümü için olduğunu belirleyebilmeniz gerekir.
    2. dc-2'nin Yönetim Sunucusu düğümünde, önceki adımda gösterildiği gibi Postgres düğümünün UUID'sini alın. Bu değeri kaydedin.
    3. dc-1'in Yönetim Sunucusu düğümünde, analizin ve tüketici gruplarının adını belirleyin. Aşağıdaki komutların çoğu için bu bilgiler gereklidir.
      Varsayılan olarak analiz grubunun adı axgroup-001 ve tüketici grubunun adı da consumer-group-001'dir. Bir bölgenin sessiz yapılandırma dosyasında, AXGROUP özelliğini kullanarak analiz grubunun adını ayarlayabilirsiniz.

      Analizlerin ve tüketici gruplarının adlarından emin değilseniz bunları görüntülemek için aşağıdaki komutu kullanın:
      > Apigee-adminapi.sh analytics groups list --admin adminEmail --pwd adminPword --host localhost

      Bu komut, ad alanında analiz grubu adını ve tüketici grupları alanındaki tüketici grubu adını döndürür.
    4. dc-1'in Yönetim Sunucusu düğümünde, mevcut Postgres sunucusunu analiz grubundan kaldırın:
      1. Postgres düğümünü consumer-group'tan kaldırın:
        > Apigee_admin-UID0kie-posta e-posta_tutma%C5%95%95%C5%9Fis%C5%9Fis%C5%9%C5%9Fi%C5%C5%9Fi%C3%C5%9Fi%C3%C5%9Fi%C3%c1%C5%9Fi%C5%9Fi%C3%C5%9Fi%C%C3%C5%B1%C5%5%C3%B1%%C5%5%3%C3%C3%C3%C3%C3%C3%C3%C3%C veya C1%C5%C5%C5%C5%C5%%C%C1%C5 hizmetlerine çalışıyor_olan e-posta/e-posta


      2. Postgres düğümünü analiz grubundan kaldırın:
        > Apigee-admin-toplantısı -- UID_admin-e-posta_abi-yoneticiyi-kaldırma:Yıldız-yöneticisi-e-posta adresi


    5. dc-1'in Yönetim Sunucusu düğümünde, yeni ana/beklemedeki Postgres sunucularını analiz grubuna ekleyin:
      1. Her iki Postgres sunucusunu analiz grubuna ekleyin:
        > Apigee-adminapi.sh analytics groups postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        burada UUID_2 düğümü ana makineye karşılık gelir. UID_UID_1, Ddc_UID_1 düğümüne karşılık gelir.
      2. PG sunucularını tüketici grubuna ana/destekleyici olarak ekleyin:
        > Apigee-adminapi.sh analytics groups consumer_groups datastores add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    6. dc-2 içindeki Qpid sunucularını analiz grubuna ekleyin:
      1. dc-1'in Yönetim Sunucusu düğümünde, dc-2 içindeki Qpid düğümlerinin UUID'lerini alın:
        > Apigee-adminapi.sh server list -r dc-2 -pcentral -t qpid-server --admin adminEmail --pwd adminPword --host localhost'ta döndürülen verilerin UUID'leri görünür.

        UUID'ler görünür.
        Bu değerleri kaydedin.
      2. dc-1'in Yönetim Sunucusu düğümünde, Qpid düğümlerini analiz grubuna ekleyin (her iki komutu da çalıştırın):
        >Apigee-adminapi.sh analytics groups qpid_server add -g axgroup-001 -u "UUID_1 --admin adminEmail --pwd adminPword --id_host UID_admin UID__host localhost-gword-adminUID_adminUID_admin

      3. dc-1 Yönetim Sunucusu düğümünde, Qpid düğümlerini tüketici grubuna ekleyin (her iki komutu da çalıştırın):
        > Apigee-adminapi.sh analytics groups consumer_groups consumer add -g axgroup-001 -c consumer-group-001 -u "UUID_1" --admin admin-host1 UID_0%C3%C5%B1%C5%95%9c%99%85%9c%9%C3%B1%%C3%B1%C5%B3%C5%5%5A5A%C5%9Fis%C1%C5%A%C3%B1%C3%B1%C3%C3%B1%C3%B1%C3%B1%C3%B1%C3%B1%C3%B1%C3%B1_enet%C4%B1_grubu ekle e-posta

    7. Eski Postgres bekleme sunucusunun kaydını sildikten ve dc-1'den silin:
      1. Mevcut dc-1 Postgres bekleme sunucusunun kaydını silme:
        > Apigee-adminapi.sh sunucularının kaydını iptal etme -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        UUID'nin eski beklemedeki düğümü
      2. Mevcut dc-1 Postgres bekleme sunucusunu silin:
        Not: Bu komut Postgres sunucu düğümünü kaldırmaz. Bunu yalnızca Edge düğümleri listesinden kaldırır. Gerekirse daha sonra Postgres'i düğümden kaldırabilirsiniz.
        > Apigee-adminapi.sh sunucular sil -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. Cassandra anahtar alanlarını, iki veri merkezi için doğru çoğaltma faktörüyle güncelleyin. Bu adımı her iki veri merkezindeki bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız yeterlidir:

    Not: Aşağıdaki komutlar, çoğaltma faktörünü "3" olarak ayarlayarak kümedeki üç Cassandra düğümünü belirtir. Bu değeri, yüklemeniz için gereken şekilde değiştirin.
    1. Cassandra cqlsh yardımcı programını başlatın:
      > /opt/../..//Apigee-cassandra/bin/cqlsh cassandraIP
    2. Cassandra anahtar alanları için çoğaltma düzeylerini ayarlamak için "cqlsh>" isteminde aşağıdaki CQL komutlarını yürütün:
      1. cqlsh> ALTER KEYSPACE "identityzone" WITH çoğaltma = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH çoğaltma = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Şu komutu kullanarak tuş alanlarını görüntüleyin:
        cqlsh> system.schema_keyspaces;
      4. cqlsh'den çıkış:
        cqlsh> exit
  14. Bellekte yer açmak için dc-1'deki tüm Cassandra düğümlerinde aşağıdaki Nodetool komutunu çalıştırın:
    > /opt/../..//Apigee-cassandra/bin/nodetool -h cassandraIP Cleanup
  15. Veri merkezlerinde desteklemek istediğiniz her kuruluş ve ortam için:
    1. dc-1'in Yönetim Sunucusu düğümünde, Kuruluşa yeni MP_POD'u ekleyin:
      > Apigee-adminapi.sh orgs orgs kapsülleri add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost
      MP_2 adlı dosya ağ geçidinin adı olarak MP_POD tarafından tanımlandığında

      MP_2 adlı ağ geçidinin adı; MP_POD mülküdür.
    2. Yeni İleti İşleyicileri kuruluşa ve ortama ekleyin:
      1. dc-2'nin Yönetim Sunucusu düğümünde, dc-2'deki İleti İşleyici düğümlerinin UUID'lerini alın:
        > Apigee-adminapi.sh server list -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost'ta yerel ana makinede görünür.

        UUID'ler gösterilir.
        Bu değerleri kaydedin.
      2. dc-1'in Yönetim Sunucusu düğümünde, dc-2'deki her Mesaj İşleyici için, İleti İşleyici'yi kuruluşun bir ortamına ekleyin:
        > Apigee-adminapi.sh orgs envs server add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPhost
    3. dc-1'in Yönetim Sunucusu düğümünde şu kuruluşu kontrol edin:
      > Apigee-adminapi.sh orgs apis distribution -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost


      burada apiProxyName kuruluşta dağıtılan bir API proxy'sinin adıdır.