কিভাবে একটি ফাইল সিস্টেম দূষিত


8

অতীতে মেমরির ব্যবহার বেশি হওয়ায় আমি কিছু বড় ফাইল সিস্টেমে (প্রায় 50 টিবি) 'xfs_repair' পরীক্ষা করতে যাচ্ছি। যদিও আমি কেবল ফাইল সিস্টেমে প্রোগ্রামটি পরীক্ষা করতে পারলাম যা সঠিক ছিল এটি একটি দুর্নীতিগ্রস্থ সিস্টেমে তাদের পরীক্ষা করা ভাল।

সুতরাং কোন ফাইল সিস্টেমকে দূষিত করার সেরা উপায়। অতিরিক্ত বার্ষিকী যদি পদ্ধতিটি বারবার একই দুর্নীতি দেয় ...

২০০ 2006 সালে আমি কী বোঝাতে চাইছি তা লোককে জানাতে

"মাল্টি-টেরাবাইট ফাইল সিস্টেমে সফলভাবে চেক বা মেরামত চালানোর জন্য আপনার প্রয়োজন:

  • একটি 64 বিট মেশিন
  • একটি 64 বিবিটি এক্সএফএস _ মেরামত / এক্সএফএস _ বাইনারি পরীক্ষা করুন
  • ফাইল সিস্টেমে প্রতি টেরাবাইটে 2 জিবি র‌্যাম
  • ফাইল সিস্টেমে প্রতি মিলিয়ন ইনোডে 100-200MB র্যাম।

xfs_repair সাধারণত এর চেয়ে কম স্মৃতি ব্যবহার করবে তবে এই সংখ্যাগুলি আপনাকে একটি বড়প্লে চিত্র দেয় যা 80% পূর্ণ পূর্ণ ফাইল সিস্টেমটি কীভাবে মেরামত করতে পারে।

এফডব্লিউআইডাব্লু, শেষবারের মতো অভ্যন্তরীণভাবে এই 29 টিবি ফাইল সিস্টেমটি পুনরায় মেরামত করতে RAM 75 গিগাবাইট র্যাম + অদলবদ নিয়েছে ""


আকর্ষণীয় প্রশ্ন, তবে উদ্ধৃতিটির গঠনটি কী আরও উন্নত করা যেতে পারে?
কোপ

যদি তাই হয় আমি কিভাবে জানি না?
জেমস


এটি একটি আকর্ষণীয় পরীক্ষা। আমি কি ফলাফল কোথাও পোস্ট করার পরিকল্পনা করছি?
3dinfluence

ঠিক আছে আমি সম্ভবত xfs মেলিং তালিকায় পোস্ট করব এবং ফলাফলের সাথে আমি এই প্রশ্নটি সর্বদা সম্পাদনা করতে পারতাম।
জেমস

উত্তর:


12

xfs_db এর একটি বিকল্প ব্লকট্র্যাশ রয়েছে যা

ট্র্যাশ এলোমেলোভাবে নির্বাচিত ফাইল সিস্টেম মেটাডেটা ব্লক। ট্র্যাশিংয়ের ফলে নির্বাচিত ব্লকগুলিতে এলোমেলোভাবে নির্বাচিত বিটগুলি ঘটে। এই কমান্ডটি কেবলমাত্র xfs_db এর ডিবাগিং সংস্করণগুলিতে উপলভ্য। এটি পরীক্ষার জন্য xfs_repair(8)এবং xfs_check(8)

উদাহরণ স্বরূপ

xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/xfstest/testfs


2

ডিডি সেই ডিভাইসে ব্লক করে যেখানে ফাইল সিস্টেম থাকে। আপনি এটি স্ক্রিপ্ট করতে পারেন যাতে এটি পুনরাবৃত্তিযোগ্য। এলোমেলো স্থানে কয়েকটি র্যান্ডম ব্লক, তারপরে এগিয়ে যান।


50TB ফাইল সিস্টেমে যা বেশিরভাগ ফাঁকা থাকে অবশ্যই সিস্টেমটি দূষিত করার জন্য আপনাকে শান্ত ভাগ্যবান হতে হবে?
জেমস

ঠিক আছে, আপনাকে কেবল পর্যাপ্ত র্যান্ডম ব্লকগুলি ব্যবহার করতে হবে :-)। যে কোনও উপায়ে জন্মদিনের প্যারাডক্স: এন.ইউইউইকিপিডিয়া.আর / উইকি / বার্থডে_পারাডক্সের কারণে সম্ভবত আপনার "সংঘর্ষ" সম্ভবত বেশি ভাবেন ।
sleske

0

আপনি ব্লক ডিভাইসের প্রথম 512 বাইট (এমবিআর এবং পার্টিশন টেবিল) ওভাররাইট করার চেষ্টা করতে পারেন।

প্রথমে এটি ব্যাক আপ করুন:

dd if=/dev/device bs=512 count=1 of=backup.bin

এবং পরে এটি শূন্য:

dd if=/dev/zero bs=512 count=1 of=/dev/device

এর পরে আপনার মেশিনটি বুট করা উচিত নয়, আপনি লাইভ সিডি ব্যবহার করে এক্সএফএস মেরামতের পরীক্ষা করতে পারবেন।


আমি তুলনামূলকভাবে একটি ছোট দুর্নীতি রাখতে চাই কারণ রান সময় এবং মেমরির ব্যবহার ফাইল সংখ্যা এবং ফাইল সিস্টেমের আকারের উপর নির্ভর করে
জেমস

এটি দুর্নীতির মাত্র 512 বাইট। এটি কেবল পরীক্ষা করে যে ফাইল সিস্টেমটি কেমন হওয়া উচিত সে সম্পর্কে কোনও তথ্য ছাড়াই পুনরুদ্ধার করতে সক্ষম কিনা - যদি xfs কোথাও কিছু অতিরিক্ত সুপারব্লক রেখে না দেয়।
তোয়ো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.