العودة إلى الإصدار 4.54.00 من Apigee Edge

إذا حدث خطأ أثناء تحديث Edge إلى الإصدار 4.54.00، يمكنك التراجع عن التغييرات التي أجريتها على المكوّن الذي تسبّب في حدوث الخطأ، ثم إعادة محاولة التحديث.

يمكنك العودة من الإصدار 4.54.00 من Edge إلى أي من إصدارات الإصدارات الرئيسية التالية:

  • الإصدار 4.53.00
  • الإصدار 4.53.01

لمزيد من المعلومات، يُرجى الاطّلاع على عملية إصدار Apigee Edge.

ترتيب العودة إلى الحالة السابقة

يجب التراجع عن ترقية المكوّنات بالترتيب المعاكس لترتيب ترقيتها. سيكون الترتيب العام النموذجي لعملية التراجع عن الإصدار 4.54.00 من السحابة الإلكترونية الخاصة على النحو التالي:

  • إعادة إصدارات Cassandra وZookeeper إلى الإصدارات السابقة
  • إعادة Qpid والمكوّنات الأخرى ذات الصلة بالإحصاءات وPostgres إلى الحالة السابقة
  • واجهة المستخدم للعودة إلى الإصدار السابق
  • العودة إلى الإصدار السابق من LDAP
  • العودة إلى الإصدار السابق من خادم الإدارة
  • العودة إلى الإصدار السابق من أجهزة التوجيه ومعالِجات الرسائل

على سبيل المثال، لنفترض أنّك أجريت ترقية لجميع أجهزة التوجيه ومعالِجات الرسائل وجميع خوادم الإدارة وLDAP وبعض عُقد واجهة المستخدم إلى الإصدار 4.54.00 من الإصدار 4.53.00 (أو) 4.53.01 وتريد التراجع عن الترقية. في هذه الحالة، يمكنك:

  • إرجاع عُقد واجهة المستخدم التي تمت ترقيتها
  • العودة إلى الإصدار السابق من عُقَد LDAP
  • التراجع عن عقد خادم الإدارة واحدة تلو الأخرى
  • إعادة جميع أسعار السوق الإقليمية إلى قيمتها السابقة واحدة تلو الأخرى

المستخدمون الذين يمكنهم العودة إلى إصدار سابق

يجب أن يكون المستخدم الذي يجري عملية الرجوع إلى إصدار سابق هو المستخدم نفسه الذي حدّث Edge في الأصل، أو مستخدم لديه امتيازات الجذر.

بشكلٍ تلقائي، يتم تشغيل مكوّنات Edge بصفتها المستخدم "apigee". في بعض الحالات، قد تكون مكوّنات Edge قيد التشغيل كمستخدمين مختلفين. على سبيل المثال، إذا كان على جهاز التوجيه الوصول إلى منافذ مميزة، مثل تلك التي تقل عن 1000، فعليك تشغيل جهاز التوجيه كجذر أو كمستخدم لديه حق الوصول إلى تلك المنافذ. أو يمكنك تشغيل مكوّن واحد كمستخدم واحد، ومكوّن آخر كمستخدم آخر.

إعادة Cassandra إلى الإصدار السابق

عند إجراء ترقية رئيسية لـ Cassandra على عقدة معيّنة، تعدّل Cassandra مخطط البيانات المخزّنة على تلك العقدة. نتيجةً لذلك، لا يمكن إجراء عملية تراجع مباشرة في المكان.

سيناريوهات العودة إلى الحالة السابقة

يلخّص الجدول التالي استراتيجيات التراجع التي يمكنك استخدامها:

السيناريو استراتيجية العودة إلى الحالة السابقة
مركز بيانات واحد، تمت ترقية بعض عُقد Cassandra استخدام النُسخ الاحتياطية
مراكز بيانات متعدّدة، تمت ترقية بعض العُقد في مركز بيانات واحد إعادة البناء من وحدة تحكّم بالنطاقات حالية
مراكز بيانات متعددة، تمت ترقية جميع عُقد Cassandra في بعض مراكز البيانات إعادة الإنشاء من وحدة تحكّم نطاق حالية
عُقد Cassandra المتعددة في مركز البيانات الأخير الذي تتم ترقيته حاوِل إكمال عملية الترقية. وإذا لم يكن ذلك ممكنًا، يمكنك العودة إلى إصدار سابق من وحدة تحكّم نطاق واحدة باستخدام النسخة الاحتياطية. أعِد إنشاء وحدات التحكّم في النطاق المتبقية من وحدة التحكّم في النطاق التي تم التراجع عنها.

اعتبارات عامة

عند التفكير في التراجع عن التغيير، يُرجى مراعاة ما يلي:

  • التراجع عن عملية ترقية Cassandra: إذا واجهت مشاكل أثناء ترقية Cassandra، يمكنك التراجع عن عملية الترقية. اتّبِع استراتيجيات التراجع الواردة في هذه المقالة استنادًا إلى حالتك أثناء عملية الترقية.
  • العودة إلى الإصدار السابق باستخدام النُسخ الاحتياطية: النُسخ الاحتياطية المأخوذة من الإصدار 5.0.X من Cassandra غير متوافقة مع النُسخ الاحتياطية من الإصدار 4.0.X من Cassandra. للعودة إلى إصدار سابق من Cassandra باستخدام استعادة النسخة الاحتياطية، عليك الاحتفاظ بنُسخ احتياطية من Cassandra 4.0.X قبل محاولة الترقية.

العودة إلى إصدار سابق من Cassandra باستخدام إعادة الإنشاء

المتطلبات الأساسية

  • أنت تشغّل مجموعة Edge for Private Cloud 4.53.00/4.53.01 في مراكز بيانات متعددة.
  • أنت بصدد ترقية Cassandra من الإصدار 4.0.X إلى الإصدار 5.0.X وواجهت مشاكل أثناء الترقية.
  • لديك مركز بيانات واحد على الأقل يعمل بكامل طاقته في المجموعة التي لا تزال تستخدم الإصدار الأقدم من Cassandra (Cassandra 4.0.X).

يعتمد هذا الإجراء على بث البيانات من مركز بيانات حالي. قد تستغرق هذه العملية وقتًا طويلاً، وذلك حسب مقدار البيانات المخزّنة في Cassandra. يجب أن تكون مستعدًا لتحويل حركة بيانات وقت التشغيل بعيدًا عن مركز البيانات هذا أثناء عملية العودة إلى الإصدار السابق.

الخطوات العامة

  1. اختَر مركز بيانات واحدًا (تمت ترقيته جزئيًا أو كليًا) تريد التراجع عن ترقيته. تحويل زيارات وقت التشغيل إلى مركز بيانات آخر يعمل بشكل صحيح
  2. حدِّد عقدة البداية في مركز البيانات وابدأ بإحدى عقد البداية.
  3. أوقِف عقدة Cassandra وألغِ تثبيتها ونظِّفها.
  4. ثبِّت الإصدار الأقدم من Cassandra على العُقدة واضبطه حسب الحاجة.
  5. أزِل الإعدادات الإضافية التي تمت إضافتها سابقًا.
  6. كرِّر الخطوات أعلاه لجميع العُقد الأولية في مركز البيانات، واحدة تلو الأخرى.
  7. كرِّر الخطوات أعلاه لجميع عُقد Cassandra المتبقية في مركز البيانات، واحدة تلو الأخرى.
  8. أعِد إنشاء العُقد من مركز البيانات الوظيفي الحالي، واحدة تلو الأخرى.
  9. أعِد تشغيل جميع مكونات edge-* في مركز البيانات المرتبطة بـ Cassandra.
  10. اختبِر حركة البيانات وحوِّلها مرة أخرى إلى مركز البيانات هذا.
  11. كرِّر الخطوات لكل مركز بيانات، واحدًا تلو الآخر.

الخطوات التفصيلية

  1. اختَر مركز بيانات واحدًا تتم فيه ترقية جميع عُقد Cassandra أو بعضها. حوِّل كل زيارات الخادم الوكيل لوقت التشغيل وزيارات الإدارة من مركز البيانات هذا أثناء التراجع عن عُقد Cassandra في مركز البيانات هذا. تأكَّد من أنّ جميع عُقد Cassandra في حالة UN (Up/Normal) عند تنفيذ الأمر nodetool ring على العُقد. إذا كانت بعض العُقد معطّلة، حدِّد المشكلة وحلّها وأعِد تشغيل هذه العُقد قبل المتابعة.

    اطّلِع على المثال الوارد في ما يلي:

    /opt/apigee/apigee-cassandra/bin/nodetool status
    Datacenter: dc-1
    ================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens       Owns (effective)  Host ID                               Rack
    UN  DC1-1IP1  456.41 KiB  1            100.0%            78fc4ddd-2ed9-4a8c-98a2-63a38c2f1920  ra-1
    UN  DC1-1IP2  870.93 KiB  1            100.0%            160db01a-64ab-43a7-b9ea-3b7f8f66d52b  ra-1
    UN  DC1-1IP3  824.08 KiB  1            100.0%            21d61543-d59e-403a-bf5d-bfe7f664baa6  ra-1
    Datacenter: dc-2
    ================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens       Owns (effective)  Host ID                               Rack
    UN  DC2-1IP1   802.08 KiB  1            100.0%            583e0576-336d-4ce7-9729-2ae74e0abde2  ra-1
    UN  DC2-1IP2   844.4 KiB   1            100.0%            fef794d5-f4c2-4a4e-bb05-9adaeb4aea4b  ra-1
    UN  DC2-1IP3   878.12 KiB  1            100.0%            3894b3d9-1f5a-444d-83db-7b1e338bbfc9  ra-1

    يمكنك تنفيذ nodetool describecluster على العُقد لفهم الحالة الحالية للمجموعة بأكملها. على سبيل المثال، يوضّح ما يلي مثيلاً لمجموعة من مركزَي بيانات حيث تكون جميع عُقد DC-1 على الإصدار 4 من Cassandra، في حين تكون جميع عُقد DC-2 على الإصدار 3 من Cassandra:

    # On nodes where Cassandra is upgraded
    /opt/apigee/apigee-cassandra/bin/nodetool describecluster
    Cluster Information:
        Name: Apigee
        Snitch: org.apache.cassandra.locator.PropertyFileSnitch
        DynamicEndPointSnitch: enabled
        Partitioner: org.apache.cassandra.dht.RandomPartitioner
        Schema versions:
            2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3]
            129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3]
    
    Stats for all nodes:
        Live: 6
        Joining: 0
        Moving: 0
        Leaving: 0
        Unreachable: 0
    
    Data Centers:
        dc-1 #Nodes: 3 #Down: 0
        dc-2 #Nodes: 3 #Down: 0
    
    Database versions:
        5.0.8: [DC-1-IP1:7000, DC-1-IP2:7000, DC-1-IP3:7000]
        4.0.13: [DC-2-IP1:7000, DC-2-IP2:7000, DC-2-IP3:7000]
    
    Keyspaces:
        system_schema -> Replication class: LocalStrategy {}
        system -> Replication class: LocalStrategy {}
        auth -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        cache -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        devconnect -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        dek -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        user_settings -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        apprepo -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        kms -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        identityzone -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        audit -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        analytics -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        keyvaluemap -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        counter -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        apimodel_v2 -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        system_distributed -> Replication class: SimpleStrategy {replication_factor=3}
        system_traces -> Replication class: SimpleStrategy {replication_factor=2}
        system_auth -> Replication class: SimpleStrategy {replication_factor=1}
    
    # On nodes where Cassandra is not upgraded
    /opt/apigee/apigee-cassandra/bin/nodetool describecluster
    Cluster Information:
        Name: Apigee
        Snitch: org.apache.cassandra.locator.PropertyFileSnitch
        DynamicEndPointSnitch: enabled
        Partitioner: org.apache.cassandra.dht.RandomPartitioner
        Schema versions:
            2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3]
            129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3]
            
  2. تحديد العُقد الأولية في مركز البيانات: راجِع قسم كيفية تحديد العُقد الأولية في الملحق. نفِّذ الخطوات التالية على إحدى عُقد الإعداد:
  3. أوقِف عملية التثبيت وألغِها ونظِّف البيانات من عقدة Cassandra. اختَر عقدة أولية أولى في الإصدار 5 من Cassandra في مركز البيانات هذا. توقّف عن ذلك.
    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Uninstall Cassandra software
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    
    # Wipe out Cassandra data
    rm -rf /opt/apigee/data/apigee-cassandra
            
  4. تثبيت إصدار Cassandra الأقدم على العقدة وضبط بعض الإعدادات نفِّذ ملف الإعداد الأولي لإصدار Edge for Private Cloud 4.53.00/4.53.01.
  5. # Download bootstrap of 4.53.00
    curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh -u uName:pWord
    
    # Execute bootstrap of 4.53.00
    sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
        
  6. أنشئ الملف أو عدِّله /opt/apigee/customer/application/cassandra.properties.
  7. أضِف المحتوى التالي إلى الملف. ‫ipOfNode هو عنوان IP للعقدة التي تستخدمها Cassandra للتواصل مع عُقد Cassandra الأخرى:
    conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
  8. تأكَّد من أنّ ملف الشهادة مملوك ويمكن قراءته من قِبل مستخدم Apigee:
    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  9. ثبِّت Cassandra وأعِدّها:
  10. # Install cassandra version 4.0.X
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
    # Setup cassandra while passing standard configuration file
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
    # Ensure Cassandra version is correct and service is running
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status
  11. تأكَّد من بدء العقدة. تحقَّق من الأمر التالي على هذه العقدة والعقد الأخرى في المجموعة. يجب أن تشير العقدة إلى أنّها في الحالة "UN" (Up/Normal):
    /opt/apigee/apigee-cassandra/bin/nodetool status
  12. أزِل الإعدادات الإضافية التي تمت إضافتها سابقًا من الملف /opt/apigee/customer/application/cassandra.properties.
  13. كرِّر الخطوات من 3 إلى 10 على جميع عقد Cassandra الأولية في مركز البيانات، واحدة تلو الأخرى.
  14. كرِّر الخطوات من 3 إلى 10 على جميع عُقد Cassandra المتبقية في مركز البيانات، واحدة تلو الأخرى.
  15. أعِد إنشاء جميع العُقد في مركز البيانات من مركز بيانات يشغّل إصدار Cassandra الأقدم. نفِّذ هذه الخطوة على عقدة واحدة في كل مرة:
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>

    قد يستغرق هذا الإجراء بعض الوقت. يمكنك تعديل streamingthroughput إذا لزم الأمر. يمكنك الاطّلاع على nodetool netstats لمعرفة حالة اكتمال العملية.

  16. (اختياري) نفِّذ أمر الإصلاح في عقدة Cassandra إذا لم تتم إعادة إنشاء البيانات.
    /opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
  17. أعِد تشغيل جميع مكونات edge-* في مركز البيانات، واحدًا تلو الآخر:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. التحقّق من صحة الزيارات وإعادة توجيهها إلى مركز البيانات هذا يمكنك إجراء بعض عمليات التحقّق من صحة زيارات وقت التشغيل وواجهات برمجة التطبيقات للإدارة في مركز البيانات هذا، والبدء في إعادة توجيه زيارات الخادم الوكيل وواجهة برمجة التطبيقات للإدارة إليه.
  19. كرِّر الخطوات أعلاه لكل مركز بيانات تريد التراجع عنه.

إعادة Cassandra إلى الحالة السابقة باستخدام Backup

المتطلبات الأساسية

  1. أنت بصدد ترقية Cassandra من الإصدار 4.0.X إلى الإصدار 5.0.X وواجهت مشاكل أثناء الترقية.
  2. يجب أن تتوفّر لديك نُسخ احتياطية للعقدة التي تريد العودة إلى إصدارها السابق. تم أخذ النسخة الاحتياطية قبل محاولة الترقية من الإصدار 4.0.X إلى الإصدار 5.0.X.

الخطوات

  1. اختَر عقدة واحدة تريد التراجع عنها. في حال التراجع عن جميع العُقد في مركز بيانات باستخدام النُسخ الاحتياطية، ابدأ بالعُقد الأولية أولاً. يُرجى الرجوع إلى قسم كيفية تحديد العُقد الأولية في الملحق.

  2. أوقِف عقدة Cassandra وألغِ تثبيتها ونظِّفها:

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Uninstall Cassandra software
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    
    # Wipe Cassandra data
    rm -rf /opt/apigee/data/apigee-cassandra
  3. ثبِّت إصدار Cassandra الأقدم على العقدة واضبطه:

    • نفِّذ ملف الإعداد الأولي لإصدار Edge for Private Cloud‏ 4.53.00/4.53.01:
    • # Download bootstrap for 4.53.00
      curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh -u uName:pWord
      
      # Execute bootstrap for 4.53.00
      sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
    • أنشئ الملف /opt/apigee/customer/application/cassandra.properties أو عدِّله:
    • conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
    • تأكَّد من أنّ ملف الشهادة يملكه مستخدم Apigee ويمكن قراءته:
    • chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    • ثبِّت Cassandra وأعِدّها:
    • # Install Cassandra version 4.0.X
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
      
      # Set up Cassandra with the standard configuration file
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
      
      # Verify Cassandra version and check service status
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status

    تأكَّد من أنّ العُقدة قد بدأت. تحقَّق من الأمر التالي على هذه العقدة والعقد الأخرى في المجموعة. يجب أن تشير العُقد إلى أنّ هذه العقدة في الحالة "UN":

    /opt/apigee/apigee-cassandra/bin/nodetool status
  4. أوقِف خدمة Cassandra واستعِد النسخة الاحتياطية. يُرجى الرجوع إلى مستندات الاحتفاظ بنسخة احتياطية والاستعادة لمزيد من التفاصيل:

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Wipe the data directory in preparation for restore
    rm -rf /opt/apigee/data/apigee-cassandra/data
    
    # Restore the backup taken before the upgrade attempt
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backupFile
            
  5. بعد استعادة النسخة الاحتياطية، أزِل الإعدادات الإضافية باتّباع الخطوات التالية:

    أزِل الإعدادات التي أضفتها سابقًا من الملف /opt/apigee/customer/application/cassandra.properties.

  6. ابدأ خدمة Cassandra على العقدة:

    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  7. كرِّر الخطوات على كل عقدة Cassandra تريد التراجع عنها باستخدام النُسخ الاحتياطية، واحدة تلو الأخرى.

  8. بعد استعادة جميع عُقد Cassandra، أعِد تشغيل جميع مكوّنات edge-* واحدًا تلو الآخر:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

تحسينات النسخ الاحتياطي (خيار متقدّم)

يمكنك تقليل (أو تجنُّب) فقدان البيانات أثناء استعادة النُسخ الاحتياطية إذا كانت لديك نُسخ متماثلة تحتوي على أحدث البيانات. إذا كانت النُسخ المتماثلة متاحة، بعد استعادة النسخة الاحتياطية، نفِّذ عملية إصلاح على العُقدة التي تم استعادتها.

الملحق

كيفية تحديد العُقد الأولية

على أي عقدة Cassandra في مركز بيانات، نفِّذ الأمر التالي:

/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure -search conf_cassandra_seeds

سيعرض الأمر عدة أسطر. ابحث عن السطر الأخير من الناتج. عناوين IP المُدرَجة في السطر الأخير هي عُقد البداية. في المثال أدناه، DC-1-IP1 وDC-1-IP2 وDC-2-IP1 وDC-2-IP2 هي عناوين IP لعقدة البداية:

Found key conf_cassandra_seeds, with value, "127.0.0.1", in /opt/apigee/apigee-cassandra/token/default.properties

Found key conf_cassandra_seeds, with value, 127.0.0.1, in /opt/apigee/apigee-cassandra/token/application/cassandra.properties

Found key conf_cassandra_seeds, with value, "DC-1-IP1, DC-1-IP2, DC-2-IP1, DC-2-IP2", in /opt/apigee/token/application/cassandra.properties
apigee-configutil: apigee-cassandra: # OK

العودة إلى إصدار ZooKeeper السابق

العودة إلى الحالة السابقة

في حال الحاجة إلى العودة إلى إصدار سابق:

  1. نفِّذ خطوات التراجع على المراقبين والمتابعين أولاً. يُرجى الرجوع إلى مقالة تحديد القائد والمتابعين والمراقبين لمعرفة كيفية اختيار المراقبين والمتابعين.
  2. نزِّل ملف bootstrap للإصدار الذي تريد العودة إليه، إما 4.53.00 أو 4.53.01، ونفِّذه. من المرجّح أن تختلف العملية استنادًا إلى ما إذا كانت العقدة تتضمّن اتصالاً خارجيًا بالإنترنت أو إذا كنت تتّبع عملية التثبيت بلا إنترنت.
  3. أوقِف Zookeeper إذا كان قيد التشغيل على العقدة:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  4. إلغاء تثبيت zookeeper الحالي:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
  5. ثبِّت Zookeeper كالمعتاد:
      /opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
  6. بعد العودة إلى الإصدار السابق من جميع العُقد التابعة والعُقد المراقِبة، يمكنك العودة إلى الإصدار السابق من العقدة الرئيسية باتّباع الخطوات من 2 إلى 5 على العقدة الرئيسية.
  7. بعد التراجع عن جميع العُقد، تحقَّق من سلامة المجموعة وتأكَّد من وجود عقدة رئيسية في المجموعة.

استعادة النسخة الاحتياطية

يُرجى الرجوع إلى مقالة استعادة البيانات من نسخة احتياطية.

العودة إلى الإصدار السابق من Qpid

للرجوع إلى إصدار سابق من Feature Release، احرص على تنزيل ملف bootstrap.sh للإصدار الذي تريد الرجوع إليه. للرجوع إلى الإصدار 4.53.00 أو 4.53.01، نزِّل bootstrap_4.53.00.sh.

للعودة إلى إصدار Qpid السابق، اتّبِع الخطوات التالية على جميع مضيفي Qpid:

  1. أوقِف وسيط Qpid الحالي:
    apigee-service apigee-qpidd stop
  2. احظر حركة البيانات الواردة على منفذ وسيط 5672 من جميع معالِجات الرسائل من خلال تطبيق جدار حماية. يمكنك تطبيق جدار الحماية هذا على مستوى مثيل عقدة Qpid أو بعض جدار الحماية الخارجي أو مكوّن الشبكة الآخر.

    ننصحك بتنفيذ الخطوة نفسها لجميع عناوين IP الخاصة بمعالِجات الرسائل. على سبيل المثال، لإسقاط الطلبات الواردة من عناوين IP الخاصة بمعالج الرسائل إلى عقدة Qpid على المنفذ 5672 باستخدام IPTables، يمكنك استخدام أمر مثل هذا:

    iptables -A INPUT -p tcp --dport 5672 -s MESSAGE_PROCESSOR_IP -j DROP
  3. ابدأ تشغيل وسيط Qpid مرة أخرى لتفريغ الرسائل الحالية إن وجدت:
    apigee-service apigee-qpidd start
  4. تأكَّد من أنّ قوائم الانتظار الحالية فارغة. للتحقّق من ذلك، سجِّل الدخول إلى بوابة إدارة Qpid:
    http://QPID_NODE_IP:8090
  5. بعد التأكّد من تفريغ قوائم الانتظار، أوقِف Qpid وألغِ تثبيته:
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. احذف دليل بيانات Qpid:
    rm -r APIGEE_ROOT/data/apigee-qpidd
  7. أعِد تثبيت وسيط Qpid:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  8. بعد إعادة تثبيت وسيط Qpid، أزِل إعدادات جدار الحماية وأدرِج أي إعدادات حالية باستخدام الأوامر التالية:
    iptables -F
    iptables -L

العودة إلى الإصدار السابق من Postgres

للرجوع من الإصدار 4.54.00 إلى الإصدار 4.53.00 أو 4.53.01، عليك التراجع عن عملية تعديل Postgres بالإضافة إلى مكونات Edge.

للتراجع عن تحديث Postgres عند تحديث Postgres في إعدادات النسخة الاحتياطية الرئيسية:

  • ترقية العقدة الاحتياطية الجديدة لتصبح العقدة الرئيسية في Postgres سيكون Postgres الرئيسي الجديد هو الإصدار نفسه من تثبيت Edge السابق.
  • اضبط عقدة الاستعداد القديمة لتكون عقدة استعداد للعقدة الرئيسية الجديدة. سيكون إصدار عقدة الاستعداد القديمة هو نفسه إصدار تثبيت Edge السابق.
  • سجِّل العُقد الرئيسية والاحتياطية الجديدة مع مجموعات الإحصاءات والمستهلكين.

بعد الانتهاء من عملية الرجوع إلى الإصدار السابق، لن تعود هناك حاجة إلى العُقدة الرئيسية القديمة. ويمكنك بعد ذلك إيقاف تشغيل العقدة الرئيسية القديمة.

قبل البدء

قبل العودة من الإصدار 18 من Postgres إلى الإصدار 17 أو 14، اتّبِع الخطوات التالية على كلّ من المضيف الاحتياطي الجديد والمضيف الاحتياطي القديم لتعديل السمة max_locks_per_transaction في apigee-postgresql:

  1. إذا لم يكن الملف /opt/apigee/customer/application/postgresql.properties متوفّرًا، أنشِئه.
  2. غيِّر ملكية هذا الملف إلى apigee:
    sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
  3. أضِف السمة التالية إلى الملف:
    conf/postgresql.conf+max_locks_per_transaction=30000
  4. اضبط apigee-postgresql:
    apigee-service apigee-postgresql configure
  5. أعِد تشغيل apigee-postgresql:
    apigee-service apigee-postgresql restart

إجراء التراجع المفصّل

  1. تأكَّد من أنّ عقدة Postgres الاحتياطية الجديدة تعمل:
    /opt/apigee/apigee-service/bin/apigee-all status

    إذا لم يكن Postgres قيد التشغيل، ابدأ تشغيله:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. تأكَّد من إيقاف Postgres على العقدة الرئيسية القديمة وعقدة النسخ الاحتياطي القديمة:
    /opt/apigee/apigee-service/bin/apigee-all status

    إذا كان Postgres قيد التشغيل، أوقِفه:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop  
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. إذا كان Qpid مثبَّتًا، ابدأ تشغيله على عُقدة الاستعداد القديمة:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. ترقية العقدة الاحتياطية الجديدة لتصبح العقدة الرئيسية في Postgres:
    1. رقِّ العقدة الاحتياطية الجديدة لتصبح العقدة الرئيسية الجديدة:
      apigee-service apigee-postgresql promote-standby-to-master old_master_IP

      أدخِل كلمة مرور Postgres لمستخدم "apigee"، والتي تكون تلقائيًا "postgres"، إذا طُلب منك ذلك.

    2. عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. اضبط النسخة الرئيسية الجديدة:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. إذا سبق لك ترقية عقدة الاستعداد القديمة إلى الإصدار الأحدث، عليك أولاً إرجاع إصدار برنامج Apigee على عقدة الاستعداد القديمة. إذا كان لا يزال لديك الإصدار القديم على العقدة الاحتياطية القديمة، يمكنك تخطّي هذه الخطوة والمتابعة إلى الخطوة 6.
    1. أوقِف Postgres على عقدة الاستعداد القديمة:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. ألغِ تثبيت Postgres من العقدة الاحتياطية القديمة:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
      apigee-service edge-analytics uninstall
    3. احذف دليل بيانات Postgres من العقدة الاحتياطية القديمة:
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
    4. نزِّل برنامج الإقلاع للإصدار الأقدم (لإصدار Apigee الذي تريد الرجوع إليه) وشغِّله على العقدة الاحتياطية القديمة. قد تختلف الخطوات الدقيقة حسب ما إذا كنت تستخدم عملية تثبيت تستند إلى الإنترنت أو عملية تثبيت بلا اتصال بالإنترنت. سيؤدي تشغيل الإصدار الأقدم من Apigee bootstrap إلى إعداد مستودعات yum باستخدام بيانات الإصدار الأقدم من Apigee.
    5. اضبط مكوّنات Postgres على العقدة الاحتياطية القديمة:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. تحقَّق من أنّ مكوّنات Postgres على عقدة الاستعداد القديمة قد تمت إعادتها إلى الإصدار الأقدم:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. أعِد إنشاء عقدة الاستعداد القديمة:
    1. عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. أزِل دليل البيانات في عقدة الاستعداد القديمة:
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
    3. أعِد ضبط العقدة الاحتياطية القديمة لتصبح عقدة احتياطية للعقدة الرئيسية الجديدة:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. تأكَّد من تشغيل Postgres على العقدة الاحتياطية القديمة:
      /opt/apigee/apigee-service/bin/apigee-all status

      إذا لم يكن Postgres قيد التشغيل، ابدأ تشغيله:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. تحقَّق من إضافة العقدة الاحتياطية الجديدة من خلال الاطّلاع على ملف /opt/apigee/apigee-postgresql/conf/pg_hba.conf في العقدة الرئيسية الجديدة.
  8. يمكنك الاطّلاع على معلومات الإحصاءات ومجموعة المستهلكين الحالية من خلال تشغيل الأمر التالي على خادم الإدارة:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    يعرض هذا الأمر اسم مجموعة الإحصاءات في الحقل name، واسم مجموعة المستهلكين في الحقل name ضمن consumer-groups. تعرض هذه السمة أيضًا أرقام التعريف الفريدة العالمية (UUID) للعقد الرئيسية والاحتياطية القديمة في Postgres في الحقل postgres-server وفي الحقل datastores. من المفترض أن يظهر لك ناتج بالشكل التالي:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }
  9. احصل على عنوان UUID الخاص بالعقدة الرئيسية القديمة من خلال تنفيذ الأمر curl التالي على عقدة master القديمة:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    من المفترض أن يظهر لك معرّف UUID للعقدة في نهاية الناتج، بالشكل التالي:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. كرِّر الخطوة السابقة للحصول على عناوين IP للعقدة الاحتياطية القديمة والعقدة الرئيسية الجديدة.
  11. أزِل العُقد الرئيسية والاحتياطية القديمة من مجموعة المستهلكين:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    حيث axgroup-001 وconsumer-group-001 هما الاسمان التلقائيان لمجموعتَي التحليلات والمستهلكين. masterUUID,standbyUUID بالترتيب نفسه الذي ظهرت به أعلاه عند عرض الإحصاءات الحالية ومعلومات مجموعة المستهلكين أعلاه. قد تحتاج إلى تحديدها على أنّها standbyUUID,masterUUID.

    يجب أن تكون السمة datastores الخاصة بـ consumer-groups فارغة الآن.

  12. أزِل العُقد الرئيسية والاحتياطية القديمة من مجموعة الإحصاءات:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    من المفترض أن تكون السمة postgres-server ضمن uuids فارغة الآن.

  13. سجِّل عقدتَي PG الرئيسية والاحتياطية الجديدتَين مع مجموعتَي الإحصاءات والمستهلكين:
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  14. التحقّق من صحة مجموعة الإحصاءات:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    من المفترض أن تظهر لك معرّفات UUID للعُقد الرئيسية والاحتياطية الجديدة المُدرَجة في مجموعة الإحصاءات ومجموعة المستهلكين.

  15. أعِد تشغيل خادم إدارة Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. أعِد تشغيل جميع خوادم Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. أعِد تشغيل جميع خوادم Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. تحقَّق من حالة النسخ المتماثل من خلال تنفيذ النصوص البرمجية التالية على كلا الخادمَين. من المفترض أن يعرض النظام نتائج متطابقة على كلا الخادمَين لضمان نجاح عملية النسخ المتماثل:

    على الجهاز الرئيسي الجديد، نفِّذ ما يلي:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    تأكَّد من أنّها هي النسخة الرئيسية. على عقدة الاستعداد القديمة، شغِّل ما يلي:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    تأكَّد من أنّه الجهاز الاحتياطي.

  19. كرِّر الخطوة السابقة بعد إجراء عدة طلبات بيانات من واجهة برمجة التطبيقات للتأكّد من أنّ العُقد متزامنة.
  20. إيقاف تشغيل خادم Postgres الرئيسي القديم:

    بدلاً من ذلك، يمكنك إلغاء تثبيت Qpid من الجهاز الرئيسي القديم وتثبيت Qpid على عقدة الجهاز الرئيسي الجديدة. بعد إلغاء تثبيت Qpid، يمكنك إيقاف تشغيل العقدة الرئيسية القديمة.

العودة إلى واجهة مستخدم New Edge السابقة

يحلّ الإصدار 4.54.00 من Apigee Edge for Private Cloud محل واجهة المستخدم الكلاسيكية (edge-ui) بواجهة مستخدم Edge الجديدة (edge-management-ui). بما أنّ مكوّن واجهة المستخدم يتغيّر في الإصدار 4.54.00، يتطلّب الرجوع إلى الإصدار 4.53.00 أو 4.53.01 إلغاء تثبيت edge-management-ui وإعادة تثبيت ملف تعريف واجهة المستخدم السابق:

  • واجهة المستخدم الكلاسيكية (edge-ui): أعِد تثبيت ملف تعريف ui.
  • واجهة مستخدم Edge الجديدة (edge-ui وedge-management-ui): أعِد تثبيت الملفين الشخصيين ui وue في العُقد الخاصة بهما.

للتراجع عن واجهة المستخدم على عقدة:

  1. أوقِف واجهة مستخدم Edge الجديدة 4.54.00 وألغِ تثبيتها وثبِّت الإصدار السابق للعودة إليه:
    1. أوقِف واجهة مستخدم New Edge UI الإصدار 4.54.00 وألغِ تثبيتها (edge-management-ui):
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui uninstall
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui-static uninstall
    2. نفِّذ ملف الإعداد الأولي لإصدار Apigee Edge for Private Cloud ‎4.53.00/4.53.01:
      # Download bootstrap for 4.53.00
      curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh -u uName:pWord
      
      # Execute bootstrap for 4.53.00
      sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
    3. العودة إلى الإصدار السابق من apigee-setup من 4.54.00:
      # Uninstall apigee-setup
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
      
      # Install apigee-setup
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  2. استعادة إعدادات واجهة المستخدم في الإصدار 4.53.00/4.53.01:
    • إذا احتفظت بنسخة احتياطية من ملف الإعداد الصامت من عملية التثبيت بالإصدار 4.53.00 أو 4.53.01، استخدِم ملف النسخة الاحتياطية هذا لإجراء عملية الرجوع إلى الإصدار السابق. وإلا، في ملف الإعداد الصامت 4.54.00، يمكنك استعادة أو إلغاء التعليق على خصائص واجهة المستخدم 4.53.00 أو 4.53.01 التي تمت إزالتها أو التعليق عليها أثناء الترقية. للمزيد من المعلومات، يُرجى الاطّلاع على قسم ترقية واجهة المستخدم.
    • إذا تم حذف /opt/apigee/customer/application/ui.properties أثناء الترقية، يمكنك استعادته من دليل النسخة الاحتياطية:
      cp -rf /opt/apigee/backup/ui/customer/application/ui.properties /opt/apigee/customer/application/
      chown apigee:apigee /opt/apigee/customer/application/ui.properties
  3. أعِد تثبيت إصدار واجهة المستخدم السابق واضبطه باتّباع الخطوات التالية:
    • العودة إلى واجهة المستخدم الكلاسيكية (edge-ui):
      1. تثبيت واجهة المستخدم الكلاسيكية وإعدادها (بالنسبة إلى المصادقة الأساسية، لا يلزم اتّخاذ أي خطوات إضافية):
        /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
      2. في حال تفعيل الدخول المُوحَّد (SSO)، اضبط الدخول المُوحَّد (SSO) على واجهة المستخدم الكلاسيكية (تأكَّد من تشغيل apigee-sso أولاً):
        /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile
    • الرجوع إلى الإصدار 4.53.00 أو 4.53.01 من واجهة مستخدم New Edge (edge-management-ui وShoehorn edge-ui):
      1. تأكَّد من ضبط EDGEUI_ENABLE_UNIFIED_UI=y في ملف الإعداد الصامت، ثم ثبِّت الملفين الشخصيين ui وue وأعدّهما:
        /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
        /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile
      2. في حال تفعيل الدخول المُوحَّد (SSO)، اضبط الدخول المُوحَّد (SSO) على كلا مكوّنَي واجهة المستخدم (تأكَّد من تشغيل apigee-sso أولاً):
        /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile
        /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile
  4. التحقّق من حالة واجهة المستخدم التي تم التراجع عنها وإصدارها:
    • بالنسبة إلى واجهة المستخدم الكلاسيكية (edge-ui):
      /opt/apigee/apigee-service/bin/apigee-service edge-ui status
      /opt/apigee/apigee-service/bin/apigee-service edge-ui version
    • بالنسبة إلى واجهة مستخدم Edge الجديدة (edge-management-ui):
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui status
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui version

العودة إلى الإصدار السابق من OpenLDAP

يقدّم هذا القسم دليلاً مفصّلاً للعودة من Symas OpenLDAP 2.6.10 في Edge for Private Cloud 4.54.00 إلى OpenLDAP 2.4.46 (Edge for Private Cloud 4.53.00) أو Symas OpenLDAP 2.6.7 (Edge for Private Cloud 4.53.01). يجب إجراء عملية العودة إلى الإصدار السابق على مجموعة LDAP بالكامل باستخدام نسخة احتياطية صالحة من LDAP قبل الترقية.

الهدف الأساسي هو إعادة مجموعة LDAP بالكامل إلى حالة متسقة من نسخة احتياطية جيدة معروفة. هذا الإجراء هو نفسه لجميع السيناريوهات: خادم واحد، ونشط-نشط، ونشط-غير نشط.

قبل البدء

  • عدم توافق النسخة الاحتياطية: استخدِم نسخة احتياطية تم إنشاؤها قبل الترقية من OpenLDAP 2.4.46 (الإصدار 4.53.00 من Edge for Private Cloud) أو Symas OpenLDAP 2.6.7 (الإصدار 4.53.01 من Edge for Private Cloud) تم إنشاؤها باستخدام apigee-service apigee-openldap backup قبل محاولة الترقية. النُسخ الاحتياطية التي تم إنشاؤها بعد الترقية غير متوافقة ولا يمكن استخدامها.
  • تعطُّل Management API: أثناء عملية التراجع عن LDAP، ستكون واجهات Management API غير متاحة، ما قد يؤثر في المهام الإدارية. أوقِف جميع مثيلات edge-management-server وedge-ui قبل المتابعة وتنفيذ عملية التراجع عن LDAP.
  • خطر فقدان البيانات: في حال المتابعة بدون نسخة احتياطية صالحة ومتوافقة، قد تفقد البيانات بشكل نهائي.
  • نسخة احتياطية صالحة: يجب توفّر نسخة احتياطية صالحة من LDAP قبل الترقية.
  • النسخ الاحتياطي لملفات silent.conf: احتفِظ بنُسخ احتياطية من ملفات silent.conf من الإصدارَين السابق والحالي لمنع حدوث تداخل في الإعدادات أثناء إجراءات الترقية والعودة إلى إصدار سابق.
  • تسلسل التراجع: أكمِل إجراءات التراجع عن Cassandra وZooKeeper وQpid وPostgreSQL وapigee-sso وواجهة مستخدم Edge قبل التراجع عن OpenLDAP.

إجراء العودة إلى الحالة السابقة

  1. إيقاف خادم الإدارة وواجهة المستخدم: أوقِف جميع مثيلات edge-management-server وedge-ui قبل المتابعة في عملية العودة إلى إصدار LDAP السابق:
    apigee-service edge-management-server stop
    apigee-service edge-ui stop
  2. تسجيل عدد معلومات وصفية في دليل LDAP الحالية (قبل إيقاف LDAP): احصل على إجمالي عدد السجلات كمرجع من جميع خوادم LDAP، مع استبدال YOUR_PASSWORD بكلمة مرور مدير LDAP الحالية. (يجب أن يتطابق عدد السجلات في جميع خوادم LDAP).
    # Note: Replace 'YOUR_PASSWORD' with your current LDAP manager password.
    ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w 'YOUR_PASSWORD' | wc -l
  3. إيقاف الإصدار الجديد من LDAP 2.6 وإلغاء تثبيته: أوقِف خدمة apigee-openldap واحذف أدلة الإعدادات والبيانات. نفِّذ هذه الخطوة على جميع خوادم LDAP، عُقدة واحدة في كل مرة في المجموعة، لضمان الاتساق:
    apigee-service apigee-openldap stop
    apigee-service apigee-openldap uninstall
    rm -rf /opt/apigee/data/apigee-openldap/*
  4. تثبيت الإصدار السابق من LDAP 2.4.46 أو 2.6.7:
    • تثبيت إصدار LDAP القديم:
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f /opt/silent.conf
    • التحقّق من إصدار LDAP:
      source ~/.bash_profile
      ldapsearch -VV
      
      # Expected output if rolled back to 4.53.00:
      ldapsearch: @(#) $OpenLDAP: ldapsearch 2.4.46
      
      # Expected output if rolled back to 4.53.01:
      ldapsearch: @(#) $OpenLDAP: ldapsearch 2.6.7
    • كرِّر الخطوات الفرعية السابقة في الخطوة 4 على كل عقدة LDAP، واحدة تلو الأخرى.
  5. تنظيف البيانات المتبقية: على جميع خوادم LDAP، أوقِف الخدمة المثبَّتة حديثًا واحدًا تلو الآخر ونظِّف دليل البيانات الخاص بها استعدادًا للاستعادة من النسخة الاحتياطية:
    apigee-service apigee-openldap stop
    rm -rf /opt/apigee/data/apigee-openldap/*
  6. استعادة بيانات LDAP: بالنسبة إلى إعداد خادم واحد، انتقِل مباشرةً إلى الخطوة 6ب. بالنسبة إلى عملية الإعداد على عدة خوادم، انتقِل إلى الخطوة 6أ.
    1. تحديد خادم LDAP النشط: قبل استعادة بيانات LDAP، حدِّد الخادم النشط (مقدّم الخدمة) من خلال تشغيل هذا الأمر:
      grep -i '^olcSyncrepl:' /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase*.ldif
    2. استعادة بيانات LDAP (يجب التأكّد من إكمال الخطوة 5 على جميع الخوادم قبل الاستعادة):
      • على خادم LDAP الفردي أو النشط (الذي تم تحديده في الخطوة 6أ)، انتقِل إلى دليل النسخ الاحتياطي واستعِد النسخة الاحتياطية التي تم إنشاؤها قبل الترقية (على سبيل المثال، 2025.07.28,13.59.00، أو احذف الطابع الزمني إذا كانت النسخة الاحتياطية التي تم إنشاؤها قبل الترقية هي أحدث نسخة احتياطية في الدليل):
        cd /opt/apigee/backup/openldap
        
        # To restore a specific backup, provide the timestamp as shown below:
        apigee-service apigee-openldap restore 2025.07.28,13.59.00
        
        # Note: If no timestamp is provided, the latest available backup will be restored by default:
        apigee-service apigee-openldap restore
        
        # It is recommended to specify the backup explicitly to avoid restoring an unintended version.
      • ابدأ خدمة apigee-openldap باتّباع الخطوات التالية:
        apigee-service apigee-openldap start
  7. بدء تشغيل خوادم LDAP المتبقية: إذا كان لديك إعداد خوادم متعددة، ابدأ الخدمة على كل خادم من خوادم LDAP المتبقية:
    apigee-service apigee-openldap start
  8. التحقّق النهائي:
    • تحقَّق من نجاح عملية العودة إلى الحالة السابقة ومن اتساق البيانات في مجموعة LDAP بالكامل.
    • نفِّذ أمر التحقّق من الصحة على جميع خوادم LDAP، مع استبدال YOUR_PASSWORD بكلمة مرور مدير LDAP الحالية. يجب أن يكون عدد السجلات متطابقًا على جميع الخوادم، ويجب أن يتطابق مع العدد الذي سجّلته في الخطوة 2:
      # Note: Replace 'YOUR_PASSWORD' with your current LDAP manager password.
      ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w 'YOUR_PASSWORD' | wc -l
    • بعد التأكّد من صحة البيانات واتساقها، ابدأ تشغيل edge-management-server وedge-ui وأي مكوّنات أخرى تابعة وفقًا للإجراءات العادية في مؤسستك.

العودة إلى الإصدار السابق من مكوّنات Edge

مكوّنات تتضمّن رمزًا شائعًا

تتشارك مكوّنات Edge التالية في الرمز البرمجي الشائع. لذلك، لإعادة أي من هذه المكوّنات إلى الإصدار السابق على إحدى العُقد، عليك إعادة جميع هذه المكوّنات إلى الإصدار السابق على تلك العقدة:

  • ‫edge-management-server (خادم الإدارة)
  • edge-message-processor (معالج الرسائل)
  • edge-router (جهاز توجيه)
  • edge-postgres-server (خادم Postgres)
  • edge-qpid-server (خادم Qpid)

على سبيل المثال، إذا كان لديك خادم الإدارة والموجّه ومعالج الرسائل مثبّتًا على العقدة، عليك التراجع عن الثلاثة جميعًا للتراجع عن أيّ منها.

للعودة إلى إصدار رئيسي أو فرعي سابق، نفِّذ ما يلي على كل عقدة تستضيف المكوّن:

  1. نزِّل ملف bootstrap.sh للنسخة التي تريد الرجوع إليها:

    • للعودة إلى الإصدار 4.53.00/4.53.01، نزِّل bootstrap_4.53.00.sh/bootstrap_4.53.01.sh
  2. أوقِف المكوّن للتراجع عن التغييرات:
    1. لإرجاع أي من المكوّنات التي تتضمّن رمزًا برمجيًا مشتركًا على العقدة، عليك إيقافها كلها، كما يوضّح المثال التالي:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. للتراجع عن أي مكوّن آخر على العقدة، أوقِف هذا المكوّن فقط:
      /opt/apigee/apigee-service/bin/apigee-service component stop
  3. في حال التراجع عن تثبيت ميزة &quot;تحقيق الربح&quot;، عليك إلغاء تثبيتها من جميع عُقد Management Server وMessage Processor:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. ألغِ تثبيت المكوّن للعودة إلى الإصدار السابق على العقدة:
    1. للتراجع عن أي من المكوّنات التي تتضمّن رمزًا برمجيًا مشتركًا على العقدة، عليك إلغاء تثبيت جميع المكوّنات من خلال إلغاء تثبيت مجموعة المكوّنات edge-gateway وapigee-cassandra-client، كما يوضّح المثال التالي:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra-client uninstall
    2. للتراجع عن التغييرات في Nginx، اتّبِع الخطوات التالية:
      ### Find the apigee-nginx RPM
      rpm -qa | grep -i "apigee-nginx"
      
      ### Remove the apigee-nginx RPM
      dnf remove apigee-nginx-1.30.x
      
    3. لإرجاع أي مكوّن آخر على العقدة، عليك إلغاء تثبيت هذا المكوّن فقط، كما يوضّح المثال التالي:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      حيث component هو اسم المكوّن.

    4. للعودة إلى الإصدار السابق من Edge Router، يجب حذف محتوى ملف /opt/nginx/conf.d بالإضافة إلى إلغاء تثبيت مجموعة مكوّنات edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. ألغِ تثبيت الإصدار 4.54.00 من apigee-setup باتّباع الخطوات التالية:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. ثبِّت الإصدار 4.53.00 من الأداة apigee-service والبرامج التابعة لها. يثبّت المثال التالي الإصدار 4.53.00 من apigee-service:
    sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord

    حيث uName وpWord هما اسم المستخدم وكلمة المرور اللذان تلقيتهما من Apigee. في حال حذف pWord، سيُطلب منك إدخاله.

    إذا ظهرت لك رسالة خطأ، تأكَّد من تنزيل ملف bootstrap.sh في الخطوة 1.

  7. تثبيت "apigee-setup":
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. ثبِّت الإصدار القديم من المكوّن:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    حيث يمثّل component المكوّن المطلوب تثبيته، ويمثّل configFile ملف الإعداد للإصدار القديم.

  9. في حال التراجع عن Qpid، يمكنك تفريغ iptables:
    sudo iptables -F
  10. كرِّر هذه العملية لكل عقدة تستضيف المكوّن الذي تريد التراجع عنه.

العودة إلى الإصدار السابق من mTLS

للتراجع عن تحديث mTLS، اتّبِع الخطوات التالية على جميع المضيفين:

  1. إيقاف Apigee:
    apigee-all stop
  2. إيقاف mTLS:
    apigee-service apigee-mtls uninstall
  3. أعِد تثبيت mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf