ext4: ফাইল সিস্টেমের জায়গার জন্য কীভাবে অ্যাকাউন্ট করবেন?


16

আমি সম্প্রতি ext4 দিয়ে এনটিএফএস প্রতিস্থাপনের উদ্দেশ্যে 1.5 টিবি ড্রাইভ ফর্ম্যাট করেছি।

তারপরে আমি লক্ষ্য করেছি যে আমার সংরক্ষণ করা ফাইলগুলি নতুন পার্টিশনের সাথে খাপ খায় না।

df:

ext4 (ext3 & ext2 show the same behavior)
Filesystem      1K-blocks   Used  Available Use% Mounted on
/dev/sdb1      1442146364   71160 1442075204    1% /media/Seagate

ntfs (similar to all other options that gparted offers):
/dev/sdb1      1465137148  110700 1465026448    1% /media/Seagate

সেই 1 কে-ব্লক পার্থক্যের অর্থ একটি গ্লোরিং 22 জিআইবি কম ব্যবহারের যোগ্য স্থান।

ইতিমধ্যে মৃত্যুদণ্ড কার্যকর করেছি

tune2fs -O \^has_journal
tune2fs -r 0
tune2fs -m 0

অবিশ্বাস্যরূপে, এমন কোনও প্রভাব নেই যা কেবল সেখানে নেই এমন ব্লকগুলিকে প্রভাবিত করে না।

তবুও, fdisk রিপোর্ট করে যে ext4 পার্টিশনটি পুরো ডিস্কটি জুড়ে।

fdisk -l /dev/sdb:

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  2930277167  1465138583+  ee  GPT

এবং এইভাবে উদাহরণস্বরূপ পুনরায় আকার 2fs রিপোর্ট করে যে "কিছুই করার নেই!"

dumpe2fs -h /dev/sdb1:
dumpe2fs 1.41.14 (22-Dec-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          d6fc8971-89bd-4c03-a7cd-abdb945d2173
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              91578368
Block count:              366284288
Reserved block count:     0
Free blocks:              360518801
Free inodes:              91578357
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      936
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sat May 21 17:12:04 2011
Last mount time:          Sat May 21 17:15:30 2011
Last write time:          Sat May 21 17:24:32 2011
Mount count:              1
Maximum mount count:      32
Last checked:             Sat May 21 17:12:04 2011
Check interval:           15552000 (6 months)
Next check after:         Thu Nov 17 16:12:04 2011
Lifetime writes:          1372 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Default directory hash:   half_md4
Directory Hash Seed:      c334e6ef-b060-45d2-b65d-4ac94167cb09
Journal backup:           inode blocks

অনুপস্থিত জায়গাটি কী ব্যবহার করছে?

উত্তর:


21

দেখা যাক. ডিভাইসটির আকার 1,465,138,583½ কেবি = 1,500,301,909,504 বি। ফাইল সিস্টেমটি প্রতিটি 4096 বি এর 366,284,288 ব্লক নিয়ে গঠিত, যা 1,500,300,443,648 বি। আমি জানি না সুপারব্লকের অতিরিক্ত কপিগুলি কী জন্য ব্যবহৃত হয় (আমি জানি না) "আমি জানি বুটলোডারটির শুরুতে কয়েকটি কেবি স্থান রয়েছে))।

ফাইল সিস্টেমে প্রতি 256 বাইটের 91,578,368 ইনোড রয়েছে, যা 23,444,062,208 বি (প্রায় 22 জিবি, ইঙ্গিত, ইঙ্গিত) লাগে takes তারপরে ফাইল সামগ্রীর জন্য 1,442,146,364 কেবি = 1,476,757,876,736 বি রয়েছে। এটি 23,444,062,208 বি + 1,476,757,876,736 বি = 1,500,201,938,944 বি এর জন্য রয়েছে বাকী আকার 98,504,704 বি = 24,029 ব্লক যা জার্নাল আকার হতে ডান পরিসরে।

আপনি দেখতে পাচ্ছেন যে, সমস্ত কিছুর জন্য জবাবদিহি করা হয়। (ঠিক আছে, প্রায় সব কিছু, তবে আমরা গিগাবাইট নয়, মেগাবাইটের কথা বলছি।)


1
ধন্যবাদ, এটা অবশ্যই। (আপনি এটি উপস্থাপনের উপায়টিও বেশ স্পষ্টভাবে - এটি সম্পর্কে আমার আরও কিছুটা চিন্তা করা উচিত ছিল) তাই আমি "mkfs.ext4 -m 0 -O sparse_super -T largefile4" দিয়ে পার্টিশনটি পুনরায় তৈরি করেছি কারণ এটি কেবল কয়েক হাজার বড় বলে মনে করা হচ্ছে ফাইলগুলি, এখন 357728 আইওনড বনাম 1464880364 ব্লক উপলব্ধ।
মিস

13

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

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

এবং প্রচুর ডেটা স্ট্রাকচার রয়েছে । তাদের মধ্যে কিছু খুব মূ are়, অন্যেরা আপনাকে আরও ধীর লেখার ব্যয়ে ডেটা আরও দ্রুত উদ্ধার করতে দেয়, অন্যগুলি পড়ার ব্যয়ে আরও দ্রুত লেখার অনুমতি দেয়, কিছু এখনও পড়তে এবং লেখার ক্ষেত্রে খুব ভাল হতে পারে তবে দীর্ঘ বিরতির প্রয়োজন হয় এবং ডেটাকে পুনরায় সাজানোর সময় অলস ওভারহেড

আপনি অবশ্যই একটি সিস্টেম চান যে:

  1. এটিতে তথ্য লিখতে খুব দ্রুত;
  2. এটি থেকে তথ্য পুনরুদ্ধার করতে খুব দ্রুত;
  3. এতে সঞ্চিত তথ্য সংগঠিত ও পরিচালনা করা ভাল;
  4. ফাইল সিস্টেমটি সঞ্চিত স্থান (পার্টিশন) এর ভাল ব্যবহার করে;
  5. হার্ডওয়্যার সমস্যার বিরুদ্ধে স্থিতিস্থাপক, যাতে আপনি এখনও বেশিরভাগ বা আপনার সমস্ত তথ্য আংশিক সিস্টেমের ব্যর্থতায় ফিরে পান;
  6. সফ্টওয়্যার সমস্যার বিরুদ্ধে স্থিতিস্থাপক, যাতে কোনও অ্যাপ্লিকেশনের বাগ বা কোনও দূষিত অ্যাপ্লিকেশন ইনস্টল করা আপনার ডেটা স্থায়ীভাবে ধ্বংস না করে;
  7. মানব ত্রুটির বিরুদ্ধে স্থিতিস্থাপক, যাতে আপনি যখন ভুলবশত সিস্টেমটিকে আপনার এমন কিছু মুছতে না দেওয়ার (যেমন ট্র্যাশ / পুনর্ব্যবহারযোগ্য বিন) আদেশ দেন তখন তা আপনাকে ক্ষমা করে দেয়।

উচ্চ-পারফরম্যান্স ফাইল সিস্টেমগুলি কিছু স্থান ব্যয়ে খুব দ্রুত পড়তে এবং লেখার অনুমতি দেয়। ফাইল সিস্টেমে ব্যবহৃত দ্রুততম কিছু ডেটা স্ট্রাকচার যেমন হ্যাশ টেবিল এবং বি-ট্রি খুব জটিল and

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


1
ধন্যবাদ, শেষ অংশটি গুরুত্বপূর্ণ। আমি অবগত ছিলাম না যে ext4 কাজ করার সময় তুলনামূলকভাবে (তুলনামূলকভাবে) এনটিএফএস অপারেশন চলাকালীন করে।
মিস

1
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! 
The util fdisk doesn't support GPT. Use GNU Parted.

এই বার্তাটি নির্দেশ করে যে ডিস্কটি জিপিটি-স্টাইলের পার্টিশন ব্যবহার করে এবং এই fdiskসরঞ্জামটি কেবলমাত্র লিগ্যাসি এমবিআর শৈলী বোঝে।

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

আপনার পার্টিশন টেবিলের সঠিক প্রদর্শন পেতে /dev/sdb, ব্যবহার করুন:

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