কীভাবে লিনাক্সের সাথে ডাউনটাইম এড়ানো যায়?


13

উবুন্টুতে প্রায়শই সফ্টওয়্যার আপডেটের জন্য পুনরায় বুটগুলি দরকার হয় (এতে ডাউনটাইমের মতো পার্শ্ব প্রতিক্রিয়া থাকতে পারে)।

আমি দেখতে পাই উবুন্টুতে https://www.ubuntu.com/livepatch রয়েছে যা রিবুট ছাড়াই কার্নেল আপডেটের অনুমতি দেয়, তবে এটি একটি প্রদত্ত পরিষেবা। Ksplice এছাড়াও আছে ।

লিনাক্স বিতরণ / প্রক্রিয়াগুলি আছে যেখানে আপগ্রেড / প্যাচগুলির কখনই পুনরায় বুটের প্রয়োজন হয় না?

(আমি জানি যে উচ্চ প্রাপ্যতা (এইচএ) সার্ভার স্থাপন করা এবং ডিসপোজেবল সার্ভার থাকা সর্বোত্তম অনুশীলন - সুতরাং আমি কোনও পরিষেবা চালিয়ে যাওয়ার বিষয়ে জিজ্ঞাসা করছি না , তবে প্রকৃত সার্ভারগুলিতে))


1
এয়ার-গ্যাপড সার্ভারটি এমন কোনও মেশিন হিসাবে কাজ করবে যার কখনও পুনরায় চালনার দরকার হয় না? সর্বোপরি, যদি কেউ এটি অ্যাক্সেস করতে না পারে তবে আপনার কখনই এটি পুনরায় চালু করার দরকার নেই? ;) - উদাহরণস্বরূপ, পারমাণবিক বিদ্যুৎকেন্দ্রের একটি মনিটরিং সার্ভার, যদি কিছু ভুল হয় তবে এটি কেবল একটি অ্যালার্ম শোনায়। (হ্যাঁ আমি সচেতন এটি সম্ভবত একটি এলোমেলো সার্ভারের পরিবর্তে একটি উত্সর্গীকৃত সিস্টেম হতে পারে তবে আমি উদাহরণটি কেবল এই বিষয়টি তৈরির জন্য ব্যবহার করছি যে 'সিকিউরিটি আপডেটস' এর জন্য রিবুট করার সময় সম্ভবত একটি সম্পূর্ণ
উত্সাহী

3
@ djsmiley2k এটি এমন একটি ক্ষেত্রে যেখানে আপনি কখনও পুনরায় বুট করবেন না এমন একটি মেশিন আপনাকে পর্যাপ্ত প্রাপ্যতা দেয় না। পরিবর্তে আপনার অতিরিক্ত প্রয়োজন।
ক্যাস্পার্ড

@ ক্যাস্পার্ড ঠিক আছে, তাই কোনও ক্লাস্টার কখনই মেশিনগুলি পুনরায় চালু না করে?
djsmiley2k TMW

3
@ djsmiley2k এই প্রশ্নের আমার উত্তর ইতিমধ্যে যুক্তিযুক্ত যে আমি কেন এমন কোনও মেশিনগুলির একটি ক্লাস্টারকে একসাথে পুনরায় বুট করি যা আপনি কখনও পুনরায় বুট করেন না তার চেয়ে বেশি নির্ভরযোগ্য হতে পারে।
ক্যাস্পার্ড

2
আপনি কী ভাবেন যে স্বতন্ত্র সিস্টেম ডাউনটাইম এড়ানো ভাল?
ওয়ারেন

উত্তর:


12

আপনার প্রশ্নের জবাবে, "লিনাক্সের বিতরণ / প্রক্রিয়াগুলি কি যেখানে আপগ্রেড / প্যাচগুলি কখনও পুনরায় বুট করার প্রয়োজন হয় না?", আমি কোনও বিষয়েই অবগত নই এবং আমি সত্যিই পুনরায় বুট-মুক্ত এমন কোনও উদ্বেগ নিয়ে সন্দেহ করতে পারছি না। লাইভ প্যাচিংটি কোথাও কোথাও বাইরের অভিজ্ঞতা নয় এমন বিষয়ে মাইকেল হ্যাম্পটনের মন্তব্য ছাড়াও লাইভ প্যাচিং রিবুট করার মতো একই ফলাফল অর্জন করতে পারে না।

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

ত্রুটির সময়টির দিকে তাকিয়ে, আমি দেখতে পেলাম যে একটি Ksplice প্যাচ সম্প্রতি প্রয়োগ করা হয়েছিল। আমি প্যাচটি ব্যাকআপ করেছিলাম এবং বাইনারি সেগফল্ট করেনি, আবার এটি আবার যুক্ত করে, এবং এটি আবার সেগফোল্টিং শুরু করে। সমতুল্য প্যাচযুক্ত কার্নেলটিতে পুনরায় বুট করা ভাল কাজ করেছে। এটি 32-বিট সাপোর্টের জন্য একটি প্যাচ হিসাবে দেখা গেছে যা Ksplice লোকেরা যথেষ্ট সঠিকভাবে প্রয়োগ করে নি। তাদের কৃতিত্বের জন্য, তারা কয়েক ঘন্টার মধ্যে একটি নির্দিষ্ট প্যাচ জারি করেছিল এবং এটি কোনও হস্তক্ষেপ ছাড়াই আমাদের বহরে সঠিকভাবে কাজ করতে ফিরে এসেছে।

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

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


30

একটি পরিষেবা অত্যন্ত উপলব্ধ এবং একটি পৃথক মেশিন অত্যন্ত উপলব্ধ উপলব্ধ করার মধ্যে একটি গুরুত্বপূর্ণ পার্থক্য আছে।

বেশিরভাগ ক্ষেত্রে লক্ষ্যটি হ'ল পরিষেবাটি সর্বোচ্চ উপলব্ধ করা এবং পৃথক মেশিনের প্রাপ্যতা সেই লক্ষ্য অর্জনের পক্ষে কেবল একটি মাধ্যম। তবে স্বতন্ত্র মেশিনগুলির প্রাপ্যতা উন্নতি করে আপনি যে লক্ষ্যটির দিকে যেতে পারেন তার সীমাবদ্ধতা রয়েছে।

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

আপনি যদি আলাদা আলাদা মেশিন সরবরাহ করতে পারেন তার চেয়ে বেশি উপলভ্য হতে পরিষেবাটি ডিজাইন করেন তবে পৃথক মেশিনগুলির উচ্চ প্রাপ্যতা অর্জনের জন্য আর চাপ নেই। সুতরাং অত্যন্ত উপলব্ধ পরিষেবাদির জন্য পুনরায় বুটগুলি এড়ানোর দরকার নেই। পরিবর্তে আপনি স্বতন্ত্র মেশিনগুলির কিছুটা নির্ভরযোগ্যতা ত্যাগ করতে পারেন সঞ্চয় করতে যা অন্যান্য ক্ষেত্রগুলিতে রাখা যেতে পারে যেখানে আপনি নির্ভরযোগ্যতার তুলনায় অনেক বেশি লাভ পেতে পারেন।

একবার উচ্চ স্তরের সিস্টেমটি কার্নেলের লাইভ প্যাচিংয়ে ব্যর্থ হওয়ার ক্ষেত্রে স্বতন্ত্র হার্ডওয়্যার উপাদানগুলির ক্ষেত্রে নির্ভরযোগ্য হওয়ার নকশা তৈরি করা একটি সুবিধা থেকে ঝুঁকিতে পরিণত হয়।

এটি একটি ঝুঁকিপূর্ণ কারণ যে কোনও মেশিনটি সরাসরি প্যাচ করা ছিল এবং যে মেশিনটি নতুন কার্নেল সংস্করণ দিয়ে বুট করা হয়েছিল তার আচরণের মধ্যে সূক্ষ্ম পার্থক্য থাকতে পারে। এটি একটি সুপ্ত বাগটি প্রবর্তন করতে পারে যা পরের বার একটি যন্ত্র পুনরায় বুট করার পরে আউটেজের কারণ হতে পারে। এই ঝুঁকিটিকে পুনরায় চালু করার মাধ্যমে কিছু বিচ্ছিন্নতা প্রশমিত করার পদ্ধতি হিসাবে পরিষ্কার স্লেট হিসাবে দেখা যায় by

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

এই কারণগুলির জন্য স্বল্প পরিমাণে স্বতন্ত্র মেশিনগুলির নিয়মিত রিবুটগুলি সহ একটি অতি সহজলভ্য পরিষেবা অর্জন করা সহজ হতে পারে যা আপনি সমস্যাগুলি সনাক্ত করতে এবং সমস্যাগুলি হওয়ার পরে পুনরায় বুটের ক্রমটি বিরতি দিতে পারেন।


আমি আপনার ঝুঁকি সম্পর্কিত বর্ণনা পছন্দ করেছি; "প্যাচড বনাম নতুন কার্নেলের সাহায্যে বুট করা হয়েছে" .. তবে, আপনি আমার প্রশ্নের উত্তর দেননি .. যা আমি পুনরায় জবাব দিতে পারি, সেখানে লিনাক্স ডিস্ট্রোসের বাইরে কোন লাইভপ্যাচ আছে?
ব্যবহারকারী 75126

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

3
@ ইউজার 75126 ওরাকলের কেএসপ্লিসে একটি নিখরচায় পরীক্ষা, এবং উবুন্টু এবং ফেডোরা ডেস্কটপগুলির জন্য একটি বিনামূল্যে স্তর রয়েছে (কেবলমাত্র তারা কেবল এটি প্রয়োগ করে না)। সমস্যাটি হ'ল লাইভ প্যাচগুলি তৈরি করা স্বয়ংক্রিয়ভাবে কাজ করা কঠিন এবং এমনকি যে অংশগুলি স্বয়ংক্রিয় করা যায় সেগুলিও সময়সাপেক্ষ। এই প্যাচগুলি তৈরি করা তুলনামূলকভাবে শ্রম নিবিড় কাজ এবং এটির জন্য সংস্থাগুলি চার্জ করা যুক্তিসঙ্গত। আমি নিজেরাই লাইভ প্যাচগুলি তৈরি করতে কী নেবে সেদিকে নজর রেখেছিলাম এবং সেখান থেকে ডেকে আছি। আমার দিনে আমি এই ধরণের সময় পাইনি।
মাইকেল হ্যাম্পটন

12
@ ব্যবহারকারীর 75126 প্রশ্নের উত্তর এবং শরীরে এমনভাবে পরিবর্তন করা যা একটি বিদ্যমান উত্তরকে অবৈধ করে দেয় site আপনি যদি আলাদা প্রশ্ন জিজ্ঞাসা করতে চান তবে একটি আলাদা প্রশ্ন জিজ্ঞাসা করুন।
গ্রেগ স্মিথ

2
@ ব্যবহারকারী 75126 ধন্যবাদ। আমি আপনার প্রশ্নটি পড়েছি, এবং আমি মনে করি এটি সত্যিই এর উত্তর ছিল না। আমি কেবল এটি কেন একটি প্রদত্ত পরিষেবা সে সম্পর্কে মন্তব্য করছিলাম।
মাইকেল হ্যাম্পটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.