আমার হার্ড ড্রাইভে সমস্ত লেখাগুলি এর 4k সেক্টরের সাথে একত্রিত হয়েছে কিনা তা আমি কীভাবে পরীক্ষা করব?


9

আমি 4 হার্ড সেক্টর ব্যবহার করে 4 হার্ড ড্রাইভ সহ লিনাক্স ব্যবহার করছি। আমার ফাইল সিস্টেম এবং কাঁচা ডিভাইসের মধ্যে বেশ কয়েকটি স্তর রয়েছে: ডিস্ক> লিনাক্স রেড 5> ডিএম-ক্রিপ্ট> এলভিএম।

আমি যে প্রতিটি সংস্থান পেয়েছি সেগুলি প্রতিটি স্তরের কীভাবে সেটআপ করবেন তা নিশ্চিত করে তা নিশ্চিত করা হয়েছে যে সেই স্তরের উপরে লেখাগুলি 4k সেক্টরের সীমানায় যুক্ত হবে। তবে, হার্ড ড্রাইভে রচিত লেখাগুলি আসলে 4 কে বাউন্ডারে ঘটছে তা যাচাই করতে হবে তা ব্যাখ্যা করার মতো কোনও কিছুই আমি পাইনি।

আমার সেট আপটি সঠিকভাবে প্রান্তিক করা হয়েছে কিনা তা নির্ধারণ করতে যুক্তি ব্যবহার করতে পুনরায় পরীক্ষা করতে আগ্রহী নই। ডিস্কে লেখার সময় আসলে কী ঘটছে তা আমি পরীক্ষা করতে চাই।

আমার হার্ড ড্রাইভগুলিতে যে লেখাগুলি তৈরি করা হচ্ছে তার ঠিকানা এবং আকার আমি কীভাবে লগইন করতে বা দেখতে পারি, তাই আমি যাচাই করতে পারি যে সেগুলি সঠিকভাবে প্রান্তিক করা আছে?

উত্তর:


2

কিছুক্ষণ আগে নিজেকে একই প্রশ্ন জিজ্ঞাসা করেছিলেন এবং কেবল নিম্নলিখিতটি করেছিলেন:

একটি ফাইল ( "WackaWacka" মত কিছু) গুণ বরং একটি অস্বাভাবিক স্ট্রিং দুয়েক শেল সঙ্গে লিখেছেন তারপর কেবল একটি হেক্স ডাম্প (ব্যবহৃত অনুসন্ধান আদ্যাশক্তি ) ডিস্ক প্রকৃত বিষয়বস্তু এবং পরীক্ষিত খাসি স্ট্রিং এর প্রথম occurence সঞ্চিত ছিল ঠিক একটি 4 কে ব্লকের শুরুতে।

ইঙ্গিত: সম্পাদক ব্যবহার করবেন না - এটি এমন অস্থায়ী ফাইল তৈরি করতে পারে যা আপনি জানেন না যার মধ্যে স্ট্রিংগুলিও থাকতে পারে। এটি এইভাবে করুন:

 $ for i in 1 2 3 4 5 ...
 >  do
 >   echo "WackaWacka!"
 >  done > mytestfile

সুতরাং .sh_history এ অনুসন্ধানের স্ট্রিং থাকতে পারে তবে টানা 5 বার নয় ;-)

এবং তারপরে, কেবল অনুসন্ধান করুন:

 # sync
 # od -c /dev/sda | grep 'W   a   c   k   a'

ওয়েল, ডেটা গিগাবাইটের মাধ্যমে সার্চিং এড়াতে এটি একটি খালি ডিস্কে সেরা করা হয়েছে ;-)


1
যেহেতু dm-crypt আমার স্ট্যাকের একটি স্তর হ'ল এই সমাধানটি যথেষ্ট নয়, কারণ এই অক্ষরগুলি ডিস্কটিতে লেখা হবে না।
ব্রায়ান পেলিন

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

2

একটি 4 কে ব্লক লিখুন এবং কতটা ডেটা পড়ে / লেখা হয় তা দেখুন iostat('ব্লক_ড্রেড' 'ব্লক_আর্টন' কলাম)। যদি ডেটা প্রান্তিক না হয়, একটি লিখন প্রথমে পড়তে ট্রিগার করবে এবং 4k এর বেশি লেখার ট্রিগার করবে।

আপনার কোনও মেটাডেটা আপডেট না মাপতে সতর্কতা অবলম্বন করা দরকার, যদিও ... বা কেবল 4 কে লিখে রেখেই তাদের ডুবিয়ে দিন .... সুতরাং নিশ্চিত করুন যে অন্য কোনও কিছুই ডিস্ক স্ক্যান করছে না বা খোলা ফাইলগুলি ধারণ করছে না (আমার মনে হয় lsofএটি হবে পর্যাপ্ত?), তারপরে একটি নতুন ফাইল খুলুন, অপেক্ষা করুন, রান করুন iostat, 4k ফাইলটি লিখুন, লেখার সাথে সিঙ্ক করুন (বা কিছুক্ষণ অপেক্ষা করবেন?) তারপরে iostatআবার যাচাই করুন ।

এটি আমার পক্ষে যুক্তিসঙ্গত আউটপুট দেয় বলে মনে হচ্ছে:

iostat  -d /dev/hdb3
dd if=/dev/urandom of=/mount/path/ofhdb3/tmptest bs=4k count=10000 conv=fdatasync
iostat  -d /dev/hdb3

নোটের iostatম্যান পেজটি 512 বাইট ব্লকে রিপোর্ট করার দাবি করেছে এবং আমি দেখছি মাত্র 80000 টির বেশি ব্লক লেখা ছিল, এবং কোনও ব্লক পড়েনি। যদি আপনার সারিবদ্ধতা বন্ধ থাকে তবে আপনি একই সংখ্যক পাঠ দেখতে পাবেন (যেহেতু একটি ভুল প্রান্তিক 4 ক লিখতে, প্রভাবিত দুটি ব্লক পড়তে হবে, তাদের পরিবর্তন করতে হবে এবং তাদের আবার লিখতে হবে)। প্রকৃতপক্ষে, প্রান্তিককরণের গুরুত্বপূর্ণ কারণ হ'ল এই জাতীয় পাঠগুলি এড়ানো (তাই আপনি যা দেখতে চান তা সত্যই: কোনও লেখার কাজের চাপ ট্রিগার কি পড়ে?)


আপনি কি জানেন যে, আইওস্টাট যদি পাঠক / লেখার সংখ্যার উপর ওএস ব্লক ডিভাইসটিতে রিপোর্ট করে তবে এই সংখ্যাটি ড্রাইভের উপর ভিত্তি করে এটি কতগুলি ব্লক পড়েছে এবং লিখিত হয়েছে?
ব্রায়ান পেলিন

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