Apigee Edge 4.53.00 ভার্সনে ফিরে যান

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

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

  • ভার্সন 4.52.02

কোনও ভার্সন রোল ব্যাক করার অর্থ হল, আপনি আপগ্রেড করেছেন এমন প্রতিটি কম্পোনেন্ট রোল ব্যাক করা। এছাড়াও, Cassandra-কে 4.52.02 ভার্সনে রোল ব্যাক করার সময় আপনাকে বিশেষ বিষয় বিবেচনা করতে হবে।

দুটি পরিস্থিতিতে আপনাকে রোলব্যাক করতে হতে পারে:

  1. আগের কোনও মেজর বা মাইনর রিলিজে রোল ব্যাক করুন। যেমন, 4.53.00 থেকে 4.52.02.
  2. একই রিলিজের আগের কোনও প্যাচ রিলিজ ভার্সনে ফিরে যান রিলিজ করুন। যেমন, 4.53.00.01 থেকে 4.53.00.00.

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

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

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

Private Cloud 4.53.00-এর জন্য রোলব্যাকের একটি সাধারণ ক্রম নিচে দেওয়া হল:

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

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

  1. এক এক করে সব RMP রোলব্যাক করুন
  2. ব্যাক-আপ ব্যবহার করে সম্পূর্ণ Cassandra ক্লাস্টার রোলব্যাক করা
  3. 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-র মেজর আপগ্রেড করা হলে, Cassandra সেই নোডে সেভ করা ডেটার স্কিমা পরিবর্তন করে দেয়। এর ফলে, সরাসরি ইন-প্লেস রোলব্যাক সম্ভব নয়।

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

Edge for Private Cloud 4.53.00-এর সাথে উপলভ্য 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 ইনস্টল ও সেট-আপ করুন:
    # 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
  10. নোড চালু হয়েছে কিনা তা যাচাই করুন। এই নোড ও ক্লাস্টারের অন্যান্য নোডে নিম্নলিখিত কমান্ড চেক করুন। নোডকে রিপোর্ট করতে হবে যে এটি "UN" (আপ/নরমাল) স্টেটে আছে:
    /opt/apigee/apigee-cassandra/bin/nodetool status
  11. ফাইল থেকে আগে যোগ করা অতিরিক্ত কনফিগারেশন সরিয়ে দিন /opt/apigee/customer/application/cassandra.properties।
  12. ডেটা সেন্টারে থাকা সব Cassandra সিড নোডে ৩ থেকে ১০ নম্বর ধাপগুলি এক এক করে রিপিট করুন।
  13. ডেটা সেন্টারে বাকি থাকা সব Cassandra নোডে ৩ থেকে ১০ নম্বর ধাপগুলি একটি একটি করে আবার করুন।
  14. পুরনো Cassandra ভার্সন চলছে এমন ডেটা সেন্টার থেকে ডেটা সেন্টারের সব নোড আবার তৈরি করুন। একবারে একটি নোড করে এই ধাপটি সম্পূর্ণ করুন:
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>

    এই প্রসেস সম্পূর্ণ হতে সময় লাগতে পারে। প্রয়োজন হলে আপনি streamingthroughput অ্যাডজাস্ট করতে পারবেন। অপারেশন সম্পূর্ণ হওয়ার স্ট্যাটাস জানতে nodetool netstats চেক করুন।

  15. (ঐচ্ছিক) ডেটা আবার তৈরি না হলে, Cassandra নোডে রিপেয়ার কমান্ড এক্সিকিউট করুন।
    /opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
  16. ডেটা সেন্টারে সব 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
  17. এই ডেটা সেন্টারে ট্রাফিক যাচাই করে আবার ডাইভার্ট করুন। এই ডেটা সেন্টারে রানটাইম ট্রাফিক ও ম্যানেজমেন্ট API-এর জন্য কিছু যাচাইকরণ চালান এবং প্রক্সি ও ম্যানেজমেন্ট API ট্রাফিককে আবার এতে রি-রাউট করা শুরু করুন।
  18. আপনি যে ডেটা সেন্টার রোল ব্যাক করতে চান সেটির জন্য উপরের ধাপগুলি আবার অনুসরণ করুন।

ব্যাক-আপ ব্যবহার করে 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

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

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

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

    • 4.52.02 ভার্সনে রোল ব্যাক করতে, bootstrap_4.52.02.sh ডাউনলোড করুন:
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/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 কম্পোনেন্ট গ্রুপ আনইনস্টল করে সেগুলি সব আনইনস্টল করতে হবে, যেমন নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway 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.00 ভার্সন আনইনস্টল করুন:
    /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. আপনি যে কম্পোনেন্ট রোল ব্যাক করছেন, সেটি হোস্ট করা প্রতিটি নোডের জন্য এই প্রসেসটি রিপিট করুন।

আগের কোনও প্যাচ রিলিজে ফিরে যান

কোনও নির্দিষ্ট প্যাচ রিলিজে কম্পোনেন্ট রোল ব্যাক করতে, কম্পোনেন্ট হোস্ট করা প্রতিটি নোডে নিম্নলিখিত কাজগুলি করুন:

  1. নির্দিষ্ট কম্পোনেন্ট ভার্সন ডাউনলোড করুন:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    কোথায় component_version কম্পোনেন্ট ও প্যাচ রিলিজ ইনস্টল করতে হবে। যেমন:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.53.00-0.0.20254 install

    আপনি Apigee অনলাইন রিপোজিটরি ব্যবহার করলে, নিম্নলিখিত কমান্ড ব্যবহার করে উপলভ্য কম্পোনেন্ট ভার্সন নির্ধারণ করতে পারবেন:

    yum --showduplicates list comp

    যেমন:

    yum --showduplicates list edge-ui
  2. কম্পোনেন্ট ইনস্টল করতে apigee-setup ব্যবহার করুন:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    যেমন:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    মনে রাখবেন, ইনস্টল করার সময় আপনি শুধুমাত্র কম্পোনেন্টের নাম উল্লেখ করেন, ভার্সন নয়।

  3. আপনি যে কম্পোনেন্ট রোল ব্যাক করছেন, সেটি হোস্ট করা প্রতিটি নোডের জন্য এই প্রসেসটি রিপিট করুন।

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