বর্তমান অবস্থা ব্যবহার করে জিএনইউ ডিড্রেসকিউ (1.18.1) সমাপ্তির জন্য লুপ / ​​সময় কীভাবে অনুমান করা যায়?


9

পটভূমি / প্রসঙ্গ:

আমি ডিসি 2 এস 1 পার্টিশনে ভার্চুয়াল ডিস্ক চিত্র লেখার সময় কোনও তারের সংযোগ বিচ্ছিন্ন হয়ে পড়ে এমন একটি ইউএসবি থেকে ডেটা পুনরুদ্ধার করার জন্য আমি বর্তমানে জিএনইউ ddrescue 1.18.1 চালাচ্ছি। প্রাথমিকভাবে আমি আমার দ্বিতীয় পার্টিশন (ডিস্ক 2 এস 2) পুনরুদ্ধার করছি এবং লক্ষ্য করব যে আমি তৃতীয় পর্যায়ে পৌঁছেছি (বিভক্তকরণ)। আমি ছবিটি একটি নেটওয়ার্ক স্টোরেজে রাখছি।

প্রশ্ন:

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

স্থিতি:

অবস্থা

আপডেট / সম্পাদনা:

সুতরাং ddrescue সরঞ্জাম ব্যবহার করে কেউ কীভাবে লুপ / ​​সময় অনুমান করতে পারে তার বিষয়ে আমি এখনও খুব আগ্রহী। মন্তব্যগুলি অনুযায়ী, আমি বর্তমানে আমার ডিস্ক 2 এস 1 পার্টিশনের জন্য লগ ফাইলের মূল্যায়ন যুক্ত করছি যেহেতু বর্তমানে চলছে (ডিস্ক 2 এস 2 প্রায় 14 ঘন্টা পরে সম্পন্ন হয়েছে, একজন ব্যবহারকারী বাধা সঙ্গে প্রায় 6 ঘন্টা)।

part1-লগ

সম্পূর্ণ পার্টিশন লগ

পার্টিশনের জন্য যা সবেমাত্র সম্পন্ন হয়েছে, এখানে লগ পরিদর্শন ফলাফল।

ফটো-লগ

রেফারেন্স (ddrescue অ্যালগরিদম নোট):

4 অ্যালগরিদম


জিএনইউ ডিড্রেসকিউ ডিডি-র উদ্দীপনা নয় বা কোনওভাবেই ডিডি সম্পর্কিত নয় যা উভয়ই এক ডিভাইস থেকে অন্য ডিভাইসে ডেটা অনুলিপি করার জন্য ব্যবহার করা যেতে পারে। মূল পার্থক্যটি হ'ল ড্রেসস্কু ব্যর্থ ড্রাইভগুলি থেকে ডেটা অনুলিপি করতে একটি পরিশীলিত অ্যালগরিদম ব্যবহার করে যার ফলে যতটা সম্ভব অতিরিক্ত অতিরিক্ত ক্ষতি হয়।

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

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

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

Ddrescue এর অ্যালগরিদম নিম্নরূপ: (ব্যবহারকারী যে কোনও সময়ে প্রক্রিয়াটি বাধাগ্রস্থ করতে পারে, তবে সচেতন থাকুন যে কোনও খারাপ ড্রাইভ কার্নেলটি সরিয়ে না দেওয়া পর্যন্ত দীর্ঘ সময়ের জন্য ddrescue কে অবরুদ্ধ করতে পারে):

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

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

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

৪) (তৃতীয় পর্ব; বিভক্তকরণ) একটি খারাপ খাত না পাওয়া পর্যন্ত বৃহত্তম বিবিধ ব্লকের কেন্দ্র থেকে এক সময় এক সেক্টর ফরোয়ার্ড পড়ুন Read তারপরে, যদি খারাপ খাতটি পাওয়া যায় না তবে প্রথমে চেষ্টা করা হয়, একই ব্লকের কেন্দ্র থেকে একবারে একটি সেক্টরটি পিছনে পড়ুন, যতক্ষণ না কোনও খারাপ খাত পাওয়া যায়। লগফিল যদি '--logfile-আকার' এর চেয়ে বড় হয়, লগফাইলে প্রবেশের সংখ্যা '--logfile- আকার' এর নীচে না নেমে ক্রমান্বয়ে বৃহত্তম অবিভক্ত ব্লকগুলি পড়ুন। সমস্ত অবশিষ্ট বিভক্ত ব্লকগুলি 7 টিরও কম সেক্টর না হওয়া পর্যন্ত পুনরাবৃত্তি করুন। তারপরে যথাক্রমে অবশিষ্ট অবিভক্ত ব্লকগুলি পড়ুন।

5) (চতুর্থ পর্যায়ে; পুনরায় চেষ্টা করা) নির্দিষ্ট সংখ্যক পুনরায় চেষ্টা পাস না করা পর্যন্ত sectorsচ্ছিকভাবে খারাপ সেক্টরগুলি আবার পড়ার চেষ্টা করুন। প্রতিটি খারাপ সেক্টর প্রতিটি পাসে একবার চেষ্টা করা হয়। Ddrescue জানতে পারে না যে কোনও খারাপ খাতটি পুনরুদ্ধারযোগ্য কিনা বা শেষ পর্যন্ত কিছু চেষ্টা করার পরে এটি পড়তে হবে।

)) পরে ব্যবহারের জন্য একটি লগফিল লিখুন।

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

লগফিলটি পর্যায়ক্রমে ডিস্কে সংরক্ষণ করা হয়, পাশাপাশি যখন ড্রেসস্কু শেষ হয় বা বাধা হয়। সুতরাং কোনও ক্র্যাশের ক্ষেত্রে আপনি সামান্য পুনরায় কেনার মাধ্যমে পুনরায় উদ্ধার শুরু করতে পারেন। লগফিল আকারের উপর নির্ভর করে সংরক্ষণের মধ্যে ব্যবধানটি 30 সেকেন্ড থেকে 5 মিনিটের মধ্যে পরিবর্তিত হয় (বৃহত্তর লগফাইলগুলি দীর্ঘ বিরতিতে সংরক্ষণ করা হয়)।

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

প্রথমে ডিস্কের সবচেয়ে গুরুত্বপূর্ণ অংশটি উদ্ধার করুন। ddrescue -i0 -s50MiB / dev / hdc hdimage logfile ddrescue -i0 -s1MiB -d -r3 / dev / hdc hdimage লগফিল

তারপরে কয়েকটি কী ডিস্ক অঞ্চল উদ্ধার করুন। ddrescue -i30GiB -s10GiB / dev / hdc hdimage লগফিল ddrescue -i230GiB -s5GiB / dev / hdc hdimage লগফিল

এখন বাকীটিকে উদ্ধার করুন (ইতিমধ্যে যা করা হয়েছে তা পুনরায় কিনবেন না)। ddrescue / dev / hdc hdimage লগফিল ddrescue -d -r3 / dev / hdc hdimage লগফিল


ডিস্কটি এখনও কি একই ডিভাইসের নামের অধীনে সংযুক্ত রয়েছে? এছাড়াও আপনার ddrescueকেবলমাত্র ডিস্কের খারাপ ব্লক থাকা দরকার , যা "তারের সংযোগ বিচ্ছিন্ন" কারণে ঘটে না। আপনার কেবলের সমস্যা থাকলে, কেবল একটি ভিন্ন তারের চেষ্টা করুন ...
frostschutz

@TommieC। আপনি ddrescuelog -t YourLog.txtঅন্য টার্মিনাল চেষ্টা করতে পারেন ?
কেবল_আমি

@ সিম্প্লি_মে দয়া করে দুটি ফলাফল প্রতিফলিত আপডেট হওয়া প্রশ্নটি দেখুন।
টমমি সি

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

কেবল সংযোগ বিচ্ছিন্ন হওয়ার কারণে সাধারণত যৌক্তিক ত্রুটি হয় (যেমন: ডিস্কের ডেটা 100% বৈধ নয়) তবে ড্রাইভের সাথে শারীরিক সমস্যা সৃষ্টি করবে না - যদি আপনি একই সময়ে এটি বাদ না দেন। ddrescueকেবল শারীরিক সমস্যাগুলি পুনরুদ্ধার করার চেষ্টা করতে পারে এবং লজিকাল ত্রুটিগুলি একেবারেই সহায়তা করবে না। পরবর্তীকালের জন্য, চেষ্টা করুন fsckবা একসাথে ..
উদো জি

উত্তর:


6

যদিও 10 মাস আগে প্রশ্ন জিজ্ঞাসা করা হয়েছিল, উত্তর সম্ভবত প্রাসঙ্গিক কারণ পুনরুদ্ধার চক্রটি এখনও কয়েকটি কারণের উপর নির্ভর করে চলতে পারে! কোন পাং উদ্দেশ্য।

কারণটি হ'ল, সময় অনুমান করা প্রায় অসম্ভব, তবে কখনও কখনও নীচের হিসাবে আপনি মোটামুটি ধারণা পেতে পারেন। সর্বাধিক সুস্পষ্ট কারণগুলির মধ্যে একটি হ'ল আপনি ভবিষ্যদ্বাণী করতে পারবেন না যে কোনও খারাপ খাতটি পড়তে ড্রাইভটি কতটা সময় নেবে এবং আপনি যদি ডিড্রেসকিউ পড়তে এবং প্রত্যেকে পুনরায় চেষ্টা করতে চান তবে এটি খুব দীর্ঘ সময় নিতে পারে। উদাহরণস্বরূপ, আমি বর্তমানে একটি ছোট 500 জিবি ড্রাইভে পুনরুদ্ধার চালাচ্ছি যা 2 সপ্তাহেরও বেশি সময় ধরে চলছে এবং আমার সম্ভবত কয়েক দিন বাকি রয়েছে left তবে খনিটি আরও জটিল পরিস্থিতি কারণ ড্রাইভটি এনক্রিপ্ট করা হয়েছে এবং সফলভাবে যে কোনও কিছু পড়ার জন্য, আমি নিশ্চিত হয়েছি যে সমস্ত সেক্টরে পার্টিশন টেবিল, বুট সেক্টর এবং ডিস্কের অন্যান্য গুরুত্বপূর্ণ অংশ রয়েছে। সমস্ত খারাপ সেক্টরের জন্য আমার সম্ভাবনার উন্নতি করতে আমি ddrescue ছাড়াও কৌশলগুলি ব্যবহার করছি। IOW,

"লুপস" এর অনুমান অনুসারে, আপনি যদি পুনরায় চেষ্টা করার অর্থ বোঝাতে থাকেন তবে এটি আপনার ব্যবহৃত পরামিতিগুলির দ্বারা নির্ধারিত। যদি আপনি "মোট পাসের সংখ্যা" বলতে চান, তবে এটি সহজেই এখানে অ্যালগরিদম সম্পর্কে পড়ার মাধ্যমে নির্ধারিত হয় .. > ম্যান ডিড্রেসকিউ </ অ্যালগোরিদম: কীভাবে ডিড্রেসকিউ ডেটা পুনরুদ্ধার করে

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

আপনি যে নমুনা সরবরাহ করেছেন তাতে ddrescue এর চলমান স্থিতি স্ক্রিনটি একবার দেখুন। আমরা "errsize" দ্বারা সমস্যার (উদ্ধার ডোমেন) মোট "অনুমান" পাই। এটি "এখনও পড়তে হবে" এমন ডেটার পরিমাণ। নমুনায় এটি 345 গিগাবাইট। নীচের ডানদিকে পরের লাইনটি "গড় হার"। নমুনায় এটি 583kb / s হয়

যদি "গড় হার" স্থির কাছাকাছি থাকতে হয়, এর অর্থ হল আপনার আরও 7 দিন যেতে হবে। 345 জিবি / (583 কেবি * 60 * 60 * 24) = 7.18 তবে সমস্যাটি হ'ল আপনি 583 কেবি / গুলি নির্ভর করতে পারবেন না। প্রকৃতপক্ষে আপনি পুনরুদ্ধারে আরও গভীরতর হন, ড্রাইভটি আরও বেশি শক্ত অঞ্চলে পড়ার কারণে ধীর হয়ে যায় এবং আরও চেষ্টা করে। তাই দ্রুততার সাথে শেষ করার সময় বাড়ে increases এই সমস্ত কীভাবে ড্রাইভ ক্ষতিগ্রস্থ হয় তার উপর নির্ভর করে।

আপনি যে নমুনা সরবরাহ করেছেন তা "সফল পড়া" দেখায় 10 ঘন্টা আগে। এটি বলছে যে এটি 10+ ঘন্টার জন্য ড্রাইভ থেকে আসলে কিছুই পাচ্ছে না। এটি দেখায় যে আপনার ড্রাইভে ডেটা শটটির 345GB মূল্য (বা কোনও অংশ) থাকতে পারে। এটি আপনার জন্য খুব খারাপ খবর।

বিপরীতে, আমার দ্বিতীয় 500 গিগাবাইট ড্রাইভ যা আমাকে "স্মার্ট" ত্রুটিগুলি সবে শুরু করেছিল, তার ডিস্কে ডিস্ক অনুলিপি করা হয়েছিল (অন্য ড্রাইভে লগ ফাইল সহ) এবং পুরো অপারেশনটি প্রায় 8-9 ঘন্টা সময় নেয়। এর শেষ অংশটি ধীর হয়ে গেল। তবে তা এখনও বহনযোগ্য। যদিও খুব খারাপ ড্রাইভ, উপরে উল্লিখিত হিসাবে ভাল 2GB গত 500 সপ্তাহে কাজ করছে এবং এখনও পুনরুদ্ধার করতে প্রায় 4-5% বাকি রয়েছে।

এইচটিএইচ এবং ওয়াইএমএমভি

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