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

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

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

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

কোনও ভার্সন রোল ব্যাক করার অর্থ হল, আপনি আপগ্রেড করেছেন এমন প্রতিটি কম্পোনেন্ট রোল ব্যাক করা। এছাড়াও, আপনি যে ভার্সন থেকে শুরু করেছেন তার উপর ভিত্তি করে, নির্দিষ্ট সফ্টওয়্যার কম্পোনেন্ট রোল ব্যাক করার আগে আপনাকে বিশেষ ধাপ বিবেচনা করতে হতে পারে। রোলব্যাক করার সময় যেসব সফ্টওয়্যার কম্পোনেন্টের জন্য বিশেষ ধাপের প্রয়োজন হতে পারে, নিম্নলিখিত সারণীতে সেগুলি তালিকাভুক্ত করা হয়েছে:

এই ভার্সনে রোলব্যাক করুন সফ্টওয়্যারের জন্য বিশেষ বিবেচনা
4.53.00 Zookeeper, Postgres, LDAP
4.52.02 Zookeeper, Cassandra, Postgres, LDAP

এখানে এমন একটি পরিস্থিতি দেওয়া হল যেখানে আপনি রোলব্যাক পারফর্ম করতে চাইতে পারেন:

আগের কোনও মেজর বা মাইনর রিলিজে রোল ব্যাক করুন। যেমন, 4.53.01 থেকে 4.53.00.

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

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

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

  1. Qpid, অন্যান্য অ্যানালিটিক্স-সম্পর্কিত কম্পোনেন্ট এবং Postgres রোলব্যাক করুন।
  2. রাউটার ও মেসেজ প্রসেসর রোলব্যাক করা
  3. Cassandra, Zookeeper রোলব্যাক করা
  4. রোলব্যাক ম্যানেজমেন্ট সার্ভার
  5. LDAP রোলব্যাক করা

যেমন, ধরুন আপনি 4.52.02 ভার্সন থেকে 4.53.01 ভার্সনে পুরো Cassandra ক্লাস্টার, আপনার ম্যানেজমেন্ট সার্ভার এবং কয়েকটি RMP আপগ্রেড করেছেন এবং এখন রোলব্যাক করতে চান। এই ক্ষেত্রে, আপনাকে:

  • এক এক করে সব RMP রোলব্যাক করুন
  • ব্যাক-আপ ব্যবহার করে সম্পূর্ণ Cassandra ক্লাস্টার রোলব্যাক করা
  • Edge Management সার্ভার নোড একটি একটি করে রোলব্যাক করা

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

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

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

সাধারণ কোড সহ কম্পোনেন্ট

নিম্নলিখিত Edge কম্পোনেন্ট সাধারণ কোড শেয়ার করে। তাই, কোনও নোডে এইসব কম্পোনেন্টের কোনও একটিকে রোল ব্যাক করতে হলে, সেই নোডে থাকা এইসব কম্পোনেন্টকে রোল ব্যাক করতে হবে।

  • edge-management-server (ম্যানেজমেন্ট সার্ভার)
  • edge-message-processor (মেসেজ প্রসেসর)
  • edge-router (রাউটার)
  • edge-postgres-server (Postgres সার্ভার)
  • edge-qpid-server (Qpid সার্ভার)

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

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

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

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

Edge for Private Cloud 4.53.01-এর সাথে উপলভ্য Cassandra 4.0.X, Private Cloud 4.52.02-এর অন্যান্য কম্পোনেন্টের সাথে মানানসই।

আপনি যেসব বিভিন্ন রোলব্যাক স্ট্র্যাটেজি ব্যবহার করতে পারেন তার সারসংক্ষেপের জন্য নিচে দেওয়া টেবিল দেখুন:

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

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

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

  • রানটাইম বা ম্যানেজমেন্ট কম্পোনেন্ট রোলব্যাক করা: আপনি যদি edge-management-server, edge-message-processor বা কোনও নন-ক্যাসান্ড্রা কম্পোনেন্টকে প্রাইভেট ক্লাউড ভার্সন 4.52.02-এ রোলব্যাক করতে চান, তাহলে ক্যাসান্ড্রা রোলব্যাক না করাই ভাল। Private Cloud 4.53.00-এর সাথে পাঠানো Cassandra, Private Cloud 4.52.02-এর Edge-এর সব নন-Cassandra কম্পোনেন্টের সাথে মানানসই। Cassandra 4.0.13 ভার্সনে থাকাকালীন আপনি এখানে তালিকাভুক্ত পদ্ধতি ব্যবহার করে নন-Cassandra কম্পোনেন্ট রোলব্যাক করতে পারবেন।
  • সম্পূর্ণ Cassandra ক্লাস্টার 4.0.X-এ আপগ্রেড করার পরে রোলব্যাক করা: আপনার সম্পূর্ণ Cassandra ক্লাস্টার যদি Private Cloud ভার্সন 4.53.00-এ আপগ্রেড করার অংশ হিসেবে 4.0.X ভার্সনে আপগ্রেড করা হয়, তাহলে এই ক্লাস্টার সেট-আপ চালিয়ে যাওয়ার জন্য সাজেস্ট করা হয় এবং Cassandra রোলব্যাক করবেন না। Private Cloud ভার্সন 4.52.02-এর edge-management-server, edge-message-processor, edge-router ইত্যাদির মতো কম্পোনেন্ট Cassandra ভার্সন 4.0.X-এর সাথে মানানসই।
  • Cassandra আপগ্রেড করার সময় Cassandra রোলব্যাক করা: Cassandra আপগ্রেড করার সময় কোনও সমস্যার সম্মুখীন হলে, আপনি রোলব্যাক করার কথা বিবেচনা করতে পারেন। আপগ্রেড প্রসেস চলাকালীন আপনি যে স্টেটে থাকবেন তার উপর ভিত্তি করে এই নিবন্ধে তালিকাভুক্ত রোলব্যাক কৌশল অনুসরণ করা যেতে পারে।
  • ব্যাক-আপ ব্যবহার করে রোলব্যাক করা: Cassandra 4.0.X থেকে নেওয়া ব্যাক-আপ Cassandra 3.11.X-এর ব্যাক-আপের সাথে মানানসই নয়। ব্যাক-আপ রিস্টোরেশনের মাধ্যমে Cassandra রোলব্যাক করতে, আপগ্রেড করার চেষ্টা করার আগে আপনাকে অবশ্যই Cassandra 3.11.X-এর ব্যাক-আপ নিতে হবে।

আবার তৈরি করার মাধ্যমে Cassandra রোলব্যাক করা

পূর্বশর্ত

  • আপনি একাধিক ডেটা সেন্টার জুড়ে Edge for Private Cloud 4.52.02 ক্লাস্টার অপারেট করছেন।
  • আপনি Cassandra-কে 3.11.X থেকে 4.0.X ভার্সনে আপগ্রেড করার প্রসেসে আছেন এবং আপগ্রেড করার সময় সমস্যার সম্মুখীন হয়েছেন।
  • ক্লাস্টারে আপনার অন্তত একটি সম্পূর্ণ কার্যকরী ডেটা সেন্টার আছে যা এখনও Cassandra-র (Cassandra 3.11.X) পুরনো ভার্সন চালাচ্ছে।

এই প্রসেসটি আগে থেকে থাকা ডেটা সেন্টার থেকে স্ট্রিম করা ডেটার উপর নির্ভর করে। Cassandra-তে কত ডেটা স্টোর করা আছে তার উপর নির্ভর করে এটি করতে অনেক সময় লাগতে পারে। রোলব্যাক চলাকালীন, এই ডেটা সেন্টার থেকে আপনার রানটাইম ট্রাফিক ডাইভার্ট করার জন্য আপনাকে প্রস্তুত থাকতে হবে।

উচ্চ-স্তরের ধাপ

  1. আপনি যে ডেটা সেন্টার রোল ব্যাক করতে চান সেটি বেছে নিন (আংশিক বা সম্পূর্ণ আপগ্রেড করা)। অন্য কোনও কার্যকরী ডেটা সেন্টারে রানটাইম ট্রাফিক ডাইভার্ট করা।
  2. ডেটা সেন্টারে সিড নোড শনাক্ত করুন এবং একটি সিড নোড দিয়ে শুরু করুন।
  3. Cassandra নোড বন্ধ করুন, আনইনস্টল করুন এবং পরিষ্কার করুন।
  4. নোডে Cassandra-র পুরনো ভার্সন ইনস্টল করুন এবং প্রয়োজন মতো কনফিগার করুন।
  5. আগে যোগ করা অতিরিক্ত কনফিগারেশন সরিয়ে দিন।
  6. ডেটা সেন্টারের সব সিড নোডের জন্য উপরের ধাপগুলি এক এক করে রিপিট করুন।
  7. ডেটা সেন্টারে থাকা বাকি সব Cassandra নোডের জন্য উপরের ধাপগুলি এক এক করে আবার করুন।
  8. আগে থেকে থাকা কার্যকরী ডেটা সেন্টার থেকে একটি একটি করে নোড আবার তৈরি করুন।
  9. ডেটা সেন্টারে Cassandra-র সাথে কানেক্ট করা সব edge-* কম্পোনেন্ট রিস্টার্ট করুন।
  10. এই ডেটা সেন্টারে ট্রাফিক পরীক্ষা ও ডাইভার্ট করুন।
  11. এক এক করে প্রতিটি ডেটা সেন্টারের জন্য ধাপগুলি আবার করুন।

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

  1. এমন একটি ডেটা সেন্টার বেছে নিন যেখানে সব বা কিছু ক্যাসান্ড্রা নোড আপগ্রেড করা হয়েছে। এই ডেটা সেন্টারে 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:
        4.0.13: [DC-1-IP1:7000, DC-1-IP2:7000, DC-1-IP3:7000]
        3.11.16: [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.52.02-এর বুটস্ট্র্যাপ ফাইল এক্সিকিউট করুন।
  5. # Download bootstrap of 4.52.02
    curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u uName:pWord
    
    # Execute bootstrap of 4.52.02
    sudo bash /tmp/bootstrap_4.52.02.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 3.11.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-কে 3.11.X থেকে 4.0.X ভার্সনে আপগ্রেড করার প্রসেসে আছেন এবং আপগ্রেড করার সময় সমস্যার সম্মুখীন হয়েছেন।
  2. আপনি যে নোড রোল-ব্যাক করছেন সেটির ব্যাক-আপ আপনার কাছে আছে। 3.11.X থেকে 4.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 সফ্টওয়্যার ইনস্টল করুন এবং এটি কনফিগার করুন:

    • প্রাইভেট ক্লাউড 4.52.02-এর জন্য Edge-এর বুটস্ট্র্যাপ ফাইল এক্সিকিউট করুন:
    • # Download bootstrap for 4.52.02
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u ‘uName:pWord’
      
      # Execute bootstrap for 4.52.02
      sudo bash /tmp/bootstrap_4.52.02.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 3.11.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 3.8.4 আপডেট রোলব্যাক করা

রোলব্যাক

রোলব্যাক করার প্রয়োজন হলে:

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

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

ব্যাক-আপ থেকে ফিরিয়ে আনা দেখুন। মনে রাখবেন, Edge for Private Cloud-এর 4.52.02 বা 4.53.00-এর মতো আগের ভার্সন থেকে নেওয়া Zookeeper-এর ব্যাক-আপ Edge for Private Cloud 4.53.01-এর Zookeeper ভার্সনের সাথে মানানসই হতে হবে

Postgres 17 আপডেট রোল ব্যাক করা

আপনি যদি 4.52.02 বা 4.53.00 ভার্সন থেকে 4.53.01 ভার্সনে আপগ্রেড করে থাকেন, তাহলে Edge কম্পোনেন্ট ছাড়াও আপনাকে অবশ্যই Postgres আপডেট রোল ব্যাক করতে হবে।

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

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

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

শুরু করার আগে

Postgres 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
    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 নোড ডিকমিশন করা লিঙ্কে দেওয়া পদ্ধতি অনুসরণ করে পুরনো Postgres মাস্টার ডিকমিশন করুন।

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

LDAP 2.6 আপডেট রোলব্যাক করা

এই বিভাগে, LDAP ইনস্টলেশনকে আগের LDAP ভার্সনে রোল ব্যাক করার জন্য একটি বিশদ, ধাপে ধাপে গাইড প্রদান করা হয়েছে। পুরো LDAP ক্লাস্টারে রোলব্যাক করতে হবে এবং এটি শুধুমাত্র আপগ্রেড করার আগের সঠিক LDAP ব্যাক-আপ ব্যবহার করেই সম্ভব।

প্রাথমিক লক্ষ্য হল, পরিচিত - ভালো ব্যাকআপ থেকে সম্পূর্ণ LDAP ক্লাস্টারকে সামঞ্জস্যপূর্ণ অবস্থায় ফিরিয়ে আনা। এই পদ্ধতিটি সমস্ত পরিস্থিতির জন্য একই - সিঙ্গেল সার্ভার, অ্যাক্টিভ-অ্যাক্টিভ এবং অ্যাক্টিভ-প্যাসিভ।

পূর্বশর্ত ও বিবেচ্য বিষয়

  • ব্যাক-আপের সাথে মানানসই নয়: Edge for Private Cloud 4.52.02 বা 4.53.00-এর সাথে আপনি যে পুরনো 2.4 LDAP ভার্সন চালাচ্ছিলেন, সেটির ব্যাক-আপ ব্যবহার করুন। আপগ্রেড করার চেষ্টা করার আগে এই ব্যাক-আপ নেওয়া থাকতে হবে। আপগ্রেড করার পরে নেওয়া ব্যাক-আপগুলি মানানসই নয় এবং ব্যবহার করা যাবে না।
  • ম্যানেজমেন্ট API ডাউনটাইম: LDAP রোলব্যাক চলাকালীন, ম্যানেজমেন্ট API উপলভ্য থাকবে না, যা প্রশাসনিক কাজকে প্রভাবিত করতে পারে। LDAP রোলব্যাক করার আগে সব এজ-ম্যানেজমেন্ট-সার্ভার ও এজ-UI বন্ধ করতে ভুলবেন না।
  • ডেটা হারানোর ঝুঁকি: সঠিক ও মানানসই ব্যাক-আপ না নিয়ে প্রসেস চালিয়ে গেলে ডেটা হারানোর ঝুঁকি থাকে যা আর ফিরিয়ে আনা যায় না।
  • সঠিক ব্যাক-আপ: আপগ্রেড করার আগে LDAP-এর সঠিক ব্যাক-আপ প্রয়োজন।

রোলব্যাক প্রসিডিওর

  1. LDAP আপগ্রেড করার আগে সব এজ-ম্যানেজমেন্ট-সার্ভার ও এজ-UI বন্ধ করতে ভুলবেন না।
    apigee-service edge-management-server stop
    apigee-service edge-ui stop
  2. আগে থেকে থাকা LDAP ডেটার ব্যাক-আপ নেওয়া (LDAP বন্ধ করার আগে)

    সব 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 ভার্সন ইনস্টল করুন
    • পুরনো LDAP ভার্সন ইনস্টল করুন:
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f /opt/silent.conf
    • LDAP ভার্সন যাচাই করুন:
      source ~/.bash_profile
      ldapsearch -VV
      
      #Expected output:
      ldapsearch: @(#) $OpenLDAP: ldapsearch 2.4.46
    • প্রতিটি 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
      
      * **Note**:
      * If this command returns output, the server is a passive server. 
      * If it returns no output, the server is the active server.
    2. LDAP ডেটা রিস্টোর করুন (রিস্টোর করার আগে নিশ্চিত করুন যে সব সার্ভারে ৪ নম্বর ধাপটি সম্পূর্ণ হয়েছে।)
      • সিঙ্গেল ও অ্যাক্টিভ LDAP সার্ভারে (ধাপ ৫ক-তে নির্ধারিত), ব্যাক-আপ ফিরিয়ে আনুন।
        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 সার্ভারে যাচাইকরণ কমান্ড চালান। সব সার্ভারে রেকর্ড সংখ্যা একই হতে হবে এবং ১ নম্বর ধাপে আপনি যে সংখ্যা ক্যাপচার করেছেন তার সাথে ম্যাচ করতে হবে।
      # 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
    • ডেটা সঠিক ও সামঞ্জস্যপূর্ণ কিনা তা কনফার্ম করার পরে, আপনার LDAP রোলব্যাক সম্পূর্ণ হয়ে যাবে। আপনার সংস্থার স্ট্যান্ডার্ড আপগ্রেড প্রসেডিওর অনুযায়ী, আপনি এখন edge-management-server, edge-ui এবং অন্যান্য সংশ্লিষ্ট কম্পোনেন্ট চালু করার প্রসেস শুরু করতে পারেন।

আগের মেজর বা মাইনর রিলিজে ফিরে যাওয়া

আগের মেজর বা মাইনর রিলিজে রোল ব্যাক করতে, কম্পোনেন্ট হোস্ট করে এমন প্রতিটি নোডে নিম্নলিখিত কাজগুলি করুন:

  1. আপনি যে ভার্সনে রোলব্যাক করতে চান সেটির জন্য bootstrap.sh ফাইল ডাউনলোড করুন:

    • 4.52.02 ভার্সনে রোল ব্যাক করতে, bootstrap_4.52.02.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.26.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.53.01 ভার্সন আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service ইউটিলিটি ও এর ডিপেন্ডেন্সি 4.52.02 ভার্সন ইনস্টল করুন। নিচে দেওয়া উদাহরণে apigee-service-এর 4.52.02 ভার্সন ইনস্টল করা হয়েছে:
    sudo bash /tmp/bootstrap_4.52.02.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