প্রকাশিত এপ্রিল 19, 2026, 10:00AM EDT
কারিগরি প্রকাশনার ক্ষেত্রে আফামের অভিজ্ঞতা 2018 সালের, যখন তিনি মেক টেক ইজিয়ার-এর জন্য কাজ করেছিলেন। বছরের পর বছর ধরে, তিনি উইন্ডোজ, লিনাক্স এবং ওপেন সোর্স টুলস কভার করে উচ্চ-মানের গাইড, রিভিউ, টিপস এবং ব্যাখ্যাকারী নিবন্ধ প্রকাশের জন্য একটি খ্যাতি তৈরি করেছেন। তার কাজ টেকনিক্যাল উস্তাদ, উইন্ডোজ রিপোর্ট, গাইডিং টেক, আলফ্র এবং উইন্ডোজের নেক্সট সহ শীর্ষস্থানীয় ওয়েবসাইটগুলিতে প্রদর্শিত হয়েছে৷
তিনি কম্পিউটার সায়েন্সে প্রথম ডিগ্রি অর্জন করেছেন এবং ফুজো টেক ইউটিউব চ্যানেলে প্রকাশিত বিষয়ের উপর বিভিন্ন টিপস, ভিডিও এবং টিউটোরিয়াল সহ ডেটা গোপনীয়তা এবং সুরক্ষার জন্য একজন শক্তিশালী উকিল৷
যখন তিনি কাজ করেন না, তখন তিনি তার পরিবারের সাথে সময় কাটাতে, সাইকেল চালাতে বা তার বাগানে পরিচর্যা করতে পছন্দ করেন।
আমি এর স্থিতিশীলতার জন্য লিনাক্স ব্যবহার করতে পছন্দ করেছি। যাইহোক, আমার হোম সার্ভার, যা 24/7 চালায়, মনে হয় এটিকে তার সীমাতে ঠেলে দেয় এবং আমি এটিকে সবচেয়ে খারাপ সম্ভাব্য মুহুর্তে হ্যাং হতে দেখেছি। মাঝে মাঝে, আমার রিমোট বক্স অনলাইনে ফিরে আসার জন্য আমাকে একটি ম্যানুয়াল রিবুট করতে হয়েছিল।
আপনি যদি এমন পরিস্থিতির মুখোমুখি হন, তবে লিনাক্সের একটি অন্তর্নির্মিত সিস্টেম রয়েছে যা এই ধরণের পরিস্থিতির জন্য উপযুক্ত। সিস্টেমডের পরিষেবা পুনরুদ্ধারের সাথে এটিকে একত্রিত করা আমাকে একটি দক্ষ দ্বি-স্তর ক্র্যাশ পুনরুদ্ধার পদ্ধতি দেয় যার জন্য শারীরিক হস্তক্ষেপের প্রয়োজন হয় না।
সম্পর্কিত
লিনাক্সে ইতিমধ্যেই একটি বিল্ট-ইন পুনরুদ্ধার প্রক্রিয়া রয়েছে
ওয়াচডগ টাইমার যা আপনার সিস্টেমকে রক্ষা করে
লিনাক্সে ওয়াচডগ নামে একটি অন্তর্নির্মিত বৈশিষ্ট্য রয়েছে, যা এই নীতিতে কাজ করে যে সিস্টেমটি নিয়মিতভাবে সংকেত পাঠায় যে এটি এখনও সক্রিয় রয়েছে। যে মুহুর্তে এটি সিস্টেম থেকে একটি সংকেত পায় না, ওয়াচডগ ধরে নেয় একটি সমস্যা আছে এবং একটি রিবুট ট্রিগার করে। এই বৈশিষ্ট্যটি লিনাক্সে 1990-এর দশকের মাঝামাঝি পর্যন্ত বিদ্যমান ছিল এবং এটি প্রধানত এমন সিস্টেমে ব্যবহার করা হয়েছে যেখানে আপটাইম আলোচনার অযোগ্য, যেমন সার্ভার এবং এমবেডেড সিস্টেম।
কিছু সিস্টেমে, ওয়াচডগ /dev/watchdog এর মাধ্যমে প্রকাশ করা হয় ডিভাইস ফাইল, অন্যদের মধ্যে, এটি /dev/watchdog0 হতে পারে . কাউন্টডাউন টাইমার রিসেট করতে এই ফাইলটিতে একটি প্রক্রিয়া লিখতে হবে। যদি প্রক্রিয়াটি লেখা বন্ধ করে দেয়, তবে এর সাধারণত অর্থ সিস্টেমটি হিমায়িত হয়ে গেছে বা একটি পলাতক প্রক্রিয়া দ্বারা সম্পদগুলি গ্রাস করা হয়েছে। এই ধরনের ক্ষেত্রে, টাইমারের মেয়াদ শেষ হয়ে যায় এবং এভাবেই রিবুট ট্রিগার হয়ে যায়।
দুটি ধরণের ওয়াচডগ রয়েছে:হার্ডওয়্যার এবং সফ্টওয়্যার (সফটডগ)। প্রথমটি মাদারবোর্ডে একটি হার্ডওয়্যার প্রক্রিয়া হতে পারে। এটি সর্বদা সিস্টেম রিসেট করতে সক্ষম, এমনকি যখন কার্নেল সম্পূর্ণরূপে লক আপ করা হয়। পরেরটি সফ্টওয়্যার সংস্করণ যা কার্নেলের ভিতরে চলে এবং কোন অতিরিক্ত হার্ডওয়্যারের প্রয়োজন হয় না। কার্নেল ক্র্যাশ হলে এই সংস্করণটি আপনাকে সংরক্ষণ করবে না৷
টাইপ করুন
ডেডিকেটেড হার্ডওয়্যার প্রয়োজন
<থ>একটি হার্ড কার্নেল ক্র্যাশ থেকে বেঁচে যায়
<থ>জন্য সবচেয়ে উপযুক্ত
হার্ডওয়্যার ওয়াচডগ
হ্যাঁ
হ্যাঁ
সার্ভার, সর্বদা-অন-অন ক্রিটিকাল সিস্টেম
সফটওয়্যার (সফটডগ)
না
না
হোম সার্ভার, ভিএম, সাধারণ-উদ্দেশ্য রিগস
সফ্টওয়্যার ওয়াচডগ সাধারণ ফ্রিজগুলির জন্য দুর্দান্ত যা বেশিরভাগ সেটআপের মুখোমুখি হয়, যেমন লোড স্পাইক, মেমরি ক্লান্তি এবং পলাতক প্রক্রিয়া। যাইহোক, এই বৈশিষ্ট্যটি ডিফল্টরূপে অক্ষম করা থাকে এবং এটিকে ভুল কনফিগার করার ফলে অপ্রয়োজনীয় এবং বারবার সিস্টেম রিবুট হতে পারে। এটি বলেছে, এটি আমার প্রিয় লুকানো লিনাক্স বৈশিষ্ট্যগুলির মধ্যে একটি হয়ে উঠেছে।
মিনিটের মধ্যে স্বয়ংক্রিয় ক্র্যাশ পুনরুদ্ধার সেট আপ করা হচ্ছে
একটি ব্যবহারিক ওয়াচডগ সেটআপ যা আসলে কাজ করে
সফ্টডগ ইতিমধ্যে প্রায় সমস্ত লিনাক্স ডিস্ট্রোতে কাজ করে, তাই আপনার নতুন হার্ডওয়্যারের প্রয়োজন নেই। আপনার প্রারম্ভিক বিন্দু এই কমান্ডের সাথে মডিউল লোড হচ্ছে:
sudo modprobe softdog
রিবুট করার পরে সফটডগ টিকে থাকে তা নিশ্চিত করতে, /etc/modules এ ফাইলটি খুলুন (ডেবিয়ান/উবুন্টু), তার নিজস্ব লাইনে সফ্টডগ যোগ করুন এবং এটি সংরক্ষণ করুন। এখন ওয়াচডগ ডেমন ইন্সটল করুন এবং নিচের কমান্ডের সাহায্যে এটি সক্রিয় করুন:
sudo apt install watchdog
sudo systemctl enable --now watchdog
এটি হয়ে গেলে, এখন /etc/watchdog.conf খোলার সময় এবং কিছু গুরুত্বপূর্ণ সেটিংসে ফোকাস করুন:
সেটিং
এটি কি নিয়ন্ত্রণ করে
<থ>ব্যবহারিক সূচনা পয়েন্ট
ব্যবধান
কত ঘন ঘন সিস্টেম চেক ইন করে
10 সেকেন্ড
সর্বোচ্চ-লোড-1
রিবুট করার আগে গড় সিলিং লোড করুন
~6× CPU কোর গণনা
মিন-মেমরি
রিবুট করার আগে ফ্রি মেমরি ফ্লোর
~512 পৃষ্ঠা (~2MB)
সর্বোচ্চ-লোড-1-এর লোড গড় হল এক মিনিট। এই মানটি আপনার ডিভাইসে CPU সময়ের জন্য সক্রিয়ভাবে প্রতিদ্বন্দ্বিতাকারী প্রসেসের সংখ্যা উপস্থাপন করে। এটি বোঝায় যে যদি একটি 4-কোর মেশিনে 4.0 এর লোড থাকে তবে প্রতিটি কোর সম্পূর্ণরূপে দখল করা হয়। আপনার মূল সংখ্যার 6x ব্যবহার করা নিরাপদ যাতে আপনার সিস্টেমে বিস্ফোরণের জন্য হেডরুম থাকে, যা লকআপের আগে বৈধ হতে পারে৷
এছাড়াও, নোট করুন যে মিন-মেমরি মেমরি পৃষ্ঠাগুলিতে নির্দিষ্ট করা হয়েছে, মেগাবাইটে নয়। x86_64 সিস্টেমে একটি পৃষ্ঠা সাধারণত 4KiB হয়। এভাবে গেলে, 512 পৃষ্ঠাগুলি প্রায় 2MB ফ্রি মেমরি হবে৷
৷একবার আপনি এই কনফিগারেশনগুলি সম্পন্ন করলে, systemctl status watchdog কমান্ডটি চালান ডেমন চলছে তা যাচাই করতে এবং journalctl -u watchdog কমান্ড আপনাকে এর কার্যকলাপ পর্যালোচনা করার অনুমতি দেয়৷
৷ওয়াচডগ পরিষেবা বন্ধ করা একটি রিবুট ট্রিগার করবে না — ডেমন /dev/watchdog প্রস্থান করার সময় পরিষ্কারভাবে বন্ধ করে, যা নিরাপদে টাইমারকে নিরস্ত্র করে। ওয়াচডগ আপনার সিস্টেম রিবুট করবে তা আসলে পরীক্ষা করার জন্য, আপনাকে একটি বাস্তব ব্যর্থতার অবস্থা অনুকরণ করতে হবে, যেমন একটি স্থায়ী লোড স্পাইক৷
প্রতিটি ক্র্যাশের জন্য রিবুট করার প্রয়োজন নেই
systemd কে সেকেন্ডের মধ্যে ভাঙা পরিষেবাগুলি ঠিক করতে দিন
সিস্টেমড সেকেন্ডের মধ্যে পরিচালনা করতে পারে এমন বেশ কয়েকটি ব্যর্থতা রয়েছে যার জন্য সিস্টেমটি পুনরায় বুট করার প্রয়োজন নেই। একটি উদাহরণ এমন একটি পরিষেবা হতে পারে যা ক্র্যাশ হয়, অপ্রত্যাশিতভাবে প্রস্থান করে বা প্রতিক্রিয়া বন্ধ করে। আপনি চেক প্রয়োগ করতে পারেন যাতে মূল ইউনিট স্পর্শ না করেই সবকিছু রিবুট না করে। পরিষেবার নাম যোগ করে নীচের কমান্ডটি চালান:
sudo systemctl edit
তারপর নিম্নলিখিত যোগ করুন:
[Service]
Restart=on-failure
RestartSec=5
Restart=on-failure নিশ্চিত করে যে একটি রিস্টার্ট শুধুমাত্র তখনই ঘটে যখন পরিষেবাটি একটি ত্রুটি কোড সহ প্রস্থান করে এবং RestartSec=5 একটি দ্রুত-ফায়ার রিস্টার্ট লুপ রোধ করতে প্রকৃত রিস্টার্টের আগে একটি ছোট বিলম্ব।
StartLimitIntervalSec সমন্বয় করা হচ্ছে এবং StartLimitBurst একটি ভাঙা পরিষেবা অনির্দিষ্টকালের জন্য পুনরায় চালু হতে বাধা দেবে। ক্র্যাশ লুপ বন্ধ করার জন্য এগুলি অপরিহার্য, তবে শুধুমাত্র সিস্টেমডের মধ্যে চলা পরিষেবাগুলির জন্য কাজ করে৷
পুনরুদ্ধারের দুটি স্তর যা প্রায় প্রতিটি ব্যর্থতাকে কভার করে
ওয়াচডগ বা সিস্টেমড সার্ভিস ম্যানেজমেন্ট কোনোটাই নিজের থেকে সম্পূর্ণ নয়। যাইহোক, একসাথে ব্যবহার করা হলে, তারা প্রায় সবকিছু পরিচালনা করতে পারে।
ব্যর্থতার ধরন
পুনরুদ্ধার স্তর
<থ>প্রত্যাশিত ফলাফল
পরিষেবা একটি ত্রুটির সাথে প্রস্থান করে
systemd (পুনঃসূচনা=অন-ব্যর্থতা)
সেকেন্ডের মধ্যে পরিষেবা পুনরায় চালু হয়
পরিষেবা পরিষ্কারভাবে প্রস্থান করে তবে উচিত নয়
systemd (পুনঃসূচনা=সর্বদা)
সেকেন্ডের মধ্যে পরিষেবা পুনরায় চালু হয়
সম্পূর্ণ সিস্টেম ফ্রিজ বা লোড সর্পিল
ওয়াচডগ ডেমন
স্বয়ংক্রিয় রিবুট, কোনো ম্যানুয়াল পদক্ষেপ নেই
সিস্টেমড ব্যক্তিগত পরিষেবা ব্যর্থতা ধরা এবং পুনরায় চালু করার জন্য উপযুক্ত, এবং ওয়াচডগ পুরো সিস্টেমটি দেখতে এবং সিস্টেমডের সীমার বাইরে কিছু ভুল হয়ে গেলে পুনরায় চালু করার জন্য এটির উপরে বসে।
এই সংমিশ্রণের অর্থ হল প্রতিবার কিছু ভুল হলে আপনাকে উপলব্ধ থাকতে হবে না এবং এটি সার্ভার পরিচালনাকে আরও আনন্দদায়ক উদ্যোগ করে তোলে। এছাড়াও, নির্দিষ্ট লিনাক্স কমান্ড শেখার কথা বিবেচনা করুন যা আপনাকে বেশিরভাগ সিস্টেম সমস্যা সমাধান করতে সাহায্য করে।