হার্ড ড্রাইভে ত্রুটিগুলি পড়ার কথা ... থামছে?


10

আমার গল্পটি বেশ সহজভাবে শুরু হয়। আমার কাছে একটি হালকা-ডিউটি ​​সার্ভার রয়েছে, আর্চ লিনাক্স চলছে, যা এর বেশিরভাগ ডেটা দুটি এসএডি ড্রাইভের সমন্বয়ে একটি RAID-1 এ সঞ্চয় করে। এটি প্রায় 4 মাস ধরে কোনও সমস্যা ছাড়াই কাজ করে যাচ্ছিল। তারপরে, হঠাৎ আমি কোনও একটি ড্রাইভে পঠন ত্রুটি পেতে শুরু করি। সর্বদা, বার্তাগুলি অনেকগুলি এর মতো দেখায়:

Apr 18 00:20:15 hope kernel: [307085.582035] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Apr 18 00:20:15 hope kernel: [307085.582040] ata5.01: failed command: READ DMA EXT
Apr 18 00:20:15 hope kernel: [307085.582048] ata5.01: cmd 25/00:08:08:6a:34/00:00:27:00:00/f0 tag 0 dma 4096 in
Apr 18 00:20:15 hope kernel: [307085.582050]          res 51/40:00:0c:6a:34/40:00:27:00:00/f0 Emask 0x9 (media error)
Apr 18 00:20:15 hope kernel: [307085.582053] ata5.01: status: { DRDY ERR }
Apr 18 00:20:15 hope kernel: [307085.582056] ata5.01: error: { UNC }
Apr 18 00:20:15 hope kernel: [307085.621301] ata5.00: configured for UDMA/133
Apr 18 00:20:15 hope kernel: [307085.640972] ata5.01: configured for UDMA/133
Apr 18 00:20:15 hope kernel: [307085.640986] sd 4:0:1:0: [sdd] Unhandled sense code
Apr 18 00:20:15 hope kernel: [307085.640989] sd 4:0:1:0: [sdd]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Apr 18 00:20:15 hope kernel: [307085.640993] sd 4:0:1:0: [sdd]  Sense Key : Medium Error [current] [descriptor]
Apr 18 00:20:15 hope kernel: [307085.640998] Descriptor sense data with sense descriptors (in hex):
Apr 18 00:20:15 hope kernel: [307085.641001]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
Apr 18 00:20:15 hope kernel: [307085.641010]         27 34 6a 0c 
Apr 18 00:20:15 hope kernel: [307085.641020] sd 4:0:1:0: [sdd]  Add. Sense: Unrecovered read error - auto reallocate failed
Apr 18 00:20:15 hope kernel: [307085.641023] sd 4:0:1:0: [sdd] CDB: Read(10): 28 00 27 34 6a 08 00 00 08 00
Apr 18 00:20:15 hope kernel: [307085.641027] end_request: I/O error, dev sdd, sector 657746444
Apr 18 00:20:15 hope kernel: [307085.641035] ata5: EH complete
Apr 18 00:20:15 hope kernel: [307085.641672] md/raid1:md16: read error corrected (8 sectors at 657744392 on sdd1)
Apr 18 00:20:17 hope kernel: [307087.505082] md/raid1:md16: redirecting sector 657742336 to other mirror: sdd1

প্রতিটি ত্রুটি একটি পৃথক সেক্টরের নম্বর নিয়ে অভিযোগ করেছিল এবং ব্যবহারকারী (আমাকে) ডিস্ক অ্যাক্সেস করার জন্য কয়েক সেকেন্ড বিলম্বের সাথে ছিল।

আমি স্মার্টক্টল আউটপুট পরীক্ষা করে দেখেছি এবং নিম্নলিখিত আউটপুটটি (অপ্রাসঙ্গিক অংশগুলি ক্লিপড) দেখেছি:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   193   193   051    Pre-fail  Always       -       1606
  5 Reallocated_Sector_Ct   0x0033   194   194   140    Pre-fail  Always       -       0
196 Reallocated_Event_Count 0x0032   162   162   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       51

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

আমার অবাক করার অনেক পরে, ত্রুটিগুলি ... বন্ধ হয়ে গেল। আমি এগুলি ঠিক করার জন্য কিছুই করি নি। আমি রিবুট করিনি, ড্রাইভটি অফলাইনে নিইনি, কিছুই ছিল না। কিন্তু ত্রুটিগুলি কেবল থেমে গেছে।

এই মুহুর্তে, খারাপ সেক্টরগুলি এখন ডিস্কের কেবল নিষ্কলনের অংশে ছিল কিনা তা জানতে আগ্রহী, আমি ডিস্কটিকে RAID থেকে বাইরে নিয়ে এসে এটিকে RAID-এ রেখে দিয়েছি এবং পরবর্তী পূর্ণ সংযোগটি সম্পূর্ণ করার অনুমতি দিয়েছি। পুনরায় সংযোগটি কোনও ত্রুটি ছাড়াই শেষ হয়েছে, 9 ঘন্টা পরে (2 টিবি ডিস্কগুলিতে কিছুটা সময় নেয়)।

এছাড়াও, স্মার্টক্টল আউটপুটটি কিছুটা বদলেছে:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   193   193   051    Pre-fail  Always       -       1606
  5 Reallocated_Sector_Ct   0x0033   194   194   140    Pre-fail  Always       -       43
196 Reallocated_Event_Count 0x0032   162   162   000    Old_age   Always       -       38
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0

সুতরাং, এর যে অংশটি আমাকে অদ্ভুত করে তুলেছে তা অবশ্যই, "কখন থেকে খারাপ ডিস্কগুলি সেগুলি ঠিক করে?"

আমি মনে করি এটি সম্ভবত সম্ভব যে ড্রাইভের একটি খুব ছোট অঞ্চলটি স্বতঃস্ফূর্তভাবে খারাপ হয়ে গেছে, এবং ড্রাইভটির সেক্টর পুনঃনির্ধারণের কোডটি লাথি মারার আগে কেবল 3 দিন (!) লেগেছিল এবং এটি ডিস্কের খারাপ অঞ্চলে কিছু অতিরিক্ত খাতকে ম্যাপ করে ... তবে আমি বলতে পারি না যে আমি কখনও ঘটতে দেখেছি।

অন্য কেউ কি এই ধরণের আচরণ দেখেছেন? যদি তা হয় তবে পরে ড্রাইভটি নিয়ে আপনার অভিজ্ঞতা কী ছিল? আবার কি ঘটেছিল? ডিস্কটি কি শেষ পর্যন্ত পুরোপুরি ব্যর্থ হয়েছিল? নাকি এটি কেবল একটি অব্যক্ত ফাঁকটি ছিল যা অব্যক্ত ছিল না?

আমার ক্ষেত্রে, আমার কাছে ইতিমধ্যে প্রতিস্থাপন ড্রাইভ রয়েছে (ওয়ারেন্টির অধীনে প্রাপ্ত), সুতরাং আমি সম্ভবত ড্রাইভটি যেভাবেই প্রতিস্থাপন করব। তবে আমি জানতে চাই যদি আমি এটি কোনওভাবে ভুল করে নির্ণয় করি। এটি যদি সহায়তা করে তবে সমস্যাটি হওয়ার পরে থেকেই আমার কাছে সম্পূর্ণ 'স্মার্টলেট -a' আউটপুট রয়েছে। এটি কিছুটা দীর্ঘ, সুতরাং আমি এটি এখানে পোস্ট করিনি।


ড্রাইভটির মেক ও মডেল কী?
অ্যান্টনিয়াস ব্লাচ

এটি ওয়েস্টার্ন ডিজিটাল ক্যাভিয়ার ব্ল্যাক 2 টিবি ড্রাইভ, মডেল ডাব্লুডি 2001 এফএএস। আমি জানি, ঠিক কোনও সার্ভার-গ্রেড ডিস্ক নয়, তবে এটি কোনও ডেটা সেন্টার উত্পাদন-গ্রেড সার্ভারও নয় exactly
রিক কোশি

উত্তর:


9

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

খারাপ খাতগুলি একবার ম্যাপ হয়ে গেলে এবং যতক্ষণ না ড্রাইভ পৃষ্ঠের বেশি ব্যর্থ হয়, আপনি ভাল অবস্থানে আছেন।

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


4

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

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

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


3

হ্যাঁ, আমি এটিও দেখেছি এবং খুব অনুরূপ পরিস্থিতিতেও। আমার ক্ষেত্রে এটি ছিল "ভোক্তা-গ্রেড" ওয়েস্টার্ন ডিজিটাল 1 টিবি "গ্রিন" ড্রাইভ (ডাব্লুডি 10 ইআরএস) যে স্টান্টটি আমার উপরে টানছিল। স্মার্ট Current_Pending_Sectorকাঁচা মান শূন্য থেকে 6 এ চলে গেছে এবং তারপরে 8 এ গিয়ে স্মার্ট মনিটরিং ডেমন আমাকে কিছু অশুভ ইমেল প্রেরণে প্ররোচিত করে।

আমি অ্যারে থেকে ড্রাইভটি mdadm --failএডি ও --removeডি করেছি এবং badblocksএটির উপর দিয়ে একটি অ-ধ্বংসাত্মক পাস চালিয়েছি এবং হ্যাঁ, দৃশ্যত 2 ডজনেরও বেশি খারাপ ব্লক ছিল। প্রতিস্থাপন ড্রাইভটি প্রায় এক দিন পরে এসে পৌঁছে আমি অ্যারে স্থির করে দিয়েছিলাম এবং জীবনযাত্রাও চলছে।

এর খুব অল্পসময়ই, নিছক একঘেয়েমি থেকে বের হয়ে আমি badblocks"ব্যর্থ" ড্রাইভটি আবার খারাপ হয়ে গেছে কিনা তা দেখার জন্য পুনরায় চেষ্টা করি । বিপরীতে, ড্রাইভটি নিজেই পুরোপুরি "মেরামত" করেছিল: শূন্যের খারাপ ব্লক! মাথা নেড়ে আমি এটিকে মুছলাম এবং এটিকে পুনর্ব্যবহারযোগ্য বা দান করার জন্য আলাদা করে রেখেছি।

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


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

0

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

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