উত্তর:
512 বাইট সত্যিই ডিফল্ট সেক্টরের আকার নয়। এটি আপনার হার্ডওয়ারের উপর নির্ভর করে।
/sys
সিউডো ফাইল সিস্টেমের মাধ্যমে আপনার ডিস্কের প্রতিবেদনগুলিকে আকার বা শারীরিক / লজিক্যাল সেক্টরটি আকার দিতে পারে :
# cat /sys/block/sda/queue/physical_block_size
4096
# cat /sys/block/sda/queue/logical_block_size
512
এই দুটি মানের মধ্যে পার্থক্য কি?
physical_block_size
একটি ব্লক ড্রাইভ একটি পারমাণবিক অপারেশন লিখতে সক্ষম হয় ন্যূনতম আকার।logical_block_size
ক্ষুদ্রতম আকার ড্রাইভ লিখতে সক্ষম হয় (লিনাক্সের কার্নেল ডকুমেন্টেশন cf.) হয়।সুতরাং, আপনার যদি 4 কে ড্রাইভ থাকে তবে তা বোঝা যায় যে আপনার স্টোরেজ স্ট্যাক (ফাইল সিস্টেম ইত্যাদি) শারীরিক ক্ষেত্রের আকারের চেয়ে সমান বা বড় কিছু ব্যবহার করে।
এই মানগুলি সাম্প্রতিক সংস্করণগুলিতেও প্রদর্শিত হয় fdisk
, উদাহরণস্বরূপ:
# fdisk -l /dev/sda
[..]
Sector size (logical/physical): 512 bytes / 4096 bytes
বর্তমান লিনাক্স বিতরণগুলিতে, প্রোগ্রামগুলি (যেটি সর্বোত্তম খাত আকারের বিষয়ে যত্নশীল হওয়া উচিত) mkfs.xfs
যেমন ডিফল্টরূপে সর্বোত্তম খাত আকার চয়ন করবে (যেমন 4096 বাইট)।
তবে আপনি উদাহরণস্বরূপ কোনও বিকল্পের মাধ্যমেও এটি স্পষ্টভাবে নির্দিষ্ট করতে পারেন:
# mkfs.xfs -f -s size=4096 /dev/sda
বা:
# mkfs.ext4 -F -b 4096 /dev/sda
যে কোনও ক্ষেত্রে, বেশিরভাগ mkfs
রূপগুলি কার্যকর করার সময় ব্যবহৃত ব্লক আকারটি প্রদর্শন করবে।
একটি বিদ্যমান ফাইল সিস্টেমের জন্য ব্লকের আকারটি একটি কমান্ডের সাহায্যে নির্ধারণ করা যেতে পারে:
# xfs_info /mnt
[..]
meta-data= sectsz=4096
data = bsize=4096
naming =version 2 bsize=4096
log =internal bsize=4096
= sectsz=4096
realtime =none extsz=4096
বা:
# tune2fs -l /dev/sda
Block size: 4096
Fragment size: 4096
বা:
# btrfs inspect-internal dump-super /dev/sda | grep size
csum_size 4
sys_array_size 97
sectorsize 4096
nodesize 16384
leafsize 16384
stripesize 4096
dev_item.sector_size 4096
পার্টিশনে ফাইল সিস্টেম তৈরি করার সময়, অন্য একটি জিনিস যাচাই করা উচিত তা যদি পার্টিশন শুরুর ঠিকানাটি আসলে শারীরিক ব্লকের আকারের সাথে যুক্ত থাকে। উদাহরণস্বরূপ, fdisk -l
আউটপুটটি দেখুন, প্রারম্ভিক ঠিকানাগুলি বাইটে রূপান্তর করুন, তাদের শারীরিক ব্লকের আকার দ্বারা ভাগ করুন - পার্টিশনগুলি সারিবদ্ধ থাকলে স্মরণ অনুসারে শূন্য হওয়া উচিত।
fdisk -l
, এটি 8 এবং তারপরে 512 দিয়ে বিভক্ত করেছি The
fdisk -l
প্রতিবেদন Units = sectors of 1 * 512 = 512 bytes
- সুতরাং 540/4096 লজিকাল / ফিজিকাল ড্রাইভের জন্য 2 পার্টিশন সহ 2048 এবং 1026048 আইটি গণনা করা 2048*512%4096
এবং 1026048*512%4096
- যেমন একটি পাইথন শেলের মধ্যে। যেহেতু উভয় এক্সপ্রেশন সমান শূন্য those পার্টিশনগুলি 4k সারিবদ্ধ হয়।
না, এটি সম্ভব নয়, এটি থাকলে তাও নয়। আইও সাধারণত কোনওভাবে কমপক্ষে 4096 বাইটের ইউনিটে করা হয় এবং সাধারণত আরও অনেক কিছু।
হ্যাঁ এটি সম্ভব, তবে এটি করার ফলে ড্রাইভটি যত দ্রুত হওয়া উচিত তা পূরণ করতে পারে। 512 কে-এরও কম ফাইলের জন্য, প্রতিটি ফাইলের পরে পুরো 4096 কে (4 এমবি) নেওয়া হয় এবং বেশিরভাগ ফাইল সিস্টেমের (এনটিএফএস এবং এর মতো) ফাইলগুলি সেক্টর ভাগ করে নিতে দেয়ায় অক্ষমতার কারণে বাকী খাতটি 0 এর সাথে পূরণ করে। ফাইল সিস্টেমের জন্য সর্বোত্তম বিকল্পটি হ'ল ভেরিয়েবল সেক্টর মাপের মঞ্জুরি দেওয়া, তবে এটি এমএফটি (মাস্টার ফাইল টেবিল) এর আকার বৃদ্ধি করে এবং সহজেই ডেটা পুনরুদ্ধারের ক্ষমতা হ্রাস করার সাথে সাথে ডেটা দুর্নীতির ঝুঁকি বাড়ায়। অন্য কথায়, সীমানা পুনরুদ্ধার সফ্টওয়্যার দ্বারা পুরোপুরি জানা যাবে না। সুতরাং, যখন একটি 4096 কে লজিক্যাল সেক্টরের আকার বড় ফাইলগুলির জন্য দুর্দান্ত হয়, সাধারণ প্রতিদিনের ব্যবহারের জন্য পিসি এটি কেবল 0 এর একগুচ্ছ। এখন, এই বলে, লজিক্যাল সেক্টরের আকারের চেয়ে ছোট ডেটা এলে এমএফটি নিজেই ডেটা সংরক্ষণ করার বিকল্প থাকে। তবে এটির অর্থ হ'ল আপনার এমএফটি বিশাল আকার ধারণ করে এবং ডেটা দু'বার লেখা হবে (আপনার এইচডিডি তে এমএফটি দুটি কপি রয়েছে)। আপনাকে এমএফটি সর্বাধিক আকার নির্দিষ্ট করতে হবে যা সমস্যার সর্বাধিক আকারে পৌঁছতে পারে যখন আপনি যখন তার সর্বোচ্চটি পৌঁছে যান বা ড্রাইভের ব্যবহার এমএফটি ব্যবহারের জন্য বিনামূল্যে কী পরিমাণ ছাড়িয়ে যায়। এগুলি সমস্ত একটি এনটিএফএস ফাইল সিস্টেমের ব্যবহারের উপর ভিত্তি করে। বিষয়গুলির আরও উজ্জ্বল দিকে, এনটিএফএস আপনাকে 4MB বা তার চেয়ে কম লজিক্যাল সেক্টরের আকারের জন্য ব্লক স্তরে ফাইলগুলির জন্য দেশীয় সংক্ষেপণ ব্যবহার করতে দেয়। এই সীমাবদ্ধতাটি এনটিএফএস সংক্ষেপণের যেভাবে কাজ করে তার কারণে প্রয়োগ করা হয়। 4 এমবি ব্লকগুলি যৌক্তিক খাতের আকার নির্বিশেষে পঠিত এবং সংকুচিত হয়। এটি অবশ্যই
সুতরাং, এই পরিষ্কার জিনিসগুলি আপনার জন্য কিছুটা আপ?
Sector:
1) Logical Sector: Called Native Sector.
Manufacture default setting. user cannot change.
Before 2010 year: 512b/sector
After 2010 year: 4k/sector.
Few manufacture provide HDD tool to change native sector.
2) Physical Sector: Called Cluster(or allocation unit - FAT windows) or Block(Linux/Unix)
User can change physical sector size 512b,1k,2k,4k,... by format or partition tool. Physical sector contains one or few more native sectors.
(example1: if you have HDD 512b/native sector: user can set 4K/Physical sector. this mean 1 cluster = 4 native sector)
(example2: if you have HDD 4K/native sector: user can set 4K/Physical sector. this mead 1 cluster = 1 native sector)
3) File system deal with Physical sector(or block or Cluster) only.
mkfs.*
সর্বোত্তম খাত আকারটি স্বয়ংক্রিয়ভাবে ব্যবহার করা উচিত। আপনি কিছুmkfs.*
পরীক্ষা করতে পারেন এবং ফলাফলটি পরিদর্শন করতে পারেন (হয় এমকিএফএসের ভার্বোজ আউটপুটে বা কোনও সম্পর্কিত fs ইউটিলিটি প্রোগ্রামে)।