খারাপ সেক্টরগুলির সাথে এইচডিডি উদ্ধার: ডিডি বনাম জিডিড্রেসিকিউ


11

কোথাও উপর Internets আমি পড়তে যে gddrescue শ্রেয় dd অন্তত ডিস্কের পরিমাণ একটি অস্থির খাতের উপর সঞ্চালিত পড়া মধ্যে পার্থক্য করতে সক্ষম হচ্ছে পরিপ্রেক্ষিতে। আসলেই কি এই ঘটনা?

সময় dd if = / dev / sda এড়িয়ে যান = 900343967 এর = a.bin গণনা = 4 iflag = প্রত্যক্ষ রূপান্তর = নোয়ার, সিঙ্ক

ডিডি: পঠন `/ দেব / এসডিএ: ইনপুট / আউটপুট ত্রুটি
2 + 0 রেকর্ড
2 + 0
রেকর্ডারে 1024 বাইট (1.0 কেবি) অনুলিপি করা হয়েছে, 18.6057 গুলি, 0.1 কেবি / এস
3 + 1 রেকর্ড
4 + 0 রেকর্ডে
2048 আউট বাইটস (2.0 কেবি) অনুলিপি করা হয়েছে, 18.6707 গুলি, 0.1 কেবি / সে

আসল 0m18.672s
ব্যবহারকারীর 0m0.000s 0
ম 0.004 এস

বিটিডব্লিউ, সরাসরি পতাকাটি সত্যই সহায়তা করে, ডাব্লু / ও এটি আমি কেবলমাত্র 4 টির মধ্যে 1 টি সেক্টর পড়তে সক্ষম হয়েছি (এর সাথে 3/4 বনাম)। যাইহোক, এটি লক্ষণীয়ভাবে স্থানান্তর গতি কমিয়ে দেয় - এটি আমার জন্য কমপক্ষে 5 গুণ কম ধীরে: 5 এমবি / এস বনাম 25 এমবি / গুলি এই পতাকা ছাড়াইযাইহোক , এখন gddrescue ( ddrescue ) অংশের জন্য ..

সময় ddrescue -b512 -c1 -s4b -dnvD -i900343967b -o0b / dev / sda বি.বিন

বিভিন থেকে / ডিভ / এসডিএ থেকে 2048 বাইট অনুলিপি করার জন্য
শুরুর অবস্থানগুলি: ইনফিল = 460976 এমবি, আউটফাইল = 0 বি
কপির ব্লকের আকার: 1 হার্ড ব্লক
হার্ড ব্লকের আকার: 512 বাইট
ম্যাক্স_রেট্রি: 0
সরাসরি: হ্যাঁ স্পার্স: কোনও বিভক্ত নয়: না কাটা: না


উদ্ধার করতে বাধা দিতে Ctrl-C টিপুন : 1536 বি, এরারসাইজ: 512 বি, বর্তমান হার: 53 বি / এস
আইপোস: 460976 মেগাবাইট, ত্রুটি: 1, গড় হার: 53 বি / এস
অপোস: 1536 বি, শেষ সফল পড়া থেকে সময়: 0 টি
সমাপ্ত

আসল 0m18.736s
ব্যবহারকারীর 0m0.004s
ss 0m0.000s

উপরে প্রদর্শিত হিসাবে, কার্যকর করার জন্য এটি ঠিক একই পরিমাণ সময় নিয়েছে। যেমনটি প্রত্যাশিত - একই পরিসংখ্যান: 3/4। যাইহোক, আমি প্যাড সঙ্গে অস্থির খাতে পারে যখন 0x00 জন্য DD (পরিবর্তন = সিঙ্ক), gddrescue বলে মনে হয় এই কার্যকারিতা অনুপস্থিত হবে? পরিবর্তে, এটি কেবল সমস্যাগ্রস্থ ক্ষেত্রকে ডাব্লু / ও এর অবস্থানটিতে কিছু লেখার বিষয়টি এড়িয়ে যায় এবং পরবর্তী নিম্নলিখিত খাতটি দিয়ে চালিয়ে যায় (যদি আমার কাছে ইতিমধ্যে আউটপুট ফাইলে সেই সেক্টরের উপরে ডেটা লেখা থাকে - এটি ওভাররাইট করা হবে না: কখনও কখনও এটি পছন্দসই হতে পারে না) )। আমি নিশ্চিত নই কিভাবে হবে -t (আরোপ করা) বিকল্প একটি ব্লক-ডিভাইস জন্য কাজ করে gddrescue(আমার ধারণা, এটি 0x00 দিয়ে এটি সম্পূর্ণরূপে ওভাররাইট হবে) তবে একটি নিয়মিত ফাইলের মধ্যে এটি পূর্বাভাস অনুযায়ী সম্পূর্ণ ফাইল ডাব্লু / ও কে কেবল অফসেট মাত্রা (যেমন -o1) এর মধ্যে দিয়ে কাটাবে। সুতরাং, এটি ডিডি সিঙ্কের সাথে কিছুটা সাদৃশ্যযুক্ত তবে এটি কেবল অভিন্ন কার্যকারিতা নকল করবে যদি আপনি পুরো আউটপুট ডিভাইস / ফাইলটিকে ওভাররাইট করতে প্রস্তুত থাকেন।

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

এর আউটপুট

পৃথক? .বিন

খালি (প্রস্থান 0), অর্থ ফাইলগুলি একই রকম।

এখন এই অংশটি আমি বুঝতে পারি না :

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

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

gddrescue অফার -r সুইচ, যার পরিমাণ একটি "খারাপ সেক্টর" এ পুনরায় সার্চ নিয়ন্ত্রণ করা উচিত, কিন্তু, DD বলে মনে হয় দিয়ে চলছে করা -r0 সব বরাবর (যেমন এটি একই সময় নেয়)। সুতরাং, এই বিকল্পটি কি কেবল "পোস্ট-প্রসেসিং" এর জন্য? আমি কি এ পাচ্ছি মূলত উভয় DD এবং gddrescue দিয়ে চলছে হবে বলে মনে হচ্ছে -r0 এবং DD করা বলে মনে হচ্ছে না চর্বণ কোনো অধিক ভ্রান্ত অংশের মাধ্যমে gddrescue (তারা উভয় বলে মনে হচ্ছে স্থগিত 15-18 জন্য একটি খারাপ ব্লকে সেকেন্ডে দিতে বা নিতে, তাই চুক্তি কী, কিভাবে gddrescue দ্রুত ???)

এছাড়াও, -D বিকল্পটি (আউটপুট ফাইলের জন্য সিঙ্ক্রোনাস রাইটস ব্যবহার করুন) এর জন্য কী? পরিচালিত পরীক্ষার কয়েকটি থেকে আমি কোনও পার্থক্য লক্ষ্য করিনি।

পুরো বিষয়টি নিয়ে কি কেউ মন্তব্য করতে পারবেন? ধন্যবাদ।

উত্তর:


6

আমি নিশ্চিত নই যে উদ্ধৃত লেখক কীভাবে তাঁর সিদ্ধান্তে এসেছেন। তিনি সঠিক কিনা আমি বিতর্ক করছি না, আমার কেবল অভিজ্ঞতা নেই।

অন্যদিকে, এই বিবৃতি প্রসঙ্গে ...

gddrescue কমপক্ষে dd এর চেয়ে উচ্চতর ডিফল্ট হিসাবে কোন সমস্যাযুক্ত অঞ্চলে সঞ্চালিত ডিস্কের পরিমাণের মধ্যে পার্থক্য করতে সক্ষম হয়।

Gddrescue ব্যবহারের আসল "কমপক্ষে" কারণ, কারণ gddrescue বারবার পড়ার / লেখার চেষ্টা করে আউটপুট কেটে দেয় না। gddrescue সম্পূর্ণরূপে স্বয়ংক্রিয়, কিছু পড়ার ত্রুটির ক্ষেত্রে ডিডি বন্ধ হবে।

সুতরাং উদ্ধৃত লেখক সঠিক হতে পারে, তিনি নাও পারেন ... তবে পুরো বিবৃতিটি gddrescue এর বিন্দুটি মিস করে।

আপডেট: ডিডি এবং জিডিড্রেসকিউর মধ্যে বিশদ পার্থক্য।

ডিডি কনউ = নোয়ার, একটি ত্রুটির পরে চলতে থাকবে তবে এটি খারাপ ব্লকটি এড়িয়ে যাবে। এমনকি সিঙ্ক বিকল্পটি যুক্ত করা এড়িয়ে যাওয়ার পরিবর্তে শূন্য স্থাপন করবে। আপনি যদি একই আউটপুটটি ব্যবহার করে অন্য পড়ার জন্য ডিডি ব্যবহার করেন তবে আপনি পুনরুদ্ধার করে যা কিছু পুনরুদ্ধার করবেন / হারাবেন।

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

দু'টি সরঞ্জামের সাথেও মনে রাখবেন, যদি পুরো ব্লকটি 100% অপঠনযোগ্য হয়। আপনি এখনও এটি থেকে কোনও তথ্য পাবেন না। ব্লকের কিছু সেক্টর যদি পাঠ্যযোগ্য থেকে যায় তবে জিডিড্রেসকিউ আরও সম্ভাব্য ডেটা পেতে পারে।


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

আমি আমার উত্তর আপডেট করেছি, আপনার প্রশ্ন প্রতিফলিত করতে।
জেএম বেকার

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

1
@TechZilla - gddrescue মাত্র পাশাপাশি খারাপ ব্লক অগ্রাহ্য, ঠিক DD আছে। যেমন আমি উপরে লিখেছি, জিরোস ( প্যাড = সিঙ্ক) সহ প্যাডিং হ'ল gddrescue অনুপস্থিত এবং যা কখনও কখনও দরকারী (অতিরিক্ত প্রচেষ্টা সহ আপনি / dev / শূন্যের সাহায্যে ম্যানুয়ালি এটি করতে পারেন, কারণ আপনার লগইন করতেন) gddrescue আউটপুট প্রতি উত্পাদিত হিসাবে খারাপ ক্ষেত্র )। নেই কোন পার্থক্য gddrescue এবং DD পুনরুদ্ধারের নিরিখে gddrescue যে বিষয়ে কিছু বিভিন্ন করি না। কেন? কারণ, একই ব্লক আকারের সাথে তারা একই পরিমাণের ডেটা পুনরুদ্ধার করবে।
XXL

@ টেকজিলা - একমাত্র প্রকৃত পার্থক্য হ'ল যখন প্রক্রিয়া করার জন্য খাতের পরিমাণগুলি ব্লকের আকারের চেয়ে বেশি বেছে নেওয়া হয় । এই আপনি লক্ষণীয়ভাবে গতি জিনিষ একটি ক্ষমতা পর্যন্ত comparision দিবে DD , যেমন DD শুধুমাত্র একটি স্ট্যাটিক অ পরিবর্তনশীল খাতের আকার সঙ্গে কাজ করতে পারেন। অন্যদিকে , gddrescue প্রথমে আপনি যতগুলি সেক্টরকে নির্দেশ দিয়েছেন সেগুলি প্রথমে পড়বে, তবে ভিতরে থাকা কোনও একক ব্লক সন্দেহজনক হলে এবং এটি হয়ে গেলে সেগুলি ভাগগুলি খারাপ হিসাবে ঘোষণা করবে - বিভ্রান্তিকর অঞ্চলগুলি পরিদর্শন করে পোস্ট-মোডে স্যুইচ করুন এটি সর্বনিম্ন ব্লকের আকারে না পৌঁছানো পর্যন্ত ধীরে ধীরে খাতটির আকার হ্রাস
XXL

2

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

জিআরসি.কম এ স্পিনরাইট called নামে কিছু সফ্টওয়্যার রয়েছে যা দাবি করে যে খারাপ সেক্টর সহ এইচডিএস ঠিক করতে সক্ষম হবে। এটি প্রদত্ত সফ্টওয়্যার, এবং আমি এটি কখনও চেষ্টা করি নি। এটি পড়ার মতো, বিশেষত যদি কেউ এইচডিডি "পুনরুত্থান" করার চেষ্টা করে এবং এটি বাস্তবে বর্ণিত হিসাবে কাজ করে। স্প্রিনাইট regarding সম্পর্কিত grc.com এ জিজ্ঞাসা করা প্রশ্নগুলি ইঙ্গিত দেয় যে 30 দিনের টাকা ফেরতের গ্যারান্টি রয়েছে (এবং কোনও ট্রায়াল বা বিনামূল্যে সংস্করণ নেই)। দ্রষ্টব্য: আমি grc.com এর সাথে সম্পর্কিত নই, না আপনার পরিস্থিতির জন্য এটি প্রস্তাব দিচ্ছি। আমি কেবল জানি এটি বিদ্যমান এবং এটি বিজ্ঞাপন হিসাবে কাজ করতে পারে, কেবল এটির জন্য আমার শব্দটি গ্রহণ করবেন না - ক্যাভেট এমপোটার।

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

ওয়েব পৃষ্ঠাটি, ডিডি (ইউনিক্স) পড়তে আপনার পক্ষে দরকারী হতে পারে: https://secure.wikimedia.org/wikedia/en/wiki/Gddrescue#Reccoriooriented_variants_of_dd

আপনার এটি দেখতেও দরকারী হতে পারে: ইউবিসিডি, ডিডি-রেসকিউ এবং পি 2 এক্সপ্লোরার ব্যবহার করে ক্র্যাশ করা হার্ড ড্রাইভের চিত্র কীভাবে তৈরি করবেন: http://www.myfixlog.com/fix.php?fid= 21

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