Eryptfs এ লেখার দুর্বলতা


15

আমি ইক্য্রিপ্টফ এবং ডিএম-ক্রিপ্টের সাথে কিছুটা বেঞ্চমার্কিং করেছি এবং কিছু আকর্ষণীয় ফলাফল পেয়েছি। নিম্নলিখিতগুলিকে ddএকটি বিটিআরএফএস ফাইল সিস্টেম দিয়ে সম্পন্ন করা হয়েছিল, একটি র‌্যামডিস্কে / থেকে একটি M 700MB ফাইল অনুলিপি করে conv=fdatasyncডেটা সিঙ্ক করার জন্য জোর করার বিকল্পটি। প্রতিটি পরীক্ষার আগে ডিস্ক ক্যাশেগুলি সাফ করা হয়েছিল।

No encryption:
 read - 165MB/s
 write - 120MB/s
ecryptfs:
 read - 125MB/s
 write - 15MB/s
dm-crypt:
 read - 150MB/s
 write - 115MB/s
dm-crypt + ecryptfs:
 read - 120MB/s
 write - 15MB/s

এখন আমি বুঝতে পেরেছি যে এনক্রিপশন কাঁচা ফাইল সিস্টেমের চেয়ে ধীরে ধীরে, তবে আমি ইক্য্রিপ্টফেসের সাথে বিশাল লেখার পারফরম্যান্সের ড্রপ আশা করিনি। আমি ডেটা সিঙ্ক করার জন্য চাপ দিচ্ছি তা কি এই পরীক্ষাটিকে অবাস্তব করে তোলে? বা লেখার দ্রুত কাজ করার জন্য আমি কী বিকল্প ব্যবহার করতে পারি?

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


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

উত্তর:


2

ম্যান অব পৃষ্ঠা ddসম্পর্কে fdatasyncলেখা আছে: physically write output file data before finishing, তাই এটি শুধুমাত্র তথ্য শারীরিকভাবে "একবার" (এটা পড়তে হিসাবে "একটি ফ্লাশ যে এক্স ব্লক বা বাইট, কিন্তু শেষে একটি একক ফ্লাশ অত্যাচার না") লিখেছেন। আপনি যদি ddনিজের পরীক্ষাগুলি করতে ব্যবহার করে থাকেন তবে সর্বাধিক নির্ভুল ফলাফল পাওয়ার সেরা উপায় এটি। বিপরীতে, এই নির্দিষ্ট পতাকাটি ব্যবহার না করে, আপনার ফলাফলগুলি অবাস্তব আকার ধারণ করবে: এটিকে বাদ দেওয়া সম্ভবত এনক্রিপশনের জন্য সময় হারাতে পারে যেহেতু ddকেবলমাত্র চারপাশের ডেটা অনুলিপি করা।

তবুও, আমি আরও ভেবেছিলাম যে আপনার ফলাফলগুলি নিয়ে কিছু চলছে, তবে আমি এই নিবন্ধটি পেয়েছি যা প্রায় একইরকম দেখায়: ইক্রিপ্টসগুলি বেদনাদায়কভাবে ধীরে ধীরে ধীরে ধীরে। এবং আপনার পরীক্ষা ( একক ফাইলের অনুলিপি করা হচ্ছে) হ'ল ইক্য্রিপ্টফেসের ক্ষেত্রে সেরা পরিস্থিতি!

যেমন ইক্য্রিপ্টফগুলি প্রতিটি স্বচ্ছ-পাঠ্য সংস্করণের জন্য একটি এনক্রিপ্ট করা ফাইল (অভ্যন্তরে মেটাডাটা সহ একটি কাস্টম শিরোনাম সহ) লিখেছে, প্রচুর পরিমাণে ছোট ফাইল থাকাও তার চেয়ে বড় পারফরম্যান্স ড্রপকে বোঝায়।

তবে, এ্যাক্রিপ্টস এর সুবিধা রয়েছে: আপনি এনক্রিপশনটি হারিয়ে না ফেলে এখনই একটি এনক্রিপ্ট করা ফাইলটি পাঠাতে পারবেন can আপনার ব্যাকআপগুলি (ধরে নেওয়া যে আপনি আপনার এনক্রিপ্ট করা ডেটা ব্যাক আপ করছেন ) দ্রুততর হবে যেহেতু আপনি কেবলমাত্র আপনার ডেটার মতোই বড় ফাইলগুলি অনুলিপি করবেন (এবং যদি আপনি কেবলমাত্র পরিবর্তিত ফাইলগুলি অনুলিপি করেন তবে আরও দ্রুত)।

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

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

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