কম্পিউটার

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

এই নিবন্ধে, আমরা একটি কর্পোরেট LAN থেকে ইন্টারনেট অ্যাক্সেস করার জন্য দুটি স্কুইড (লিনাক্স) প্রক্সি সার্ভারের একটি উচ্চ-উপলভ্য ব্যর্থতা কনফিগারেশন বিবেচনা করব। একটি ফেইলওভার কনফিগারেশন তৈরি করতে আমরা কিপলাইভড ব্যবহার করে একটি HA ক্লাস্টার তৈরি করতে যাচ্ছি .
একটি HA ক্লাস্টার হল একটি গ্রুপের সার্ভারের একটি গ্রুপ যেখানে এমবেডেড রিডানডেন্সি সহ গ্রুপের যেকোনো সার্ভারের হার্ডওয়্যার বা সফ্টওয়্যার সমস্যার ক্ষেত্রে অ্যাপ ডাউনটাইম কমিয়ে আনা যায়। এই সংজ্ঞা অনুসারে, HA ক্লাস্টারের সঠিক অপারেশনের জন্য নিম্নলিখিতগুলি অবশ্যই প্রয়োগ করতে হবে:

  • সার্ভার স্টেট চেক;
  • সার্ভার ব্যর্থতার ক্ষেত্রে সংস্থানগুলির স্বয়ংক্রিয় পরিবর্তন।

Keepalived এই উভয়ই সক্ষম করে। রক্ষিত লিনাক্স সিস্টেমের একটি সিস্টেম ডেমন যা সার্ভিস ফেইলওভার এবং লোড ব্যালেন্সিং সক্ষম করে। প্রধান একটি ব্যর্থ হলে অন্য সার্ভারে সুইচ করা একটি ভাসমান IP ঠিকানা দ্বারা ব্যর্থতা প্রদান করা হয়। স্বয়ংক্রিয়ভাবে সার্ভারের মধ্যে IP ঠিকানা পরিবর্তন করতে, Keepalived VRRP ব্যবহার করছে (ভার্চুয়াল রাউটার রিডানডেন্সি প্রোটোকল – https://www.ietf.org/rfc/rfc2338.txt)।

VRRP-এর নীতি

প্রথমত, আসুন কিছু তত্ত্ব এবং মূল VRRP সংজ্ঞা বিবেচনা করি।

  • VIP — ভার্চুয়াল আইপি, একটি ভার্চুয়াল আইপি ঠিকানা যা ব্যর্থতার ক্ষেত্রে সার্ভারের মধ্যে স্বয়ংক্রিয়ভাবে পরিবর্তন করতে সক্ষম;
  • মাস্টার — একটি সার্ভার যেটিতে VIP বর্তমানে সক্রিয় আছে;
  • ব্যাকআপ — একটি মাস্টার ব্যর্থতার ক্ষেত্রে VIP সার্ভারগুলিতে স্যুইচ করবে;
  • VRID — ভার্চুয়াল রাউটার আইডি, যে সার্ভারগুলি একটি ভার্চুয়াল IP (VIP) ভাগ করে একটি তথাকথিত ভার্চুয়াল রাউটার গঠন করে এবং এর অনন্য শনাক্তকারীর মান 1 থেকে 255 এর মধ্যে থাকতে পারে৷ একটি সার্ভার এক সময়ে একাধিক VRID-এর অন্তর্গত হতে পারে, কিন্তু প্রতিটি VRID এর একটি অনন্য ভার্চুয়াল IP ঠিকানা থাকতে হবে৷

বেসিক অপারেশন অ্যালগরিদম:

  • নির্দিষ্ট বিরতিতে, মাস্টার সার্ভার VRRP প্যাকেট পাঠায় (হার্টবিট s) নির্দিষ্ট মাল্টিকাস্টিং ঠিকানা 224.0.0.18, এবং সমস্ত স্লেভ সার্ভার এই ঠিকানাটি শোনে। মাল্টিকাস্টিং মানে হল একজন প্রেরক এবং একাধিক প্রাপক;ইঙ্গিত . সার্ভারগুলিকে মাল্টিকাস্টিং মোডে কাজ করতে, আপনার নেটওয়ার্ক সরঞ্জামগুলিকে অবশ্যই মাল্টিকাস্ট ট্র্যাফিক সমর্থন করতে হবে৷
  • যদি একটি স্লেভ সার্ভার কোনো হার্টবিট প্যাকেট না পায়, তাহলে এটি মাস্টার নির্বাচন পদ্ধতি শুরু করে। সার্ভারটি অগ্রাধিকারের ভিত্তিতে মাস্টার হয়ে গেলে, এটি ভিআইপি সক্রিয় করবে এবং একটি অনুগ্রহপূর্বক ARP পাঠাবে। . গ্রাউইটাস এআরপি হল একটি বিশেষ ধরনের এআরপি প্রতিক্রিয়া যা ভার্চুয়াল আইপি ঠিকানার মালিকের পরিবর্তন এবং ট্রাফিককে পুনঃনির্দেশিত করার জন্য MAC ঠিকানা সম্পর্কে অবহিত করার জন্য নেটওয়ার্ক সুইচগুলিতে MAC টেবিল আপডেট করে।

CentOS-এ কিপলাইভ ইনস্টল এবং কনফিগার করুন

আমরা স্কুইড ইনস্টল সহ CentOS 7 চলমান দুটি লিনাক্স সার্ভারে (proxy-serv01 এবং proxy-serv02) Keepalived ইনস্টল এবং কনফিগার করব। আমাদের স্কিমে, আমরা লোড ব্যালেন্স করার সবচেয়ে সহজ পদ্ধতি ব্যবহার করব — রাউন্ড রবিন DNS . এই পদ্ধতিটি পরামর্শ দেয় যে একটি একক DNS নামের একাধিক নিবন্ধিত আইপি ঠিকানা রয়েছে এবং ক্লায়েন্টরা একে একে এই ঠিকানাগুলি পান। তাই আমাদের একটি DNS নামের (প্রক্সি-সার্ভ) জন্য নিবন্ধিত দুটি ভার্চুয়াল আইপি ঠিকানার প্রয়োজন হবে। এখানে নেটওয়ার্ক ডায়াগ্রাম:

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

প্রতিটি লিনাক্স সার্ভারের দুটি শারীরিক নেটওয়ার্ক ইন্টারফেস রয়েছে:eth1 সর্বজনীন (সাদা) IP ঠিকানা এবং eth0 সহ স্থানীয় নেটওয়ার্কে।

নিম্নলিখিত সার্ভার আইপি ঠিকানাগুলি বাস্তব হিসাবে ব্যবহৃত হয়:

192.168.2.251 — proxy-server01192.168.2.252-এর জন্য — proxy-server02-এর জন্য

নিম্নলিখিত আইপি ঠিকানাগুলি ভার্চুয়াল হিসাবে ব্যবহার করা হবে যা ব্যর্থতার ক্ষেত্রে সার্ভারগুলির মধ্যে স্বয়ংক্রিয়ভাবে পরিবর্তন করা হয়:

192.168.2.101192.168.2.102
গুরুত্বপূর্ণ . আপনি যখন VRRP কনফিগার করেন, তখন কখনই প্রকৃত সার্ভারের IP ঠিকানা ভার্চুয়াল হিসেবে ব্যবহার করবেন না, যেহেতু কোনো সার্ভার ব্যর্থ হলে তার ঠিকানা পরবর্তী সার্ভারে চলে যাবে এবং ব্যর্থতার পর প্রথম সার্ভার নেটওয়ার্ক থেকে বিচ্ছিন্ন হয়ে যেতে পারে। বিষয়টি হল যে আইপি ঠিকানাটি ফিরে পেতে, একটি সার্ভারকে নেটওয়ার্কে একটি ভিআরআরপি প্যাকেট পাঠাতে হবে, কিন্তু এটি থেকে এটি করার জন্য কোনও আইপি ঠিকানা নেই।

আপনি yum প্যাকেজ ম্যানেজার (বা dnf ব্যবহার করে উভয় সার্ভারে Keepalived ইনস্টল করতে পারেন CentOS 8 এ):

# yum install keepalived

উভয় সার্ভারে ইনস্টলেশন সম্পন্ন হওয়ার পরে, উভয় সার্ভারে Keepalived কনফিগারেশন ফাইল পরিবর্তন করুন:

# nano /etc/keepalived/keepalived.conf

বিভিন্ন প্যারামিটার সহ লাইনগুলি হাইলাইট করা হয়েছে:

proxy-serv01 proxy-serv02
 1 Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা  2 Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

আসুন আরও বিস্তারিতভাবে বিকল্পগুলি বর্ণনা করি:

  1. vrrp_instance — এমন একটি বিভাগ যা একটি VRRP উদাহরণ সংজ্ঞায়িত করে;
  2. state — স্টার্টআপে প্রাথমিক নোড স্টেট;
  3. ইন্টারফেস <ইন্টারফেস নাম> — যে ইন্টারফেস VRRP চালু আছে;
  4. ভার্চুয়াল_রাউটার_আইডি <0 থেকে 255 পর্যন্ত সংখ্যা> — হল অনন্য VRRP ইনস্ট্যান্স শনাক্তকারী, এটি অবশ্যই সকল সার্ভারে একই হতে হবে;
  5. অগ্রাধিকার <0 থেকে 255 পর্যন্ত সংখ্যা> — সার্ভারের অগ্রাধিকার সেট করে, একটি উচ্চ অগ্রাধিকার সহ একটি সার্ভার মাস্টার হয়ে যায়;
  6. ভার্চুয়াল_আইপ্যাড্রেস — মাস্টার স্টেটে একটি সার্ভারে সক্রিয় ভার্চুয়াল আইপি ঠিকানাগুলির একটি ব্লক। সেগুলি VRRP দৃষ্টান্তের মধ্যে থাকা সমস্ত সার্ভারে একই হতে হবে
দ্রষ্টব্য . আপনি অনেক উদাহরণ খুঁজে পেতে পারেন যখন প্রমাণিকরণ বিকল্পটি VRRP কনফিগারেশনে ব্যবহৃত হয়। যাইহোক, রক্ষিত ডকুমেন্টেশনে উল্লেখ করা হয়েছে যে 2004 সালে RFC3768 স্পেসিফিকেশনে (https://tools.ietf.org/html/rfc3768) VRRPv2 থেকে প্রমাণীকরণটি সরানো হয়েছিল, কারণ এটি প্রকৃত নিরাপত্তা প্রদান করেনি। এই কনফিগারেশন বিকল্পটি ব্যবহার করার পরামর্শ দেওয়া হয় না।

যদি বর্তমান নেটওয়ার্ক কনফিগারেশন মাল্টিকাস্ট ব্যবহার করার অনুমতি না দেয়, তাহলে Keepalived একটি ইউনিকাস্ট বিকল্প প্রদান করে, i. e VRRP হার্টবিট প্যাকেট সরাসরি তালিকা অনুযায়ী সার্ভারে পাঠানো হবে। ইউনিকাস্ট ব্যবহার করতে, আপনার নিম্নলিখিত বিকল্পগুলির প্রয়োজন হবে:

  • unicast_src_ip — হল VRRP প্যাকেটের উৎস ঠিকানা
  • unicast_peer — হল সার্ভার আইপি ঠিকানার ব্লক, যেখানে VRRP প্যাকেট পাঠানো হবে।

এইভাবে, আমাদের কনফিগারেশন দুটি VRRP দৃষ্টান্ত সংজ্ঞায়িত করে, proxy_ip1 এবং proxy_ip2। নিয়মিত অপারেশনে, প্রক্সি-সার্ভ01 ভার্চুয়াল আইপি 192.168.2.101 এর জন্য মাস্টার হবে এবং 192.168.2.102 এর জন্য ব্যাকআপ এবং এর বিপরীতে, প্রক্সি-সার্ভ02 ভার্চুয়াল আইপি 192.168.2.102 এবং 192.168.2.102 এর জন্য মাস্টার হবে। 192.168.2.101।

যদি একটি সার্ভারে একটি ফায়ারওয়াল সক্রিয় করা হয়, তাহলে আপনাকে iptables ব্যবহার করে মাল্টিকাস্ট ট্র্যাফিক এবং VRRP-এর জন্য অনুমোদিত নিয়মগুলি যোগ করতে হবে:

# iptables -A INPUT -i eth0 -d 224.0.0.0/8 -j ACCEPT
# iptables -A INPUT -p vrrp -i eth0 -j ACCEPT

সিস্টেম বুটে অটোস্টার্টের জন্য রক্ষিত পরিষেবা সক্ষম করুন এবং উভয় সার্ভারেই চালান

# systemctl enable keepalived
# systemctl start keepalived

Keepalived শুরু হওয়ার পরে, আপনার কনফিগারেশন ফাইল থেকে ইন্টারফেসে ভার্চুয়াল আইপি ঠিকানা বরাদ্দ করা হবে। চলুন সার্ভারের বর্তমান eth0 IP ঠিকানা দেখি:

# ip a show eth0

প্রক্সি-সার্ভ01-এ:

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

proxy-serv02-এ:

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

কিপলাইভডের সাথে অ্যাপ বা ইন্টারফেসের স্বাস্থ্য পরীক্ষা কীভাবে করবেন?

VRRP প্রোটোকল সার্ভারের অবস্থা পর্যবেক্ষণ প্রদান করে। উদাহরণস্বরূপ, এটি একটি শারীরিক সার্ভার ব্যর্থতার ক্ষেত্রে বা সুইচ/সার্ভার NIC পোর্টের ক্ষেত্রে কার্যকর। যাইহোক, অন্যান্য সমস্যাও ঘটতে পারে:

  • একটি প্রক্সি সার্ভার (বা অন্য অ্যাপ) ত্রুটি৷ — সার্ভারের ভার্চুয়াল ঠিকানা অ্যাক্সেসকারী ক্লায়েন্টরা তাদের ব্রাউজারে একটি ত্রুটি বার্তা পাবেন যে প্রক্সি সার্ভারটি অনুপলব্ধ;
  • দ্বিতীয় ইন্টারফেসের ইন্টারনেট অ্যাক্সেস ব্যর্থতা — সার্ভারের ভার্চুয়াল ঠিকানা অ্যাক্সেসকারী ক্লায়েন্টরা তাদের ব্রাউজারে একটি ত্রুটি বার্তা পাবেন যে সংযোগটি স্থাপন করা যায়নি৷

উপরে বর্ণিত পরিস্থিতিগুলি পরিচালনা করতে, নিম্নলিখিত বিকল্পগুলি ব্যবহার করুন:

  • ট্র্যাক_ইন্টারফেস — ইন্টারফেসের অবস্থা নিরীক্ষণ করে এবং VRRP দৃষ্টান্তের জন্য FAULT অবস্থা সেট করে যদি তালিকাভুক্ত ইন্টারফেসগুলির মধ্যে একটি DOWN;
  • ট্র্যাক_স্ক্রিপ্ট0 রিটার্ন করে এমন একটি স্ক্রিপ্ট ব্যবহার করে আপনার HA অ্যাপের স্বাস্থ্য পরীক্ষা করে যদি চেক সফল হয়, অথবা 1 যদি চেক ব্যর্থ হয়।

eth1 ইন্টারফেস মনিটরিং যোগ করে কনফিগারেশন আপডেট করুন (ডিফল্টরূপে, VRRP দৃষ্টান্ত এটি যে ইন্টারফেসটির সাথে আবদ্ধ তা পরীক্ষা করবে:এটি বর্তমান কনফিগারেশনে eth0)।

track_interface {  eth1}

ট্র্যাক_স্ক্রিপ্ট নির্দেশিকা নিম্নলিখিত বিন্যাসে vrrp_script ব্লক দ্বারা নির্ধারিত পরামিতি সহ একটি স্ক্রিপ্ট চালায়:

vrrp_script  { script <"path to the executable file"> ব্যবধান <সংখ্যা, সেকেন্ড> - স্ক্রিপ্ট চালানোর পর্যায়ক্রমিকতা, ডিফল্টরূপে 1 সেকেন্ড ফল  - যতবার স্ক্রিপ্টটি ফিরে এসেছে FAULT স্টেটে স্যুইচ করার জন্য শূন্য থেকে ভিন্ন একটি মান উত্থান  - যতবার স্ক্রিপ্টটি FAULT অবস্থা (ফেলব্যাক) টাইমআউট থেকে বেরিয়ে আসার জন্য শূন্য মান ফেরত দিয়েছে  - স্ক্রিপ্ট পর্যন্ত অপেক্ষা করার সময় ফলাফল প্রদান করে (যদি সময় শেষ হয়, স্ক্রিপ্টটি একটি অ-শূন্য মান প্রদান করে_ ওজন <সংখ্যা> - মান, যার দ্বারা সার্ভারের অগ্রাধিকার হ্রাস করা হবে যদি এটি FAULT অবস্থা পায়। ডিফল্ট মান হল 0, যার অর্থ হল পতনের প্যারামিটারে সেট করা একাধিকবার স্ক্রিপ্ট ব্যর্থ হওয়ার পরে সার্ভারটি ভুল অবস্থা পায়

আসুন স্কুইড প্রক্সি স্বাস্থ্য পরীক্ষা কনফিগার করি। এই কমান্ডটি ব্যবহার করে, আপনি স্কুইড প্রক্রিয়া সক্রিয় কিনা তা পরীক্ষা করতে পারেন:

# squid -k check

প্রতি 3 সেকেন্ডে চলমান vrrp_script তৈরি করুন। এই ব্লকটি vrrp_instance ব্লকের বাইরে সংজ্ঞায়িত করা হয়েছে।

vrrp_script chk_squid_service { script "/usr/sbin/squid -k check" ব্যবধান 3}

উভয় vrrp_instance ব্লকে পর্যবেক্ষণে এই স্ক্রিপ্ট যোগ করুন:

track_script { chk_squid_service}

স্কুইড ব্যর্থ হলে, ভার্চুয়াল আইপি ঠিকানা অন্য সার্ভারে স্যুইচ করা হবে।

আপনি যেকোনো অতিরিক্ত ক্রিয়া নির্দিষ্ট করতে পারেন সার্ভারের অবস্থা পরিবর্তন হলে করতে হবে।

যদি স্কুইড কোন ইন্টারফেস থেকে সংযোগ গ্রহণ করতে কনফিগার করা হয়, i. e http_port 0.0.0.0:3128 , ভার্চুয়াল আইপি ঠিকানা সুইচ করা হলে কোনো সমস্যা হবে না এবং স্কুইড নতুন ঠিকানায় সংযোগ গ্রহণ করবে। যাইহোক, যদি নির্দিষ্ট আইপি ঠিকানাগুলি কনফিগার করা হয়, ই. g.:

http_port 192.168.2.101:3128http_port 192.168.2.102:3128

স্কুইড জানবে না যে ক্লায়েন্টের অনুরোধগুলি শোনার জন্য সিস্টেমে একটি নতুন ঠিকানা উপস্থিত হয়েছে। ভার্চুয়াল আইপি অ্যাড্রেস স্যুইচ করার সময় কিছু অতিরিক্ত অ্যাকশনের প্রয়োজন হলে পরিস্থিতি সামলাতে, সার্ভারের অবস্থা পরিবর্তন হলে Keepalived একটি স্ক্রিপ্ট চালানোর অনুমতি দেয়, উদাহরণস্বরূপ, MASTER থেকে BACKUP, বা এর বিপরীতে। এটি এই বিকল্পটি ব্যবহার করে প্রয়োগ করা হয়:

"এক্সিকিউটেবল ফাইলের পথ" অবহিত করুন

একটি ব্যর্থতার ক্ষেত্রে কিপলাইভড ফেইলওভার পরীক্ষা করা হচ্ছে

আপনি ভার্চুয়াল আইপি কনফিগার করার পরে, নিশ্চিত করুন যে ব্যর্থতাগুলি সঠিকভাবে পরিচালনা করা হয়েছে। প্রথম চেক একটি সার্ভার ব্যর্থতা সিমুলেশন হয়. proxy-serv01-এ eth0 অক্ষম করুন এবং এটি VRRP হার্টবিট প্যাকেট পাঠানো বন্ধ করবে। proxy-serv02 কে ভার্চুয়াল IP ঠিকানা 192.168.2.101 সক্রিয় করতে হবে। এই কমান্ড দিয়ে এটি পরীক্ষা করুন:

# ip a show eth0

প্রক্সি-সার্ভ01-এ:

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

প্রক্সি-সার্ভ02-এ:

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

প্রত্যাশিত হিসাবে, proxy-serv02 ভার্চুয়াল IP ঠিকানা 192.168.2.101 সক্রিয় করেছে। নিম্নলিখিত কমান্ডটি ব্যবহার করে লগগুলিতে কী লেখা হয়েছে তা দেখা যাক:

cat /var/log/messages | grep -i keepalived

অন proxy-serv01 proxy-serv02 এ
Keepalived_vrrp[xxxxx]:কার্নেল রিপোর্ট করছে:ইন্টারফেস eth0 DOWNKeepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) প্রবেশ করা হচ্ছে FAULT STATEKeepalived_vrrp[xxxxyp_vrrp.Inxxyp_vrrp. (proxy_ip1) এখন FAULT অবস্থায়
Keepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) মাস্টার স্টেটে স্থানান্তর
Keepalived একটি সংকেত পায় যে eth0 ডাউন অবস্থায় আছে এবং proxy_ip1 VRRP দৃষ্টান্তের জন্য FAULT অবস্থা সেট করে, এইভাবে ভার্চুয়াল IP ঠিকানাগুলিকে মুক্ত করে। কিপলিভড proxy_ip1 VRRP দৃষ্টান্তের জন্য মাস্টার স্টেট সেট করে, eth0-এ IP ঠিকানা 192.168.2.101 সক্রিয় করে এবং অপ্রয়োজনীয় ARP পাঠায়।

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

এবং নিশ্চিত করুন যে আপনি যখন আবার প্রক্সি-সার্ভ01-এ eth0 সক্ষম করবেন, ভার্চুয়াল আইপি ঠিকানা 192.168.2.101 আবার সুইচ করা হয়েছে৷

অন proxy-serv01 proxy-serv02 এ
Keepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) একটি নতুন মাস্টার নির্বাচনকে জোর করেKeepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) MASTER STATEKeepalived_vrrp:VRRP_Instance(proxy_ip1) ট্রানজিশন করা হচ্ছে VRRP_Instance(proxy_ip1) প্রোটোকল VIPs সেটিং করা।Keepalived_vrrp[xxxxx]:192.168.2.101-এর জন্য eth0-এ নিরর্থক ARP পাঠানো
Keepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) উচ্চতর অগ্রাধিকার 255 সহ বিজ্ঞাপন গৃহীত হয়েছে, আমাদের 100Keepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) প্রবেশ করানো হচ্ছে।> 
Keepalived একটি সংকেত পায় যে eth0 ফিরে এসেছে এবং proxy_ip1 VRRP উদাহরণের জন্য মাস্টার নির্বাচন করা শুরু করে৷ এটি মাস্টার স্টেট পাওয়ার পর, সার্ভারটি eth0 তে আইপি অ্যাড্রেস 192.168.2.101 সক্রিয় করে এবং বিনা মূল্যে ARP পাঠায়৷ কিপলিভড প্রক্সি_ip1 VRRP উদাহরণের জন্য উচ্চ অগ্রাধিকার সহ প্যাকেট পায়, proxy_ip1 কে ব্যাকআপ অবস্থায় স্যুইচ করে এবং IP ঠিকানাগুলিকে মুক্ত করে।

দ্বিতীয় চেক হল বহিরাগত নেটওয়ার্ক ইন্টারফেস ব্যর্থতার সিমুলেশন। এটি করতে, proxy-serv01-এ বহিরাগত নেটওয়ার্ক ইন্টারফেস eth1 নিষ্ক্রিয় করুন। লগগুলিতে ফলাফলগুলি দেখুন৷

অন proxy-serv01 proxy-serv02 এ
Keepalived_vrrp[xxxxx]:কার্নেল রিপোর্ট করছে:ইন্টারফেস eth1 DOWNKeepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) প্রবেশ করা হচ্ছে FAULT STATEKeepalived_vrrp[xxxxyp_vrrp.Inxx_p_vrrp. (proxy_ip1) এখন FAULT অবস্থায়
Keepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) মাস্টার স্টেটে ট্রানজিশন করা 192.168.2.101
এর জন্য eth0 এ
Keepalived একটি সংকেত পায় যে eth1 DOWN এবং proxy_ip1 VRRP দৃষ্টান্তের জন্য FAULT অবস্থা সেট করে, এইভাবে ভার্চুয়াল IP ঠিকানাগুলি মুক্ত করে৷ কিপলিভড proxy_ip1 VRRP উদাহরণের জন্য মাস্টার স্টেট সেট করে, eth0 তে আইপি অ্যাড্রেস 192.168.2.101 সক্রিয় করে এবং বিনামূল্য ARP পাঠায়।

Keepalived:CentOS/RHEL-এ আইপি ফেইলওভার সহ উচ্চ প্রাপ্যতা কনফিগার করা

তৃতীয় চেক হল একটি স্কুইড ব্যর্থতার সিমুলেশন। এটি করতে, এই কমান্ডটি ব্যবহার করে ম্যানুয়ালি পরিষেবা বন্ধ করুন:

# systemctl stop squid

লগগুলিতে ফলাফলগুলি দেখুন:

অন proxy-serv01 proxy-serv02 এ
 Keepalived_vrrp [XXXXX]:VRRP_Script (chk_squid_service) failedKeepalived_vrrp [XXXXX]:VRRP_Instance (proxy_ip1) দোষ STATEKeepalived_vrrp প্রবেশ [XXXXX]:VRRP_Instance (proxy_ip1) সরানোর প্রোটোকল VIPs.Keepalived_vrrp [XXXXX]:VRRP_Instance (proxy_ip1 ) এখন FAULT অবস্থায়
Keepalived_vrrp[xxxxx]:VRRP_Instance(proxy_ip1) মাস্টার স্টেটে ট্রানজিশন করা 192.168.2.101
এর জন্য eth0 এ
স্কুইড প্রক্সি পরিষেবার কার্যকলাপ পরীক্ষা করে এমন স্ক্রিপ্ট একটি ত্রুটি প্রদান করে৷ Keepalived proxy_ip1 VRRP দৃষ্টান্তের জন্য FAULT অবস্থা সেট করে, এইভাবে ভার্চুয়াল IP ঠিকানাগুলি মুক্ত করে৷ কিপলিভড proxy_ip1 VRRP উদাহরণের জন্য মাস্টার স্টেট সেট করে, eth0 তে আইপি অ্যাড্রেস 192.168.2.101 সক্রিয় করে এবং বিনামূল্য ARP পাঠায়।

তিনটি চেকই সফলভাবে পাস হয়েছে এবং Keepalived সঠিকভাবে কনফিগার করা হয়েছে। পরে আমরা পেসমেকার ব্যবহার করে একটি HA ক্লাস্টার কনফিগার করব এবং তাদের বৈশিষ্ট্যগুলি বর্ণনা করব৷

চূড়ান্ত কনফিগারেশন ফাইল /etc/keepalived/keepalived.conf proxy-serv01-এর জন্য :

vrrp_script chk_squid_service { script "/usr/sbin/squid -k চেক" ব্যবধান 3} vrrp_instance proxy_ip1 { state MASTER interface eth0 virtual_router_id 1 priority 255 virtual_router_id 1 priority 255 Virtual_ipaddress. 26 1 এথ 255 ভার্চুয়াল_আইপি ড্রেস 2}এথ 255 ভার্চুয়াল_আইপি 2এথ 255 ভার্চুয়াল_অ্যাড. Track_Script {chk_squid_service}} vrrp_instance proxy_ip2} vrrp_instance eth0 virtual_ipaiddress {192.168.2.102/24 dev eth0 লেবেল eth0:2} track_interface {eth1} track_script {chk_squid_service}} চূড়ান্ত কনফিগারেশন ফাইল  / etc / jetalived /keepalived.conf proxy-serv02-এর জন্য :
vrrp_script chk_squid_service { script "/usr/sbin/squid -k চেক" ব্যবধান 3}vrrp_instance proxy_ip1 { state BACKUP interface eth0 virtual_router_id 1 priority 100 virtual_router_id 1 priority 100 vichual_ipdress in 2/eth1 eth. 100 devter. 1 eth. 100 ভার্চুয়াল_ipdress. track_script {  chk_squid_service }}vrrp_instance proxy_ip2 { state MASTER ইন্টারফেস eth0 virtual_router_id 2 অগ্রাধিকার 255 ভার্চুয়াল_আইপ্যাডড্রেস {  192.168.2.102/24 dev eth0k eth0} লেবেল {tra_chk} {102} dev eth0k} লেবেল{101} ট্রাকে 


  1. উচ্চ প্রাপ্যতা - MS SQL সার্ভারের উপলব্ধতা

  2. RHEL, CentOS এবং Fedora এর মধ্যে পার্থক্য

  3. NTP সার্ভারের সাথে কীভাবে লিনাক্স সময় সিঙ্ক করবেন

  4. Nginx এর সাথে একটি DDoS আক্রমণ কীভাবে প্রতিরোধ করা যায়