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

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

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

  • ভার্সন 4.52.01
  • ভার্সন 4.52.00
  • ভার্সন 4.51.00

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

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

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

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

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

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

কম্পোনেন্ট রোলব্যাক করার সময় সেগুলিকে আপগ্রেড করার বিপরীত ক্রম অনুসরণ করতে হবে, তবে ম্যানেজমেন্ট সার্ভারকে ক্যাসান্ড্রার পরে রোলব্যাক করতে হবে। ডেটা সেন্টার-বাই-ডেটা সেন্টার (DC-by-DC) পদ্ধতি ব্যবহার করে Cassandra, রানটাইম কম্পোনেন্ট এবং ম্যানেজমেন্ট সার্ভারকে রোল ব্যাক করতে হবে, সাময়িকভাবে ট্রাফিককে কার্যকরী ডেটা সেন্টারে রিডাইরেক্ট করতে হবে।

Private Cloud 4.52.02-এর জন্য রোলব্যাকের সাধারণ ক্রমটি সাধারণত এইরকম হয়:

সিঙ্গেল ডেটা সেন্টার

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

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

একাধিক ডেটা সেন্টার

মাল্টি-ডেটা সেন্টার সেট-আপে, রোলব্যাক করার সময় ডেটা সেন্টার-বাই-ডেটা সেন্টার (DC-by-DC) পদ্ধতি অনুসরণ করা উচিত। এর জন্য, সাময়িকভাবে ট্রাফিককে কার্যকরী ডেটা সেন্টারে রিডাইরেক্ট করতে হবে। এটি ট্রাফিক নিরবচ্ছিন্নতা নিশ্চিত করে, ডাউনটাইম এড়ায় এবং Cassandra, ম্যানেজমেন্ট সার্ভার এবং রানটাইম নোডের জন্য একটি নিয়ন্ত্রিত রোলব্যাক প্রসেস চালু করে।

  1. সব DC জুড়ে Qpid এবং অন্যান্য অ্যানালিটিক্স-সম্পর্কিত কম্পোনেন্ট রোলব্যাক করুন।
  2. প্রথম ডেটা সেন্টারে ট্রাফিক ব্লক করুন এবং অন্যান্য ডিসিতে ট্রাফিক আবার রাউট করুন।
  3. প্রথম ডেটা সেন্টারে রোলব্যাক রাউটার ও মেসেজ প্রসেসর।
  4. প্রথম ডেটা সেন্টারে Cassandra রোলব্যাক করুন।
  5. প্রথম ডেটা সেন্টারে রোলব্যাক ম্যানেজমেন্ট সার্ভার।
  6. প্রথম ডেটা সেন্টারে ট্রাফিক আনব্লক করুন এবং শেষ ডেটা সেন্টারে রানটাইম নোড, ক্যাসান্ড্রা ও ম্যানেজমেন্ট সার্ভার রোলব্যাক না হওয়া পর্যন্ত ২ থেকে ৬ নম্বর ধাপ অনুসরণ করুন।
  7. সব DC জুড়ে Postgres, Zookeeper এবং LDAP রোলব্যাক করুন।

বিষয়টি আরও ভালভাবে বোঝার জন্য, ধরে নিন যে আপনি নিজের সম্পূর্ণ Cassandra ক্লাস্টার, সমস্ত ম্যানেজমেন্ট সার্ভার এবং কয়েকটি রানটাইম মেসেজ প্রসেসর (RMP) ভার্সন 4.52.01 থেকে 4.52.02-এ আপগ্রেড করেছেন এবং এখন আপনাকে রোলব্যাক করতে হবে। এই ক্ষেত্রে, রোলব্যাক নিম্নলিখিতভাবে করা উচিত:

  1. প্রথম ডেটা সেন্টারে (ডেটা সেন্টার) ট্রাফিক ব্লক করুন এবং পরিষেবা যাতে নিরবচ্ছিন্নভাবে চালু থাকে তা নিশ্চিত করতে অন্য অ্যাক্টিভ ডিসিতে ট্রাফিক আবার রাউট করুন।
  2. প্রথম ডেটা সেন্টারে রোলব্যাক রাউটার ও মেসেজ প্রসেসর।
  3. ব্যাক-আপ বা VM স্ন্যাপশট থেকে রিস্টোর করে প্রথম ডেটা সেন্টারে Cassandra রোলব্যাক করুন।
  4. প্রথম ডেটা সেন্টারে ম্যানেজমেন্ট সার্ভার রোলব্যাক করুন।
  5. প্রথম ডেটা সেন্টারে ট্রাফিক আনব্লক করুন।
  6. সব Runtime নোড, Cassandra ও ম্যানেজমেন্ট সার্ভার রোল ব্যাক না হওয়া পর্যন্ত বাকি প্রতিটি ডেটা সেন্টারের জন্য ১ থেকে ৫ নম্বর ধাপ আবার করুন।

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

যে ব্যবহারকারী রোলব্যাক করছেন, তিনি যেন সেই ব্যবহারকারী হন যিনি 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.52.02-এ Cassandra-তে একটি আপগ্রেড এবং Cassandra-তে কানেক্ট করার জন্য মেসেজ প্রসেসর ও ম্যানেজমেন্ট সার্ভার দ্বারা ব্যবহৃত ড্রাইভার অন্তর্ভুক্ত। ফলে, এই ৩টি কম্পোনেন্টের আপগ্রেড ও রোলব্যাক একে অপরের সাথে ঘনিষ্ঠভাবে যুক্ত। নিচের সারণীতে এই তিনটি নির্দিষ্ট কম্পোনেন্টের জন্য রোলব্যাক পরিস্থিতি সংক্রান্ত সাধারণ উদাহরণ তালিকাভুক্ত করা হয়েছে। অন্যান্য কম্পোনেন্ট রোল ব্যাক করার সময় রোল ব্যাকের ক্রম বিভাগ অনুযায়ী করতে হবে।

এই বিভাগে, উপরে বর্ণিত পদ্ধতির উপর ভিত্তি করে অনুসরণ করার জন্য সাজেস্ট করা পদ্ধতি সহ বিভিন্ন রোলব্যাক পরিস্থিতি তুলে ধরা হয়েছে।

পরিস্থিতি রোলব্যাক স্ট্র্যাটেজি
সিঙ্গেল ডেটা সেন্টার, কিছু ক্যাসান্ড্রা নোড আপগ্রেড করা হয়েছে ব্যাক-আপ ফিরিয়ে আনা
সিঙ্গেল ডেটা সেন্টার, সব Cassandra নোড আপগ্রেড করা হয়েছে ব্যাক-আপ ফিরিয়ে আনা
সিঙ্গেল ডেটা সেন্টার, সব নোড (Cassandra, ম্যানেজমেন্ট সার্ভার ও রানটাইম নোড) আপগ্রেড করা হয়েছে
একাধিক ডেটা সেন্টার, প্রথম ডেটা সেন্টারের কিছু/সব Cassandra নোড আপগ্রেড করা হয়েছে আগে থেকে থাকা ডেটা সেন্টার থেকে আবার তৈরি করা
একাধিক ডেটা সেন্টার, সব Cassandra নোড, ম্যানেজমেন্ট সার্ভার এবং প্রথম ডেটা সেন্টারে রানটাইম নোড আপগ্রেড করা হয়েছে

এটি একবারে একটি ডেটা সেন্টারে পারফর্ম করতে হবে।

একাধিক ডেটা সেন্টার, শেষ ডেটা সেন্টারের কিছু/সব Cassandra নোড আপগ্রেড করা হয়েছে
  • ব্যাক-আপ ব্যবহার করে শেষ ডেটা সেন্টার রোলব্যাক করুন
  • ব্যাক-আপ বা আবার তৈরি করার মাধ্যমে বাকি ডেটা সেন্টারগুলি রোলব্যাক করুন, তবে একটি ডেটা সেন্টারকে একবারে।
একাধিক ডেটা সেন্টার, সব Cassandra নোড, ম্যানেজমেন্ট সার্ভার ও রানটাইম নোড সব DC-তে আপগ্রেড করা হয়েছে

এটি একবারে একটি ডেটা সেন্টারে করতে হবে।

সাধারণত, Cassandra রোল ব্যাক করার সময় আপনাকে নিম্নলিখিত বিষয়গুলি বিবেচনা করতে হবে:

  1. রানটাইম বা ম্যানেজমেন্ট কম্পোনেন্ট রোলব্যাক করা

    আপনি যদি কোনও ডেটা সেন্টারে (DC) Edge ম্যানেজমেন্ট সার্ভার বা Edge মেসেজ প্রসেসরের মতো কম্পোনেন্টকে আগের Edge Private Cloud ভার্সনে রোল ব্যাক করতে চান, তাহলে নিশ্চিত করুন যে একই সাথে সেই নির্দিষ্ট ডেটা সেন্টারে Cassandra-কেও রোল ব্যাক করা হয়েছে। ম্যানেজমেন্ট ও রানটাইম ট্রাফিক ব্যর্থতা আটকাতে এটি প্রয়োজন।

  2. ব্যাক-আপ ব্যবহার করে রোলব্যাক করা

    Cassandra 3.11.x থেকে নেওয়া ব্যাক-আপ Cassandra 2.1.x থেকে নেওয়া ব্যাক-আপের সাথে মানানসই নয়। ব্যাকআপ রিস্টোর করার মাধ্যমে রোলব্যাক চালু করতে, আপগ্রেড করার আগে Cassandra 2.1.x-এর ব্যাকআপ নেওয়া হয়েছে কিনা তা নিশ্চিত করুন।

  3. রোলব্যাকের জন্য ডেটা সেন্টারকে আলাদা করা

    ডাউনটাইম এড়াতে, নিশ্চিত করুন যে ট্রাফিক সম্পূর্ণভাবে কাজ করে এমন ডেটা সেন্টারে রিডাইরেক্ট করা হয়েছে এবং যে ডেটা সেন্টারে রোলব্যাক চলছে সেটি থেকে ব্লক করা হয়েছে।

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

পূর্বশর্ত

  1. আপনি একাধিক ডেটা সেন্টার জুড়ে Edge for Private Cloud 4.51.00 / 4.52.00 / 4.52.01 ক্লাস্টার অপারেট করছেন
  2. আপনি Cassandra-কে 2.1.X থেকে 3.11.X ভার্সনে আপগ্রেড করার প্রসেসে আছেন এবং আপগ্রেড করার সময় সমস্যার সম্মুখীন হয়েছেন
  3. আপনার ক্লাস্টারে অন্তত ১টি সম্পূর্ণ কার্যকরী ডেটা সেন্টার আছে যা এখনও Cassandra-র (Cassandra 2.1.X) পুরনো ভার্সনে চলছে

উচ্চ লেভেলের ধাপ

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

নোড মুছে ফেলা এবং নোড আবার তৈরি করার জন্য ক্লাস্টারে আগে থেকে থাকা নোড ব্যবহার করার বিস্তারিত ধাপ:

আপনি যে নোড রোলব্যাক করতে চান সেটি দিয়ে শুরু করুন

  1. পরবর্তী ধাপগুলি অনুসরণ করার আগে, ট্রাফিক যেন সম্পূর্ণ কার্যকরী ডেটা সেন্টারে রিডাইরেক্ট করা হয় তা নিশ্চিত করুন।
  2. রাউটার ও মেসেজ প্রসেসর আপগ্রেড করা হয়ে থাকলে, ডেটা সেন্টারে রাউটার ও মেসেজ প্রসেসর নোডকে আগের ভার্সনে রোলব্যাক করুন, একটি একটি করে।
  3. নোডে Cassandra বন্ধ করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  4. নোড থেকে Cassandra সফ্টওয়্যার আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
  5. নোড থেকে ডেটা ডিরেক্টরি সরানো:
    rm -rf /opt/apigee/data/apigee-cassandra
  6. আপনি যে Edge for Private Cloud ভার্সনে রোলব্যাক করতে চান সেটির বুটস্ট্র্যাপ ডাউনলোড করে চালান:

    উদাহরণ: 4.52.01 ভার্সনে রোলব্যাক করতে

  7. 4.52.01-এর বুটস্ট্র্যাপ ডাউনলোড করুন:
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
  8. 4.52.01-এর বুটস্ট্র্যাপ এক্সিকিউট করুন:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
  9. নোডে Cassandra সফ্টওয়্যার ইনস্টল করুন:
    apigee-service apigee-cassandra install
  10. /opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh ফাইলে নিচে উল্লেখ করা প্রপার্টি যোগ করুন।
    JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=<cass_ip-address>"

    উদাহরণ:

    JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=10.0.0.1"

  11. নোডে Cassandra সেট-আপ করুন:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  12. Cassandra UP এবং RUNNING হওয়ার পরে, নিচের ফাইল থেকে উপরের CWC সরিয়ে দিন:/opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh ফাইল।
  13. Cassandra নোড রিস্টার্ট করুন
    apigee-service apigee-cassandra restart
  14. ফাংশনাল ডেটা সেন্টারের নাম দিয়ে নোডে আবার তৈরি করার প্রসেস এক্সিকিউট করুন:
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>

    উদাহরণ:

    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h 10.0.0.1 dc-2

  15. ডেটা সেন্টারে আপনি যে নোড রোলব্যাক করতে চান, সেটির জন্য উপরের ধাপগুলি একটি একটি করে রিপিট করুন।

ডেটা সেন্টারের সব Cassandra নোড রোল ব্যাক ও আবার তৈরি করা হয়ে গেলে

  1. যে ডেটা সেন্টার রোল ব্যাক করা হচ্ছে, সেখানে ম্যানেজমেন্ট-সার্ভার নোডের যেকোনও একটির সেট-আপ রান করান। ম্যানেজমেন্ট সার্ভারটি রোল-ব্যাক করা ভার্সনের কিনা তা নিশ্চিত করুন। তা না হলে, ম্যানেজমেন্ট সার্ভারও রোলব্যাক করুন।
  2. ম্যানেজমেন্ট সার্ভারকে আগের ভার্সনে রোলব্যাক করা

  3. ম্যানেজমেন্ট সার্ভার বন্ধ করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
  4. আপনি মনিটাইজেশন ব্যবহার করলে, মনিটাইজেশনও আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  5. 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
  6. পুরনো ভার্সনের বুটস্ট্র্যাপ ডাউনলোড ও এক্সিকিউট করুন। যেমন, 4.52.01 ভার্সনের বুটস্ট্র্যাপ ডাউনলোড ও এক্সিকিউট করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
  7. ম্যানেজমেন্ট সার্ভার সেট-আপ

  8. একটি ম্যানেজমেন্ট-সার্ভার নোডের সেট-আপ রান করান:
    /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile
  9. উপরের ধাপগুলি সম্পূর্ণ করার পরে, রোল-ব্যাক করা ডেটা সেন্টারে ট্রাফিক রিডাইরেক্ট করুন।

আবার তৈরি করার পরে অপ্টিমাইজ করা

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

উদাহরণ: ধরুন, আপনার স্থানীয় ডেটা সেন্টারে ছয়টি Cassandra নোড আছে। সাধারণত, Apigee-এর রেপ্লিকেশন ফ্যাক্টর হল তিন, তাই প্রতিটি নোডে ৫০% ডেটা থাকে। এই ক্ষেত্রে, উপরে উল্লিখিত পদ্ধতি অনুসরণ করে আপনি নোড #১ ও #৪ আবার তৈরি করতে পারবেন। নোড #২, #৩, #৫ ও #৬-এর জন্য ব্যাক-আপ ফিরিয়ে আনতে ও মেরামত করতে নিচে উল্লেখ করা ধাপগুলি অনুসরণ করুন।

  1. স্থানীয় ডেটা সেন্টারে রেপ্লিকা আবার তৈরি করার জন্য উপরে উল্লেখ করা ধাপগুলি অনুসরণ করুন।
  2. বাকি নোডের জন্য, প্রতিটি বাকি নোডে এক এক করে নিচের ধাপগুলি অনুসরণ করুন।
  3. এই নোডে আপনার ক্যাপচার করা ব্যাক-আপ রিস্টোর করুন (মনে রাখবেন: এই ব্যাক-আপে সম্ভবত পুরনো ডেটা থাকবে কারণ এই ব্যাক-আপটি Cassandra আপগ্রেড শুরু করার আগে নেওয়া হয়েছে):
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file

    নোডের VM স্ন্যাপশট থাকলে, Cassandra ব্যাক-আপ রিস্টোর করার পরিবর্তে আপনি স্ন্যাপশট রিস্টোর করতে পারবেন।

  4. ব্যাক-আপ রিস্টোর করার পরে, নোডে Cassandra পরিষেবা চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  5. নোডে একটি রিপেয়ার এক্সিকিউট করুন যাতে আগে থেকে থাকা ডেটা সেন্টার থেকে লেটেস্ট ডেটা স্ট্রিম করা যায়:
    /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>

    উদাহরণ:

    /opt/apigee/apigee-cassandra/bin/nodetool -h 10.0.0.1 repair -dc dc-1

  6. আপনি মেরামত করতে চান এমন প্রতিটি নোডে #২ ধাপে উল্লিখিত উপরের সব ধাপ আবার করুন

ব্যাক-আপ / VM স্ন্যাপশট ব্যবহার করে Cassandra রোলব্যাক করা

আপনি যদি সম্পূর্ণ Cassandra ক্লাস্টার আপগ্রেড করে থাকেন এবং রোলব্যাক করতে চান, তাহলে এই পদ্ধতিটিই একমাত্র উপলভ্য। এছাড়াও, Apigee ব্যাক-আপ নোড নির্দিষ্ট হয়। একটি নোড থেকে নেওয়া ব্যাক-আপ অন্য নোডে ফিরিয়ে আনা যায় না। Cassandra ব্যাক-আপে নোড মেটাডেটা সংক্রান্ত তথ্য (যেমন, IP অ্যাড্রেস, রিং পজিশন ইত্যাদি) অন্তর্ভুক্ত থাকে।

পূর্বশর্ত

  1. আপনি শেষ ডেটা সেন্টারে Cassandra-কে 2.1.X থেকে 3.11.X-এ আপগ্রেড করার প্রসেসে আছেন এবং আপগ্রেড করার সময় সমস্যার সম্মুখীন হয়েছেন।
  2. আপনি যে আপগ্রেড রোল ব্যাক করছেন তার আগে নোডের ব্যাক-আপ আছে। 2.1.X থেকে 3.11.X ভার্সনে আপগ্রেড করার চেষ্টা করার আগে ব্যাক-আপ নেওয়া হয়েছিল।

উচ্চ লেভেলের ধাপ

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

ব্যাক-আপ/VM স্ন্যাপশট ব্যবহার করে Cassandra রোলব্যাক করার বিস্তারিত ধাপ

ক্লাস্টারে ১টি Cassandra নোড দিয়ে শুরু করুন

  1. পরবর্তী ধাপগুলি অনুসরণ করার আগে, ট্রাফিক যেন সম্পূর্ণ কার্যকরী ডেটা সেন্টারে রিডাইরেক্ট করা হয় তা নিশ্চিত করুন।
  2. রাউটার ও মেসেজ প্রসেসর আপগ্রেড করা হয়ে থাকলে, ডেটা সেন্টারে রাউটার ও মেসেজ প্রসেসর নোডকে আগের ভার্সনে রোলব্যাক করুন, একটি একটি করে।
  3. নোডে Cassandra বন্ধ করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  4. নোড থেকে Cassandra সফ্টওয়্যার আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
  5. নোড থেকে ডেটা ডিরেক্টরি সরানো:
    rm -rf /opt/apigee/data/apigee-cassandra
  6. আপনি যে Edge for Private Cloud ভার্সনে রোলব্যাক করতে চান সেটির বুটস্ট্র্যাপ ডাউনলোড করে চালান:

    যেমন: 4.52.01 ভার্সনে রোলব্যাক করতে

  7. 4.52.01-এর বুটস্ট্র্যাপ ডাউনলোড করুন:
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
  8. 4.52.01-এর বুটস্ট্র্যাপ এক্সিকিউট করুন:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
  9. নোডে Cassandra সেট-আপ করুন:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  10. নোডে Cassandra বন্ধ করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  11. নোডে ডেটা ডিরেক্টরি মুছে দিন:
    rm -rf /opt/apigee/data/apigee-cassandra/data
  12. ব্যাক-আপ ফিরিয়ে আনা:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
  13. নোডে Cassandra পরিষেবা চালু করা
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  14. প্রতিটি Cassandra নোডে এক এক করে ধাপগুলি রিপিট করুন।
  15. যে ডেটা সেন্টার রোল ব্যাক করা হচ্ছে, সেখানে ম্যানেজমেন্ট-সার্ভার নোডের যেকোনও একটির সেট-আপ রান করান। ম্যানেজমেন্ট সার্ভারটি রোল-ব্যাক করা ভার্সনের কিনা তা নিশ্চিত করুন। তা না হলে, ম্যানেজমেন্ট সার্ভারও রোলব্যাক করুন।
  16. উপরের ধাপগুলি সম্পূর্ণ করার পরে, রোল-ব্যাক করা ডেটা সেন্টারে ট্রাফিক রিডাইরেক্ট করুন।
  17. (ঐচ্ছিক) সব ডেটা সেন্টারের সব Cassandra নোড জুড়ে রিপেয়ার কমান্ড এক্সিকিউট করুন, যদি সেগুলির মধ্যে ডেটা ইনকনসিস্টেন্সি থাকে।
    /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Zookeeper 3.8.3 আপডেট রোলব্যাক করা

আপনি যদি 4.52.00 বা 4.51.00 ভার্সনে রোল ব্যাক করছেন, তাহলে Zookeeper রোল ব্যাক করার আগে আপনাকে কিছু বিশেষ ধাপ অনুসরণ করতে হবে। এইসব ধাপ রোলব্যাক বিকল্পে তালিকাভুক্ত করা আছে।

আপনি যদি 4.52.01 ভার্সনে রোল ব্যাক করেন, তাহলে Zookeeper-কে রোল ব্যাক করুন যেভাবে আপনি যেকোনও সফ্টওয়্যার রোল ব্যাক করবেন, যেমনটি নিচে আগের মেজর বা মাইনর রিলিজে রোল ব্যাক করুন বিভাগে তালিকাভুক্ত করা হয়েছে।

Rollback Qpid

আপনি যদি 4.52.00 বা 4.51.00 ভার্সনে রোল ব্যাক করেন, তাহলে Qpid রোল ব্যাক করার আগে আপনাকে কিছু বিশেষ ধাপ অনুসরণ করতে হবে। এইসব ধাপ রোলব্যাক বিকল্পে তালিকাভুক্ত করা আছে।

আপনি যদি 4.52.01 ভার্সনে রোল ব্যাক করেন, তাহলে আগের মেজর বা মাইনর রিলিজে রোল ব্যাক করুন নিবন্ধে তালিকাভুক্ত যেকোনও সফ্টওয়্যার রোল ব্যাক করার মতো Qpid রোল ব্যাক করুন

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

আপনি যদি 4.51.00 ভার্সনে রোল ব্যাক করেন, তাহলে Postgres রোল ব্যাক করার আগে আপনাকে কিছু বিশেষ ধাপ অনুসরণ করতে হবে। এইসব ধাপ রোলব্যাক বিকল্পে তালিকাভুক্ত করা আছে।

আপনি যদি 4.52.01 বা 4.52.00 ভার্সনে রোল ব্যাক করেন, তাহলে যেকোনও সফ্টওয়্যার রোল ব্যাক করার মতো Postgres রোল ব্যাক করুন, যেমন নিচে আগের মেজর বা মাইনর রিলিজে রোল ব্যাক করুন বিভাগে তালিকাভুক্ত করা হয়েছে।

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

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

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

    • 4.51.00 ভার্সনে রোল ব্যাক করতে, bootstrap_4.51.00.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. নোডের অন্য কোনও কম্পোনেন্ট আগের ভার্সনে ফিরিয়ে আনতে, শুধু সেই কম্পোনেন্টটি আনইনস্টল করুন, যেমন নিচের উদাহরণে দেখানো হয়েছে:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      যেখানে component হল কম্পোনেন্টের নাম।

    3. Edge রাউটার আগের ভার্সনে ফিরিয়ে আনতে, আপনাকে /opt/nginx/conf.d ফাইলের কন্টেন্ট মুছে দিতে হবে এবং edge-gateway কম্পোনেন্ট গ্রুপ আনইনস্টল করতে হবে:
      cd /opt/nginx/conf.d
      rm -rf *
  5. apigee-setup-এর 4.52.02 ভার্সন আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service ইউটিলিটির 4.51.00 ভার্সন ও এর ডিপেন্ডেন্সি ইনস্টল করুন। নিচে দেওয়া উদাহরণটি apigee-service-এর 4.51.00 ভার্সন ইনস্টল করে:
    sudo bash /tmp/bootstrap_4.51.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. আপনি যে কম্পোনেন্ট রোল ব্যাক করছেন, সেটি হোস্ট করা প্রতিটি নোডের জন্য এই প্রসেসটি রিপিট করুন।

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

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

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

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

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

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

    yum --showduplicates list component

    যেমন:

    yum --showduplicates list edge-ui
  2. কম্পোনেন্ট ইনস্টল করতে apigee-setup ব্যবহার করুন:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -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