বিন্যাস না করে হার্ড সেক্টরে খারাপ সেক্টরগুলি চিহ্নিত করুন


22

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

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

এইচডিডি বিন্যাস না করে এই খারাপ ব্লকগুলি চিহ্নিত করার কোনও উপায় আছে কি?

উত্তর:


29

আমি ধরে নিয়েছি আপনি কোনও ডিস্কের শারীরিক খারাপ ব্লক সম্পর্কে কথা বলছেন এবং দূষিত ফাইল সিস্টেমের বিষয়ে নয়।

আপনার ডিস্কের শারীরিক অবস্থা পরীক্ষা করতে এটি ইনস্টল করা ভাল smartmontools

sudo apt-get install smartmontools

এটি কাজ করে কারণ সমস্ত আধুনিক ডিস্ক স্মার্ট নামক একটি সিস্টেম ব্যবহার করে তাদের স্বাস্থ্যের স্থিতি লগ করে

smartctrlএই স্থিতিটি পড়তে কমান্ডটি ব্যবহার করুন । উদাহরণস্বরূপ প্রথম ডিস্ক কল থেকে সমস্ত বৈশিষ্ট্য পড়ুন read

sudo smartctl --all /dev/sda

সামগ্রিক স্বাস্থ্য স্থিতি সম্পর্কে কথা বলার জন্য একটি লাইন দেখুন out একবার এটি একটি ত্রুটি নির্দেশ করলে খুব সম্ভবত ডিস্কটি ব্যর্থ হয়ে যায়।

SMART overall-health self-assessment test result: PASSED

অন্যান্য রেখাগুলি আপনি যাচাই করতে চান তা হ'ল মুলতুবি থাকা সেক্টর গণনা এবং পুনর্বিবেচিত সেক্টর।

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       48
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       2

প্রত্যাশিত তালিকা সাধারণত কাঁচা ক্ষেত্রের মধ্যে অতিরিক্ত কাজ করার জন্য ডিস্কের বিনিময়ে খারাপ সেক্টরের সংখ্যা। মুলতুবি হ'ল সেক্টর যা পরবর্তী লেখার ব্যর্থতার ক্ষেত্রে পুনরায় স্থান পেতে পারে।

এমনকি আপনার মডেল দ্বারা সমর্থিত হয়ে আপনি ডিস্কের স্ব-পরীক্ষাগুলিও ট্রিগার করতে পারেন

sudo smartctl -t long /dev/sda

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

sudo badblocks -svvn -c 262144 /dev/sda

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


2
কোন -cসময়ে বা অন্য কথায় পরীক্ষা করা হয় এমন ব্লকের সংখ্যা বা প্রভাব কী কী আপনি 64 এর ডিফল্টের তুলনায় এত বড় মূল্য কেন?
গ্রিওল

4
1024 বাইটের ডিফল্ট ব্লক-আকার একসাথে blocks৪ টি ব্লকের ডিফল্ট দ্বারা গুণিত প্রতিটি অনুরোধে কেবলমাত্র k৪ কে প্রক্রিয়াকৃত হয়। আধুনিক ডিস্কগুলিতে 150 মাইবি / এস পর্যন্ত থ্রুপুট রয়েছে যার সাথে আমি স্বাচ্ছন্দ্য বোধ করি তার চেয়ে বেশি ওভারহেডের পরিচয় দেয়। আমি ড্রাইভে বাসে থাকা ডেটার জন্য অপেক্ষা না করে সবচেয়ে কার্যকরী উপায়ে ডেটা প্রক্রিয়া করার সুযোগ দিতে চাই।
ব্যবহারকারী 228505

বলেছেন: / dev / sda সম্ভবত সিস্টেম দ্বারা ব্যবহৃত হয়; ব্যাডব্লক চালানো নিরাপদ নয়!
ডিমস

1
@ ডিমস এটি আপনাকে একটি সক্রিয়ভাবে মাউন্ট করা ডিস্কে এটি চালনা না করতে বলে। প্রথমে ডিস্ক আনমাউন্ট করুন। আপনার ক্ষেত্রে এটি আপনার সিস্টেম ড্রাইভ হতে পারে। সুতরাং প্রথমে একটি উদ্ধার ব্যবস্থা বুট করুন।
ব্যবহারকারী 228505

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