40TB ডেটা কীভাবে নকল করবেন?


17

আমি তিনটি ফাইল সিস্টেমে ~ 40TB ডেটা সহ একটি গবেষণা ক্লাস্টার উত্তরাধিকার সূত্রে পেয়েছি। ডেটা প্রায় 15 বছর পিছনে প্রসারিত হয় এবং গবেষকরা বিভিন্ন কারণে একে অপরের ডেটা অনুলিপি করেন এবং তারপরে কেবল অনুলিপিগুলিতে আটকে থাকায় সম্ভবত খুব ভাল পরিমাণে নকল হয় uplic

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

আমি এখন 900 গিগাবাইটের গাছে fdupes নিয়ে পরীক্ষা নিরীক্ষা করছি। এটি 25% পথ এবং র‍্যামের ব্যবহার ধীরে ধীরে পুরো সময়টি ক্রমবর্ধমান হয়, এখন এটি 700MB এ at

অথবা, ডিস্ক-ম্যাপযুক্ত র‌্যাম ব্যবহার করার জন্য কোনও প্রক্রিয়া পরিচালনার কোনও উপায় রয়েছে যাতে আরও অনেক বেশি পাওয়া যায় এবং এটি সিস্টেম র‌্যাম ব্যবহার করে না?

আমি সেন্টোস 6 চালাচ্ছি।


প্রাসঙ্গিক ক্ষেত্রে ফাইল সিস্টেমগুলি এক্সএফএস হয়। এটি, আমি জানি এটি এক্সএফএসের মতো ডি-ডুপিং ক্ষমতা সহ কোনও এফএস নয়।
মাইকেল স্টাফার

আপনি কেন প্রথম স্থানে র‌্যাম নিয়ে চিন্তিত? ওএসের নিজস্ব মেমরি ম্যানেজমেন্ট অ্যালগরিদম রয়েছে এবং র‌্যামের ব্যবহার "ক্রাইপিং আপ" হওয়ার অর্থ এই নয় যে এটি শেষ পর্যন্ত আপনার সমস্ত র‌্যাম খেয়ে ফেলবে। আমি নিশ্চিত যে এটি হবে না।
আর্ট গার্টনার

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

1
হ্যাঁ, ডেডিকেটেড টুল হ্যাশ গণনা করে তবে প্রথমে ফাইলের আকারের মতো কাজ করা এবং গণনা করা দরকার এমন পূর্ণ হ্যাশগুলির পরিমাণ সীমাবদ্ধ করতে কেবল ফাইলগুলির শুরুতে হ্যাশ করে।
মাইকেল স্টাফার

র‌্যামের জন্য, আমি ফাইলসভারটি কমিয়ে দেওয়ার বিষয়ে উদ্বিগ্ন ছিলাম - উত্তরের নীচে আমার মন্তব্যটি দেখুন।
মাইকেল স্টাফার

উত্তর:


4

অথবা, ডিস্ক-ম্যাপযুক্ত র‌্যাম ব্যবহার করার জন্য কোনও প্রক্রিয়া পরিচালনার কোনও উপায় রয়েছে যাতে আরও অনেক বেশি পাওয়া যায় এবং এটি সিস্টেম র‌্যাম ব্যবহার করে না?

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

আমি fdupes সম্পর্কে চিন্তা করবেন না। এটি চেষ্টা করুন, সমস্যা ছাড়াই এটি কাজ করা উচিত।


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

1

হ্যাশকের উপর ভিত্তি করে সদৃশগুলি সন্ধান করা ভাল কাজ করে এবং খুব দ্রুত fast

find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

0

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

আপনি সম্ভবত পাইথনের কুড়ি বা ত্রিশ-লাইনের চেয়ে কম ক্ষেত্রে এটি করতে পারেন (os.walk () ব্যবহার করে)।

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