ফাইল সিস্টেম ব্লকের আকার কীভাবে কাজ করে?


11

সমস্ত লিনাক্স ফাইল সিস্টেমে 4kb ব্লকের আকার থাকে। ধরা যাক আমার কাছে হার্ড ডিস্ক স্টোরেজ 10 মিমি রয়েছে। তার মানে আমার কাছে 2560 টি ব্লক উপলব্ধ রয়েছে এবং আসুন আমি বলি যে আমি প্রতি 1 কেবি আকারের 2560 ফাইল অনুলিপি করেছি। প্রতিটি 1 কেবি ব্লক 1 টি ব্লক দখল করবে যদিও এটি পুরো ব্লকটি পূরণ করছে না।

সুতরাং আমার সম্পূর্ণ ডিস্কটি এখন পূর্ণ হয়েছে তবে এখনও আমার কাছে 2560x3kb ফ্রি স্পেস রয়েছে। আমি যদি 1 এমবি বলার অন্য একটি ফাইল সঞ্চয় করতে চাই তবে ফাইল সিস্টেমটি কি আমাকে সঞ্চয় করতে দেবে? এটি কি পৃথক ব্লকের ফাঁকা জায়গায় লিখবে? এই সমস্যা সমাধানের কোন ধারণা আছে?

আমি কিছু স্পষ্টতা প্রশংসা করব। আগাম ধন্যবাদ


ঠিক আছে, 2560 ফাইল, প্রতিটি 1 কেবি, এটি 2560 * 0.001 এমবি = 2.56 এমবি। প্রতিটি 1 কেবি ফাইলের ব্লকের প্রায় 1/4 অংশ দখল করা উচিত, কারণ 1000 * 4 = 4000, তাই না? এবং ব্লকের আকার 4096, সুতরাং ব্লকটি পূরণ করার জন্য আপনার 4 টি ফাইল দরকার। 1 এমবি ফাইলের পরে আপনার জন্য 1000000/4096 = 244 ব্লক লাগবে।
সের্গেই কোলোডিয়াজনি

উত্তর:


3

প্রথম লিনাক্সের পর থেকে ডিফল্ট ব্লকের আকার ছিল 512 বাইট। 4k ব্লক আকারগুলি ব্যতীত যেখানে ডিস্কের ক্রমবর্ধমান আকারের জন্য পরিচয় করানো হয়। এটি প্রকৃতপক্ষে এমনকি ডিস্ক হার্ডওয়্যার দ্বারা নির্ধারিত হয় (আরও দেখুন: /unix/178899/optimizing-logical-sector-size-for-phicalical-sector-size-4096-hdd )।

তবুও আপনার নির্দিষ্ট প্রশ্নের জন্য: আপনি ঠিক বলেছেন যে সমস্ত ফাইলগুলি সর্বশেষ ব্লকের অব্যবহৃত বাইটগুলি অনেক ধরণের ফাইল সিস্টেমে নষ্ট করে, যা ছোট ফাইলগুলির জন্য বিশেষত অপচয়যোগ্য। তবে বিটিএফআরএস এবং রিসফারগুলি https://en.m.wikedia.org/wiki/Block_suballocation অনুসারে সামলাতে সক্ষম বলে মনে হচ্ছে


1
  1. ফাইল সিস্টেমগুলিতে 512 থেকে (সাধারণত) 65536 বাইটের ব্লক আকার থাকতে পারে। ব্লকের আকারটি mkfs.xxx বিকল্প হিসাবে নির্দিষ্ট করা যেতে পারে। বেশিরভাগ লিনাক্স ফাইল সিস্টেমে ডিফল্ট ব্লকসাইজ - 4096 বাইট।

  2. কিছু ফাইল সিস্টেমগুলি টেল-প্যাকিং এবং / অথবা সাব-ব্লক বরাদ্দকে সমর্থন করে। ext2 / 3/4 - করেন, xfs - হয় না। আপনি যদি কয়েকটি ছোট ফাইল দিয়ে একটি পার্টিশন পূরণ করার পরিকল্পনা করেন তবে আপনি ব্লকসাইজ সঙ্কুচিত করে 512 বা 1024 এ নষ্ট "লেজ" স্থান হ্রাস করতে পারবেন।

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