Apigee Edge 4.54.00 ভার্সনে রোল ব্যাক করা

Edge 4.54.00-এ আপডেট করার সময় কোনও সমস্যা হলে, যে কম্পোনেন্টের জন্য সমস্যা হয়েছে সেটি রোল ব্যাক করে আবার আপডেট করার চেষ্টা করতে পারেন।

আপনি Edge 4.54.00-কে নিম্নলিখিত যেকোনও প্রধান রিলিজ ভার্সনে রোল ব্যাক করতে পারবেন:

  • ভার্সন 4.53.00
  • ভার্সন 4.53.01

আরও তথ্যের জন্য, দেখুন Apigee Edge রিলিজ প্রসেস।

রোলব্যাকের ক্রম

কম্পোনেন্ট আপগ্রেড করার সময় যে ক্রম অনুসরণ করা হয়েছিল, রোলব্যাক করার সময় তার বিপরীত ক্রম অনুসরণ করতে হবে। Private Cloud 4.54.00-এর জন্য রোলব্যাকের সাধারণ ক্রম নিচে দেখানো হল:

  • Cassandra, Zookeeper রোল ব্যাক করুন।
  • Qpid, অন্যান্য অ্যানালিটিক্স-সম্পর্কিত কম্পোনেন্ট এবং Postgres রোল ব্যাক করুন।
  • UI রোল ব্যাক করুন
  • LDAP রোল ব্যাক করুন।
  • ম্যানেজমেন্ট সার্ভার রোল ব্যাক করা।
  • রাউটার ও মেসেজ প্রসেসর আগের অবস্থায় ফিরিয়ে আনুন।

যেমন, ধরুন আপনি নিজের সব রাউটার ও মেসেজ প্রসেসর, ম্যানেজমেন্ট সার্ভার, LDAP এবং কয়েকটি UI নোড 4.53.00 (বা) 4.53.01 ভার্সন থেকে 4.54.00 ভার্সনে আপগ্রেড করেছেন এবং এখন রোল ব্যাক করতে চান। এই ক্ষেত্রে, আপনাকে:

  • আপগ্রেড করা UI নোড আগের অবস্থায় ফিরিয়ে আনুন
  • LDAP নোড রোল ব্যাক করুন
  • ম্যানেজমেন্ট সার্ভার নোড একটি একটি করে রোল ব্যাক করা
  • একটি একটি করে সব RMP রোল ব্যাক করুন

কে রোলব্যাক করতে পারবেন

যে ব্যবহারকারী রোলব্যাক করছেন, তিনি যেন সেই ব্যবহারকারী হন যিনি Edge আপডেট করেছিলেন অথবা রুট হিসেবে রান করছেন।

ডিফল্ট হিসেবে, Edge কম্পোনেন্ট "apigee" ব্যবহারকারী হিসেবে রান করে। কিছু ক্ষেত্রে, আপনি আলাদা ব্যবহারকারী হিসেবে Edge কম্পোনেন্ট চালাতে পারেন। যেমন, রাউটারকে যদি বিশেষাধিকার প্রাপ্ত পোর্ট অ্যাক্সেস করতে হয়, যেমন ১০০০-এর কম পোর্ট, তাহলে আপনাকে রুট বা সেইসব পোর্টে অ্যাক্সেস আছে এমন ব্যবহারকারী হিসেবে রাউটার চালাতে হবে। অথবা, আপনি একজন ব্যবহারকারী হিসেবে একটি কম্পোনেন্ট এবং অন্য একজন ব্যবহারকারী হিসেবে অন্য একটি কম্পোনেন্ট চালাতে পারেন।

Cassandra রোল ব্যাক করুন

কোনও নির্দিষ্ট নোডে Cassandra-র মেজর আপগ্রেড করা হলে, Cassandra সেই নোডে সেভ করা ডেটার স্কিমা পরিবর্তন করে দেয়। এর ফলে, সরাসরি ইন-প্লেস রোলব্যাক করা সম্ভব নয়।

রোলব্যাক পরিস্থিতি

আপনি ব্যবহার করতে পারেন এমন রোলব্যাক স্ট্র্যাটেজি নিম্নলিখিত সারণীতে সংক্ষেপে দেওয়া হল:

পরিস্থিতি রোলব্যাক স্ট্র্যাটেজি
সিঙ্গেল DC, কিছু Cassandra নোড আপগ্রেড করা হয়েছে ব্যাক-আপ ব্যবহার করা
একাধিক DC, একটি DC-তে কিছু নোড আপগ্রেড করা হয়েছে আগে থেকে থাকা DC থেকে আবার তৈরি করুন
একাধিক DC, কিছু DC-তে সব Cassandra নোড আপগ্রেড করা হয়েছে আগে থেকে থাকা DC থেকে আবার তৈরি করুন
আপগ্রেড করা হচ্ছে এমন শেষ DC-র একাধিক DC, Cassandra নোড আপগ্রেড করার প্রসেস সম্পূর্ণ করার চেষ্টা করুন। সম্ভব না হলে, ব্যাক-আপ ব্যবহার করে ১টি ডিসি রোল ব্যাক করুন। রোল-ব্যাক করা DC থেকে বাকি DC আবার তৈরি করুন।

সাধারণ বিবেচনা

রোলব্যাক করার কথা বিবেচনা করার সময়, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:

  • Cassandra আপগ্রেড করার সময় Cassandra-র রোলব্যাক: Cassandra আপগ্রেড করার সময় আপনি কোনও সমস্যার সম্মুখীন হলে, রোলব্যাক করার কথা বিবেচনা করতে পারেন। আপগ্রেড প্রসেস চলাকালীন আপনার স্ট্যাটাসের উপর ভিত্তি করে এই নিবন্ধে রোলব্যাক স্ট্র্যাটেজি অনুসরণ করুন।
  • ব্যাক-আপ ব্যবহার করে রোলব্যাক করা: Cassandra 5.0.X থেকে নেওয়া ব্যাক-আপ Cassandra 4.0.X-এর ব্যাক-আপের সাথে মানানসই নয়। ব্যাক-আপ রিস্টোরেশন ব্যবহার করে 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. ডেটা সেন্টারে Cassandra-র সাথে কানেক্ট করা সব edge-* কম্পোনেন্ট রিস্টার্ট করুন।
  10. এই ডেটা সেন্টারে ট্রাফিক পরীক্ষা ও ডাইভার্ট করুন।
  11. এক এক করে প্রতিটি ডেটা সেন্টারের জন্য ধাপগুলি আবার করুন।

বিস্তারিত ধাপ

  1. একটি ডেটা সেন্টার বেছে নিন যেখানে সব বা কিছু Cassandra নোড আপগ্রেড করা হয়েছে। এই ডেটা সেন্টারে Cassandra নোড রোল ব্যাক করার সময় এই ডেটা সেন্টার থেকে সব রানটাইম প্রক্সি ট্রাফিক ও ম্যানেজমেন্ট ট্রাফিক ডাইভার্ট করুন। নোডে nodetool ring কমান্ড চালানো হলে, সব Cassandra নোড যেন UN (চালু/স্বাভাবিক) অবস্থায় থাকে তা নিশ্চিত করুন। নির্দিষ্ট কিছু নোড কাজ না করলে, সমস্যা সমাধান করুন এবং চালিয়ে যাওয়ার আগে সেইসব নোড আবার চালু করুন।

    নিচের উদাহরণটি দেখুন:

    /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 নোড Cassandra ভার্সন ৪-এ আছে, যেখানে সব DC-2 নোড 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-র নোড থেকে ডেটা বন্ধ করুন, আনইনস্টল করুন এবং ক্লিন-আপ করুন। এই ডেটা সেন্টারে 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" (আপ/নরমাল) স্টেটে আছে:
    /opt/apigee/apigee-cassandra/bin/nodetool status
  12. /opt/apigee/customer/application/cassandra.properties ফাইল থেকে আগে যোগ করা অতিরিক্ত কনফিগারেশন সরিয়ে দিন।
  13. ডেটা সেন্টারে থাকা সব Cassandra সিড নোডে ৩ থেকে ১০ নম্বর ধাপগুলি এক এক করে রিপিট করুন।
  14. ডেটা সেন্টারে বাকি থাকা সব 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. ট্রাফিক যাচাই করে এই ডেটা সেন্টারে ফিরিয়ে আনুন। এই ডেটা সেন্টারে রানটাইম ট্রাফিক এবং ম্যানেজমেন্ট API-এর জন্য কিছু যাচাইকরণ চালান এবং প্রক্সি এবং ম্যানেজমেন্ট API ট্রাফিককে আবার এতে রি-রুট করা শুরু করুন।
  19. আপনি যে ডেটা সেন্টার রোল ব্যাক করতে চান সেটির জন্য উপরের ধাপগুলি আবার অনুসরণ করুন।

ব্যাক-আপ ব্যবহার করে Cassandra রোল ব্যাক করুন

পূর্বশর্ত

  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. আপনি যে ভার্সনে রোল ব্যাক করছেন সেটির বুটস্ট্র্যাপ ডাউনলোড ও এক্সিকিউট করুন—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. সব ফলোয়ার ও অবজারভার রোল ব্যাক করা হয়ে গেলে, লিডার নোডে ২ থেকে ৫ নম্বর ধাপ অনুসরণ করে লিডার নোড রোল ব্যাক করুন।
  7. সব নোড রোল ব্যাক করার পরে, ক্লাস্টারের অবস্থা যাচাই করুন এবং ক্লাস্টারে লিডার নোড আছে কিনা তা নিশ্চিত করুন।

ব্যাক-আপ করা ফাইল ফিরিয়ে আনুন

ব্যাক-আপ থেকে ফিরিয়ে আনুন বিকল্প দেখুন।

Qpid আগের অবস্থায় ফিরিয়ে আনা

আগের ফিচার রিলিজে রোল ব্যাক করতে, আপনি যে ভার্সনে রোল ব্যাক করতে চান সেটির জন্য bootstrap.sh ফাইলটি ডাউনলোড করেছেন কিনা তা নিশ্চিত করুন। v 4.53.00/4.53.01 ভার্সনে রোল ব্যাক করতে, bootstrap_4.53.00.sh ডাউনলোড করুন।

Qpid রোল ব্যাক করতে, সব Qpid হোস্টে এইসব ধাপ অনুসরণ করুন:

  1. আগে থেকে থাকা Qpid ব্রোকার বন্ধ করুন:
    apigee-service apigee-qpidd stop
  2. ফায়ারওয়াল প্রয়োগ করে সব মেসেজ প্রসেসর থেকে ব্রোকার পোর্ট ৫৬৭২-এ ইনকামিং ট্রাফিক ব্লক করুন। আপনি এই ফায়ারওয়াল Qpid নোড ইনস্ট্যান্সের লেভেলে বা অন্য কোনও এক্সটার্নাল ফায়ারওয়াল/নেটওয়ার্ক কম্পোনেন্টে প্রয়োগ করতে পারেন।

    আমরা সাজেস্ট করি যে আপনি মেসেজ প্রসেসর IP অ্যাড্রেসের জন্য একই ধাপ অনুসরণ করুন। যেমন, IPTables ব্যবহার করে পোর্ট ৫৬৭২-এ Qpid নোডে মেসেজ প্রসেসর IP অ্যাড্রেস থেকে আসা অনুরোধ DROP করতে, আপনি এই ধরনের কমান্ড ব্যবহার করতে পারেন:

    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 ভার্সনে ডাউনগ্রেড করতে, Edge কম্পোনেন্ট ছাড়াও আপনাকে অবশ্যই Postgres আপডেট রোল ব্যাক করতে হবে।

মাস্টার-স্ট্যান্ডবাই কনফিগারেশনে Postgres আপডেট করার সময় Postgres আপডেট রোল ব্যাক করতে:

  • Postgres মাস্টার হওয়ার জন্য নতুন স্ট্যান্ডবাই নোড প্রোমোট করুন। নতুন Postgres মাস্টার আপনার আগের Edge ইনস্টলেশনের একই ভার্সন হবে।
  • পুরনো স্ট্যান্ডবাই নোডকে নতুন মাস্টারের স্ট্যান্ডবাই নোড হিসেবে কনফিগার করুন। পুরনো স্ট্যান্ডবাই নোড আপনার আগের Edge ইনস্টলেশনের মতো একই ভার্সন হবে।
  • অ্যানালিটিক্স এবং কনজিউমার গ্রুপের সাথে নতুন মাস্টার এবং স্ট্যান্ডবাই নোড রেজিস্টার করুন।

রোলব্যাক করা হয়ে গেলে, পুরনো মাস্টার নোডের আর প্রয়োজন হবে না। তারপরে আপনি পুরনো মাস্টার নোড ডিকমিশন করতে পারবেন।

শুরু করার আগে

Postgres 18 থেকে 17/14-এ রোলব্যাক করার আগে, apigee-postgresql-এ max_locks_per_transaction প্রপার্টি আপডেট করতে, নতুন স্ট্যান্ডবাই হোস্ট এবং পুরনো স্ট্যান্ডবাই হোস্ট, দুটিতেই নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  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

      প্রম্পট করা হলে, 'apigee' ব্যবহারকারীর জন্য Postgres পাসওয়ার্ড লিখুন, যা ডিফল্ট হিসেবে "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 সফ্টওয়্যার ডাউনগ্রেড করতে হবে। পুরনো স্ট্যান্ডবাই নোডে এখনও পুরনো ভার্সন থাকলে, আপনি এই ধাপটি এড়িয়ে গিয়ে ৬ নম্বর ধাপ থেকে শুরু করতে পারেন।
    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 বুটস্ট্র্যাপের পুরনো ভার্সন রান করলে Apigee ডেটার পুরনো ভার্সন সহ yum রিপোজিটরি সেট-আপ করা হবে।
    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 ফিল্ডে অ্যানালিটিক্স গ্রুপের নাম এবং consumer-groups-এর অধীনে name ফিল্ডে গ্রাহক গ্রুপের নাম দেখায়। এছাড়াও, এটি postgres-server ফিল্ডে এবং datastores ফিল্ডে পুরনো Postgres মাস্টার এবং স্ট্যান্ডবাই নোডের UUID ফেরত দেয়। আপনি এই ফর্ম্যাটে আউটপুট দেখতে পাবেন:

    {
      "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. পুরনো মাস্টার নোডে নিম্নলিখিত curl কমান্ড রান করে পুরনো মাস্টারের UUID অ্যাড্রেস পান:
    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 হিসেবে সেগুলি উল্লেখ করতে হবে।

    consumer-groups-এর জন্য datastores প্রপার্টি এখন খালি হয়ে যাওয়া উচিত।

  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

    uuids-এর অধীনে postgres-server প্রপার্টি এখন খালি থাকতে হবে।

  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. নোডগুলি সিঙ্কে আছে কিনা তা নিশ্চিত করতে বেশ কয়েকটি API অনুরোধ করার পরে আগের ধাপটি পুনরাবৃত্তি করুন।
  20. পুরনো Postgres মাস্টার ডিকমিশন করুন:

    বিকল্প হিসেবে, আপনি পুরনো মাস্টার থেকে Qpid আনইনস্টল করে নতুন মাস্টার নোডে Qpid ইনস্টল করতে পারেন। Qpid আনইনস্টল করার পরে, আপনি পুরনো মাস্টার নোড ডিকমিশন করতে পারবেন।

নতুন Edge UI রোল ব্যাক করা

Apigee Edge for Private Cloud 4.54.00, ক্লাসিক UI-এর পরিবর্তে (edge-ui) নতুন Edge UI (edge-management-ui) ব্যবহার করে। 4.54.00-এ UI কম্পোনেন্ট পরিবর্তন হওয়ার কারণে, 4.53.00 বা 4.53.01 ভার্সনে রোল ব্যাক করতে হলে edge-management-ui আনইনস্টল করে আপনার আগের UI প্রোফাইল আবার ইনস্টল করতে হবে:

  • ক্লাসিক UI (edge-ui): ui প্রোফাইল আবার ইনস্টল করুন।
  • নতুন Edge UI (edge-ui এবং edge-management-ui): ui এবং ue প্রোফাইল দুটিই তাদের নিজ নিজ নোডে আবার ইনস্টল করুন।

কোনও নোডে UI রোল ব্যাক করতে:

  1. 4.54.00 New Edge UI বন্ধ ও আনইনস্টল করুন এবং আগের ভার্সনে ফিরে যেতে সেটি ইনস্টল করুন:
    1. 4.54.00 New Edge UI (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 UI কনফিগারেশন ফিরিয়ে আনুন:
    • আপনি যদি 4.53.00 বা 4.53.01 ইনস্টলেশন থেকে সাইলেন্ট কনফিগারেশন ফাইলের ব্যাক-আপ নিয়ে থাকেন, তাহলে রোলব্যাক পদ্ধতির জন্য সেই ব্যাক-আপ ফাইল ব্যবহার করুন। অন্যথায়, আপনার 4.54.00 সাইলেন্ট কনফিগারেশন ফাইলে, আপগ্রেড করার সময় সরিয়ে দেওয়া বা কমেন্ট আউট করা 4.53.00 বা 4.53.01 UI প্রপার্টি রিস্টোর করুন বা আনকমেন্ট করুন। রেফারেন্সের জন্য, UI আপগ্রেড বিভাগ দেখুন।
    • আপগ্রেড করার সময় /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. আগের UI ভার্সন আবার ইনস্টল ও কনফিগার করুন:
    • ক্লাসিক UI-তে ফিরে যান (edge-ui):
      1. Classic UI ইনস্টল ও সেট-আপ করুন (বেসিক প্রমাণীকরণ-এর জন্য, কোনও অতিরিক্ত ধাপের প্রয়োজন নেই):
        /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
      2. SSO চালু করা থাকলে, ক্লাসিক UI-তে SSO কনফিগার করুন (নিশ্চিত করুন যে apigee-sso প্রথমে চলছে):
        /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile
    • 4.53.00 বা 4.53.01 New Edge UI-তে ফিরিয়ে আনুন (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 চালু করা থাকলে, দুটি UI কম্পোনেন্টেই 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. রোল-ব্যাক করা UI স্ট্যাটাস ও ভার্সন যাচাই করুন:
    • ক্লাসিক UI (edge-ui)-এর জন্য:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui status
      /opt/apigee/apigee-service/bin/apigee-service edge-ui version
    • নতুন Edge UI-এর জন্য (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 রোল ব্যাক করুন

এই বিভাগে, Edge for Private Cloud 4.54.00-এ Symas OpenLDAP 2.6.10-কে 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 ক্লাস্টারকে সামঞ্জস্যপূর্ণ অবস্থায় ফিরিয়ে আনা। এই পদ্ধতি সব পরিস্থিতিতে একই: সিঙ্গল-সার্ভার, অ্যাক্টিভ-অ্যাক্টিভ এবং অ্যাক্টিভ-প্যাসিভ।

শুরু করার আগে

  • ব্যাকআপের ক্ষেত্রে অসামঞ্জস্য: আপগ্রেড করার আগে apigee-service apigee-openldap backup ব্যবহার করে নেওয়া OpenLDAP 2.4.46 (Edge for Private Cloud 4.53.00) বা Symas OpenLDAP 2.6.7 (Edge for Private Cloud 4.53.01)-এর প্রি-আপগ্রেড ব্যাকআপ ব্যবহার করুন। আপগ্রেড করার পরে নেওয়া ব্যাক-আপগুলি মানানসই নয় এবং ব্যবহার করা যাবে না।
  • ম্যানেজমেন্ট API ডাউনটাইম: LDAP রোলব্যাক চলাকালীন, ম্যানেজমেন্ট API উপলভ্য থাকবে না, যা প্রশাসনিক কাজকে প্রভাবিত করতে পারে। LDAP রোলব্যাক করার আগে edge-management-server এবং edge-ui-এর সব ইনস্ট্যান্স বন্ধ করুন।
  • ডেটা হারানোর ঝুঁকি: সঠিক, মানানসই ব্যাক-আপ ছাড়া এগিয়ে গেলে ডেটা হারানোর ঝুঁকি থাকে যা আর ফিরিয়ে আনা যায় না।
  • সঠিক ব্যাক-আপ: আপগ্রেড করার আগে LDAP-এর সঠিক ব্যাক-আপ প্রয়োজন।
  • silent.conf ফাইলের ব্যাক-আপ: আপগ্রেড ও রোলব্যাক প্রসেস চলাকালীন কনফিগারেশন সংক্রান্ত সমস্যা এড়াতে, আগের ও বর্তমান ভার্সন, দু'টি থেকেই আপনার silent.conf ফাইলের ব্যাক-আপ রাখুন।
  • রোলব্যাক সিকোয়েন্স: OpenLDAP রোলব্যাক করার আগে Cassandra, ZooKeeper, Qpid, PostgreSQL, apigee-sso এবং Edge UI-এর জন্য রোলব্যাক পদ্ধতি সম্পূর্ণ করুন।

রোলব্যাক পদ্ধতি

  1. ম্যানেজমেন্ট সার্ভার ও UI বন্ধ করা: LDAP রোলব্যাক করার আগে সব edge-management-server ও edge-ui ইনস্ট্যান্স বন্ধ করুন:
    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
    • প্রতিটি LDAP নোডে, এক এক করে, ধাপ ৪-এ উল্লিখিত সাবস্টেপগুলি আবার করুন।
  5. অবশিষ্ট ডেটা মুছে ফেলা: সব LDAP সার্ভারে, এক এক করে, নতুন ইনস্টল করা পরিষেবা বন্ধ করুন এবং ব্যাক-আপ থেকে রিস্টোর করার জন্য প্রস্তুত করতে এর ডেটা ডিরেক্টরি মুছে ফেলুন:
    apigee-service apigee-openldap stop
    rm -rf /opt/apigee/data/apigee-openldap/*
  6. LDAP ডেটা রিস্টোর করা: সিঙ্গল-সার্ভার সেট-আপের জন্য, সরাসরি ধাপ ৬খ-এ যান। মাল্টি-সার্ভার সেট-আপের জন্য, ধাপ ৬ক-এ যান।
    1. অ্যাক্টিভ LDAP সার্ভার শনাক্ত করা: LDAP ডেটা রিস্টোর করার আগে, এই কমান্ড রান করে অ্যাক্টিভ সার্ভার (প্রদানকারী) শনাক্ত করুন:
      grep -i '^olcSyncrepl:' /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase*.ldif
    2. LDAP ডেটা রিস্টোর করুন (রিস্টোর করার আগে সব সার্ভারে ৫ নম্বর ধাপ সম্পূর্ণ হয়েছে কিনা তা নিশ্চিত করুন):
      • সিঙ্গেল বা অ্যাক্টিভ LDAP সার্ভারে (৬ক ধাপে নির্ধারিত), ব্যাক-আপ ডিরেক্টরিতে যান এবং আপগ্রেড করার আগের ব্যাক-আপ রিস্টোর করুন (যেমন, 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 ক্লাস্টার জুড়ে ডেটা সামঞ্জস্যপূর্ণ কিনা তা যাচাই করুন।
    • 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
    • ডেটা সঠিক ও সামঞ্জস্যপূর্ণ কিনা তা কনফার্ম করার পরে, আপনার সংস্থার স্ট্যান্ডার্ড পদ্ধতি অনুযায়ী 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. আপনি যদি মনিটাইজেশন রোল ব্যাক করেন, তাহলে সব ম্যানেজমেন্ট সার্ভার এবং মেসেজ প্রসেসর নোড থেকে এটি আনইনস্টল করুন:
    /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 রাউটার আগের অবস্থায় ফিরিয়ে আনতে, আপনাকে /opt/nginx/conf.d ফাইলের কন্টেন্ট মুছে দিতে হবে এবং edge-gateway কম্পোনেন্ট গ্রুপ আনইনস্টল করতে হবে:
      cd /opt/nginx/conf.d
      rm -rf *
  5. apigee-setup-এর 4.54.00 ভার্সন আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service ইউটিলিটির 4.53.00 ভার্সন এবং এর ডিপেন্ডেন্সি ইনস্টল করুন। নিচের উদাহরণে apigee-service-এর 4.53.00 ভার্সন ইনস্টল করা হয়:
    sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord

    যেখানে uName এবং pWord হল ইউজারনেম এবং পাসওয়ার্ড যা আপনি Apigee থেকে পেয়েছেন। আপনি এটি বাদ দিলে pWord, আপনাকে এটি লিখতে বলা হবে।

    আপনি কোনও সমস্যা দেখতে পেলে, ধাপ ১-এ bootstrap.sh ফাইল ডাউনলোড করেছেন কিনা তা ভাল করে দেখে নিন।

  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