আমি লিনাক্স ক্লাস্টারে অ্যাক্সেস সহ গণ্য রসায়ন বিভাগের স্নাতক শিক্ষার্থী। ক্লাস্টারে একটি খুব বড় (25 টিবি) ফাইলসভার থাকে, যার সাথে বেশ কয়েকটি ডজন গণনা নোড সংযুক্ত থাকে। প্রতিটি গণনা নোডে 8 থেকে 24 ইন্টেল জিয়ন কোর থাকে। প্রতিটি কম্পিউট নোডে প্রায় 365 টিবি স্থানীয় ডিস্ক থাকে।
যেহেতু ফাইলসভারটি নিয়মিতভাবে এক ডজন বা ততোধিক গবেষণা দলের ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা হয়, ফাইলসার্ভারটি মূলত দীর্ঘমেয়াদী ফাইল স্টোরেজের জন্য ব্যবহৃত হয় (এটি রাত্রে ব্যাক আপ করা হয়, যেখানে কম্পিউট নোডের স্থানীয় ডিস্কগুলি কখনই ব্যাক আপ হয় না)। এইভাবে, সিস্টেম অ্যাডমিনিস্ট্রেটর আমাদের স্থানীয় ডিস্কগুলিতে সিমুলেশনগুলি চালনার নির্দেশনা দিয়েছেন - যা ফাইলসভারের চেয়ে দ্রুত I / O রয়েছে - যাতে অন্য ব্যবহারকারীর জন্য ফাইলসভারটি ধীর না করে।
সুতরাং, আমি স্থানীয় ডিস্কগুলিতে সিমুলেশনগুলি চালনা করি এবং তারপরে, সেগুলি সমাপ্ত হওয়ার পরে, আমি ট্র্যাজেক্টরি ফাইলগুলি অনুলিপি করি - আমি মলিকুলার ডায়নামিক্স (এমডি) সিমুলেশনগুলি চালাচ্ছি - স্টোরেজের জন্য ফাইলসভারে to ধরুন আমার কাছে traj.trr
নোডের স্থানীয় ডিস্কের একটি ডিরেক্টরিতে একটি ট্র্যাজেক্টরি ফাইল রয়েছে /home/myusername/mysimulation1/traj.trr
,। দীর্ঘমেয়াদী স্টোরেজের জন্য, আমি সবসময় traj.trr
ফাইলসভারের একটি ডিরেক্টরিতে অনুলিপি করি ~/mysimulation1/traj.trr
, যেখানে ফাইলসভারে ~
আমার ডিরেক্টরিটি উপস্থাপন করে /export/home/myusername
। এটি অনুলিপি করার পরে, তবে আমি অভ্যাসগতভাবে du -h
যাচাই করতে ব্যবহার করি /home/myusername/mysimulation1/traj.trr
যা এর মতো ফাইলের আকারের ~/mysimulation1/traj.trr
। এইভাবে, আমি অন্তত যুক্তিসঙ্গতভাবে নিশ্চিত হতে পারি যে ফাইলসার্ভারে স্থানান্তর সফল হয়েছিল। উদাহরণ স্বরূপ:
cd /home/myusername/mysimulation1/
cp -v traj.trr ~/mysimulation1/
du /home/myusername/mysimulation1/traj.trr -h
du ~/mysimulation1/traj.trr -h
যদি দুটি কল du -h
একই মানব-পঠনযোগ্য ফাইল আকার দিতে দেয় তবে আমি যুক্তিযুক্তভাবে নিশ্চিত হতে পারি যে স্থানান্তর / অনুলিপি সফল হয়েছিল। (আমার সাধারণ traj.trr
ফাইলগুলি আকারে প্রায় 15 থেকে 20 গিগাবাইটের মধ্যে রয়েছে, আমি যে সঠিক সিমুলেশন চালিয়েছি তার উপর নির্ভর করে।) আমি যদি দুটি ফাইল চালনা করি du
(অর্থাত্, -h
স্যুইচ ছাড়াই ) traj.trr
, তবে তাদের আকারগুলি বাইটে সাধারণত খুব একই রকম হয় - - সাধারণত মাত্র কয়েক বাইটের মধ্যে আমি গত দেড় বছর ধরে এই সামগ্রিক পদ্ধতিটি ব্যবহার করছি, কোনও সমস্যা নেই।
যাইহোক, সম্প্রতি আমি নিম্নলিখিত সমস্যার মধ্যে চলে এসেছি: কখনও কখনওdu -h
রিপোর্ট করে যে দুটিtraj.trr
ফাইলের আকার বেশ কয়েকটি জিবি দ্বারা আলাদা। এখানে একটি উদাহরণ:
cd /home/myusername/mysimulation1/ # this is the local disk
cp -v traj.trr ~/mysimulation1/
du traj.trr -h
cd ~/mysimulation1/ # this is the fileserver
du traj.trr -h
দুটি কল থেকে আউটপুট du -h
যথাক্রমে:
20G traj.trr
28G traj.trr
আমি বিশ্বাস করি যে পূর্ববর্তীটি (যেমন traj.trr
স্থানীয় ডিস্কে থাকা /home/myusername/mysimulation1/
) সঠিক ফাইলের আকার, যেহেতু আমার সিমুলেশন ট্র্যাজেক্টরিগুলি প্রতিটি প্রায় 15 থেকে 20 জিবি হওয়ার আশা করা হয়। কিন্তু তারপরে ফাইলসার্ভারের ফাইলটি আসলে কীভাবে আরও বড় হতে পারে ? আমি দেখতে পেলাম কীভাবে এটি ছোট হতে পারে, যদি কোনওভাবে cp
স্থানান্তর ব্যর্থ হয়। তবে আমি দেখতে পাচ্ছি না এটি কীভাবে আসলে আরও বড় হতে পারে ।
আমি উপরের মত একই কমান্ডগুলি কার্যকর করতে গিয়ে অনুরূপ আউটপুট পাই, তবে -h
প্রদত্ত সুইচটি ছাড়াই du
:
20717480 traj.trr
28666688 traj.trr
পার্থক্যের কোনও কারণ কি আপনি ভাবতে পারেন?
যদি, কোনও সম্ভাবনার সম্ভাবনা না থাকলে du
কোনওভাবে ত্রুটিযুক্ত হয় তবে আমি এটির সাথে ঠিক থাকতে পারি। তবে আমার ঠিক সত্যিই এটি নিশ্চিত করতে হবে যে traj.trr
ফাইলসার্ভারে থাকা অনুলিপিটি সম্পূর্ণরূপে এবং স্থানীয় ডিস্কে এর উত্স সংস্করণের সাথে অভিন্ন। আমার লোকাল ফাইলটি মুছতে হবে যাতে আমার কাছে নতুন সিমুলেশনগুলি চালানোর জন্য পর্যাপ্ত লোকাল ডিস্কের জায়গা থাকতে traj.trr
পারে তবে ফাইলসভারের সংস্করণটি নষ্ট হয়ে যায়।
.Trr ফাইল ফরম্যাট (Gromacs আণবিক গতিবিদ্যা প্যাকেজ থেকে) একটি বাইনারি ফরম্যাট, না লেখা আছে। সুতরাং, আমি নিশ্চিত না যে ফাইলগুলি যেমন কোনও প্রোগ্রামের মাধ্যমে নির্ভরযোগ্যভাবে তুলনা করা যায় কিনা diff
।
md5sum
দুটি ফাইলের উপর দৌড়েছি । দুটি চেকসাম মিলছে। সুতরাং আমি অনুমান করি এর অর্থ এই যে দুটি ফাইল একই রকম?
ls -l
? কমান্ডটি du
জানায় যে আপনার ফাইলের জন্য ডিস্কে কত স্পেস ব্যবহৃত হয়, আপনার ফাইলটি কত বড় নয়। ডিস্কের আকার আপনার ফাইল সিস্টেম এবং এর বরাদ্দের কৌশল দ্বারা প্রভাবিত হতে পারে।
ls -l -h
বলেছেন যে দুটি ফাইলই 20 জিবি। তেমনি, ls -l
উভয় ফাইলই 21214683940 বাইট বলে। সুতরাং আমি অনুমান করি যে ফাইলগুলি একই আকারের, তবে একই পরিমাণের ডিস্ক স্পেস ব্যবহার করবেন না (অনুযায়ী du
)।
md5sum
বাsha1sum
ফাইলগুলিতে চেষ্টা করুন । তারা কি মিলছে?