Redis Sentinel হলো একটি সিস্টেম যা Redis-এ High Availability (HA) এবং Automatic Failover প্রদান করে। এটি Redis ক্লাস্টার বা একাধিক Redis সার্ভারের মধ্যে পর্যবেক্ষণ, ব্যাকআপ এবং পুনরুদ্ধারের কাজ করে। Redis Sentinel আপনাকে master-slave replication সেটআপে automatic failover এবং monitoring সুবিধা প্রদান করে।
Redis Sentinel কনফিগারেশন
Redis Sentinel কনফিগারেশন মূলত একটি বিশেষ কনফিগারেশন ফাইলের মাধ্যমে পরিচালিত হয়, যেখানে Sentinel সার্ভার কনফিগার করা হয় এবং কোন Master সার্ভার পর্যবেক্ষণ করবে তা নির্ধারণ করা হয়। এছাড়া, Sentinel failover প্রক্রিয়া নিয়ন্ত্রণ করে, যখন Master সার্ভার কাজ না করে তখন এটি স্বয়ংক্রিয়ভাবে একটি নতুন Master নির্বাচিত করে।
Sentinel কনফিগারেশন ফাইল তৈরি করা
Sentinel কনফিগারেশন ফাইল তৈরি করুন: Redis Sentinel কনফিগারেশন ফাইলটি সাধারনত
sentinel.confনামে থাকে। প্রথমেsentinel.confফাইল তৈরি করুন:sudo nano /etc/redis/sentinel.confSentinel কনফিগারেশন সেট করা:
এখানে কিছু গুরুত্বপূর্ণ কনফিগারেশন অপশন যা Sentinel ফাইলে যোগ করা হয়:
monitor: Sentinel-কে কোন Master সার্ভার পর্যবেক্ষণ করতে হবে তা নির্দেশ করে। এটি Master সার্ভারের নাম, IP এবং পোর্ট, এবং কনফিগারেশন প্যারামিটার হিসেবে quorum (যতগুলো Sentinel প্রয়োজন, নতুন Master নির্বাচন করতে) উল্লেখ করা হয়।
sentinel monitor mymaster 127.0.0.1 6379 2এই উদাহরণে:
mymaster: মূল Redis সার্ভারের নাম।127.0.0.1: মাস্টার Redis সার্ভারের IP ঠিকানা।6379: মাস্টার Redis সার্ভারের পোর্ট নম্বর।2: Quorum। এখানে, যেহেতু এটি 2 সেট করা, Sentinel 2 জন Sentinel সার্ভারের নিশ্চিতকরণে স্বয়ংক্রিয়ভাবে failover শুরু করবে।
down-after-milliseconds: এই প্যারামিটারটি নির্ধারণ করে যে কত মিলিসেকেন্ড পর Sentinel Master সার্ভারকে ডাউন হিসেবে চিহ্নিত করবে।
sentinel down-after-milliseconds mymaster 30000failover-timeout: এটি নির্ধারণ করে failover প্রক্রিয়া কত সময়ের মধ্যে সম্পন্ন হবে।
sentinel failover-timeout mymaster 180000notification-script: Sentinel যদি কোন Master সার্ভার ডাউন হিসেবে চিহ্নিত করে, তবে একটি স্ক্রিপ্ট চালাতে এটি কনফিগার করা যায়, যা আপনাকে নোটিফিকেশন পাঠাতে সাহায্য করবে।
sentinel notification-script mymaster /path/to/your/script.sh- client-reconfig-script: এটি failover প্রক্রিয়া শেষে রেপ্লিকা সার্ভারকে ক্লায়েন্ট কনফিগার করার জন্য ব্যবহার করা হয়।
auth-pass: যদি আপনার Redis সার্ভারে পাসওয়ার্ড থাকে, তবে এটি সেট করতে পারেন:
sentinel auth-pass mymaster yourpassword
Sentinel সার্ভার চালু করা: কনফিগারেশন ফাইল তৈরি এবং সংরক্ষণ করার পর, Sentinel সার্ভার চালু করতে:
redis-server /etc/redis/sentinel.conf --sentinelএই কমান্ডটি Redis Sentinel সার্ভিস চালু করবে, যা আপনার Master সার্ভার পর্যবেক্ষণ করবে এবং প্রয়োজনীয় অবস্থায় failover পরিচালনা করবে।
Redis Sentinel Monitoring
Redis Sentinel একটি পর্যবেক্ষণ (monitoring) সিস্টেম সরবরাহ করে যা Redis ক্লাস্টারের সমস্ত সার্ভারের স্বাস্থ্যের অবস্থা চেক করে। Sentinel সার্ভারগুলোর মধ্যে সমন্বয় করে এবং Master সার্ভার ডাউন হলে, একটি নতুন Master নির্বাচন করে।
Sentinel মনিটরিং পরিচালনা করা
Sentinel ক্লায়েন্টের মাধ্যমে মনিটরিং: Sentinel ক্লায়েন্ট ব্যবহার করে আপনি Redis Sentinel সার্ভিসের অবস্থা এবং Master-Slave সম্পর্ক মনিটর করতে পারেন।
redis-cli -p 26379 sentinel mastersএই কমান্ডটি আপনাকে Sentinel দ্বারা পর্যবেক্ষণ করা সকল Masters এর তালিকা দেখাবে।
Sentinel থেকে Master সার্ভারের অবস্থা দেখা: Sentinel সার্ভারের অবস্থা দেখতে:
redis-cli -p 26379 sentinel sentinel mymasterএটি
mymasterসার্ভারের অবস্থা এবং তথ্য দেখাবে, যেমন এই সার্ভারটি কাজ করছে, failover বা কোন সমস্যা আছে কিনা।Sentinel থেকে Quorum এবং Failover তথ্য দেখা: Sentinel সার্ভারের স্ট্যাটাস সম্পর্কে আরও বিস্তারিত তথ্য দেখতে:
redis-cli -p 26379 sentinel failover-timeout mymasterএটি failover timeout এর বিস্তারিত দেখাবে।
Sentinel লগ ফাইল পরীক্ষা করা: Sentinel এর লগ ফাইল থেকে, আপনি failover, Master এবং Slave সার্ভারের অবস্থাসহ অন্যান্য কার্যকলাপ দেখতে পারবেন।
Redis Sentinel এর লগ ফাইলটি সাধারণত
/var/log/redis/sentinel.logবা যেখানে আপনি কনফিগার করেছেন সেখানে পাওয়া যাবে।
Failover প্রক্রিয়া এবং Recovery
Redis Sentinel এর মূল কাজ হল automatic failover। যখন একটি Master সার্ভার ডাউন হয়ে যায়, Sentinel স্বয়ংক্রিয়ভাবে একটি Replica সার্ভারকে Master হিসেবে নির্বাচিত করে। Failover প্রক্রিয়া শেষ হওয়ার পরে, নতুন Master সার্ভারটি ডেটা পুনরুদ্ধার করবে এবং পুরানো Master (যদি পুনরুদ্ধার করা যায়) একে রেপ্লিকা হিসেবে পুনরায় কনফিগার হবে।
Failover Process:
- Sentinel প্রথমে মূল Redis সার্ভার (Master) এর স্বাস্থ্য পরীক্ষা করে।
- যদি Redis Master সার্ভার কাজ না করে, Sentinel রেপ্লিকা সার্ভার থেকে একটি নতুন Master নির্বাচন করে।
- নতুন Master নির্বাচন হওয়ার পর, এটি ডেটা লিখন শুরু করে এবং পুরানো Master আবার রেপ্লিকা হিসেবে কনফিগার হয়।
- Sentinel failover প্রক্রিয়া সম্পন্ন হওয়া পর্যন্ত লোড ব্যালান্সিং এবং ক্লায়েন্ট অ্যাক্সেস চালিয়ে যায়।
সারাংশ
Redis Sentinel একটি অত্যন্ত কার্যকরী উপাদান যা Redis সার্ভারের জন্য High Availability এবং Automatic Failover নিশ্চিত করে। এটি সার্ভার মনিটরিং, failover প্রক্রিয়া, এবং ডেটাবেস সিস্টেমের স্থিতিশীলতা নিশ্চিত করার জন্য ব্যবহৃত হয়। Sentinel কনফিগারেশন এবং Monitoring এর মাধ্যমে আপনি আপনার Redis ক্লাস্টারকে আরও দক্ষভাবে পরিচালনা করতে পারবেন এবং প্রয়োজনীয় সময় ডেটার নিরাপত্তা নিশ্চিত করতে পারবেন।
Read more