এই ফাইলগুলি কেন একটি এক্সট 4 ভলিউমে খণ্ডিত হয়?


19

আমার ext4একটি (চৌম্বক) হার্ড ড্রাইভে একটি 900 গিগাবাইট পার্টিশন রয়েছে যার কোনও ত্রুটি নেই এবং কোনও খারাপ খাত নেই। খালি lost+foundডিরেক্টরি বাদে পার্টিশনটি সম্পূর্ণ ফাঁকা । সংরক্ষিত ফাইল সিস্টেম ব্লকগুলির সংখ্যা 1% এ সেট করা ব্যতীত ডিফল্ট প্যারামিটার ব্যবহার করে পার্টিশনটি ফর্ম্যাট করা হয়েছিল।

আমি xubuntu-15.04-desktop-amd64.isoপার্টিশনের মাউন্ট পয়েন্ট ডিরেক্টরি ব্যবহার করে ~ 900MB ফাইলটি ডাউনলোড করেছি wget। ডাউনলোড শেষ হয়ে গেলে, আমি দেখতে পেলাম যে ফাইলটি চারটি ভাগে বিভক্ত ছিল:

filefrag -v /media/emma/red/xubuntu-15.04-desktop-amd64.iso
Filesystem type is: ef53
File size of /media/emma/red/xubuntu-15.04-desktop-amd64.iso is 1009778688 (246528 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   32767:      34816..     67583:  32768:            
   1:    32768..   63487:      67584..     98303:  30720:            
   2:    63488..   96255:     100352..    133119:  32768:      98304:
   3:    96256..  126975:     133120..    163839:  30720:            
   4:   126976..  159743:     165888..    198655:  32768:     163840:
   5:   159744..  190463:     198656..    229375:  30720:            
   6:   190464..  223231:     231424..    264191:  32768:     229376:
   7:   223232..  246527:     264192..    287487:  23296:             eof
/media/emma/red/xubuntu-15.04-desktop-amd64.iso: 4 extents found

এটিকে wgetকোনওভাবে পুনরায় সংযুক্ত করা হতে পারে ভেবে, আমি পার্টিশন থেকে আইএসও ফাইলটি সরিয়ে ফেললাম, এটি আবার খালি করে ফেললাম, তারপরে আমি using 700MB ফাইলটি v1.mp4পার্টিশনে ব্যবহার করে কপি করেছি cp। এই ফাইলটি খণ্ডিত ছিল। এটি তিনটি খণ্ডে বিভক্ত ছিল:

filefrag -v /media/emma/red/v1.mp4
Filesystem type is: ef53
File size of /media/emma/red/v1.mp4 is 737904458 (180153 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   32767:      34816..     67583:  32768:            
   1:    32768..   63487:      67584..     98303:  30720:            
   2:    63488..   96255:     100352..    133119:  32768:      98304:
   3:    96256..  126975:     133120..    163839:  30720:            
   4:   126976..  159743:     165888..    198655:  32768:     163840:
   5:   159744..  180152:     198656..    219064:  20409:             eof
/media/emma/red/v1.mp4: 3 extents found

ইহা কি জন্য ঘটিতেছে? এবং এটি থেকে রোধ করার কোনও উপায় আছে কি? আমি ext4ভগ্নাংশ প্রতিরোধী হতে বোঝানো হয়েছে। পরিবর্তে আমি দেখতে পেলাম যে বাকী সমস্ত ভলিউম অব্যবহৃত হলে এটি তাত্ক্ষণিকভাবে একটি নির্জন ফাইলকে টুকরো টুকরো করে। এটি উভয়ের চেয়ে খারাপ বলে মনে হচ্ছে FAT32এবং NTFS


4
আমি সম্ভবত কোন পরিস্থিতিতে এটির জন্য গুরুত্বপূর্ণ হতে পারে তা কল্পনা করার চেষ্টা করছি এবং আমি খালি আসছি।
গ্রেগ হিউগিল 18:51

4
@ গ্রেগ হিউগিল: এটি গুরুত্বপূর্ণ ছিল কারণ আমি ভেবেছিলাম এটি অস্বাভাবিক। এখন আমি জানি যে এটি স্বাভাবিক, এটি কোনও বিষয় নয়।
এমাভিভি

উত্তর:


17

একটি 900mb ফাইলে 3 বা 4 টুকরা হয় খুব ভাল। টুকরো টুকরো টুকরো টুকরো হয়ে যায় যখন সেই আকারের কোনও ফাইলের মধ্যে আরও 100+ টুকরা থাকে। ফ্যাট বা এনটিএফএসের পক্ষে এ জাতীয় কোনও ফাইলকে কয়েকশো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করা অস্বাভাবিক কিছু নয়।

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

tune2fs -lআপনার ফাইল সিস্টেমটি ফর্ম্যাট করার সময় আপনি সক্ষম বৈশিষ্ট্যগুলি পরীক্ষা করতে ব্যবহার করতে পারেন ।


অনেক আগ্রহব্যাঞ্জক. আমি ধরে নিলাম সমস্ত ইনোড টেবিল ইত্যাদি ভলিউমের শুরুতে।
এমাভিভি

1
@ এমমাভি ডিস্ক জুড়ে এগুলি বিতরণ করছে, তারা উল্লেখ করা তথ্যের তুলনায় তুলনামূলকভাবে কাছাকাছি, সংক্ষিপ্ত অনুসন্ধান এবং দ্রুত ডিস্ক অ্যাক্সেসের
ফলস্বরূপ

10

আমি সত্যই উত্তর দিতে পারি না তবে আমি মনে করি এটির সাহায্য হতে পারে:

প্রতিটি খণ্ডটি কীভাবে, সর্বাধিক, 32768 টি আকারের ব্লকগুলি লক্ষ্য করুন (2 এর শক্তি, এটি একটি পতাকা বাড়াতে হবে যা কিছু চলছে এবং আপনাকে কিছু খুঁজে পাওয়ার জন্য একটি ইঙ্গিতও দেয়)।

আরও লক্ষণীয়, এক্সটেন্টগুলির মধ্যে physical শারীরিক অফসেটগুলি একে অপরের খুব কাছাকাছি।

থেকে: এক্সট 4 ডিস্ক লেআউট

একটি ext4 ফাইল সিস্টেম ব্লক গ্রুপগুলির একটি সিরিজে বিভক্ত। টুকরো টুকরো করার কারণে কর্মক্ষমতা অসুবিধা হ্রাস করতে, ব্লক বরাদ্দকারী প্রতিটি ফাইলের ব্লক একই গ্রুপের মধ্যে রাখার জন্য খুব চেষ্টা করে, যার ফলে অনুসন্ধানের সময়কে হ্রাস করে। কোনও ব্লক গোষ্ঠীর আকার নির্দিষ্ট করা আছে sb.s_blocks_per_group blocksযদিও এটি 8 * হিসাবে গণনা করা যায় block_size_in_bytes। 4KiB এর ডিফল্ট ব্লকের আকারের সাথে, প্রতিটি গ্রুপ 128MiB দৈর্ঘ্যের জন্য 32,768 ব্লক ধারণ করবে

এবং আরও নিচে:

বিচ্ছিন্নকরণের বিরুদ্ধে লড়াই করতে ext4 প্রথম যে সরঞ্জামটি ব্যবহার করে তা হ'ল মাল্টি-ব্লক বরাদ্দকারী। যখন কোনও ফাইল প্রথম তৈরি করা হয়, ব্লক বরাদ্দকারী অনুমানের সাথে ফাইলে 8KiB ডিস্ক স্থান বরাদ্দ করে [...] একটি দ্বিতীয় সম্পর্কিত কৌশল যা ext4 ব্যবহার করে বিলম্ব বরাদ্দ হয়। এই স্কিমের অধীনে, যখন কোনও ফাইল ফাইল লেখার জন্য আরও ব্লকগুলির প্রয়োজন হয়, সমস্ত নোংরা বাফারগুলি ডিস্কে না লেখা পর্যন্ত ফাইল সিস্টেম ডিস্কে সঠিক স্থান নির্ধারণের সিদ্ধান্ত নেয়। কোনও নির্দিষ্ট স্থান নির্ধারণের জন্য একেবারে প্রয়োজনীয় না হওয়া অবধি প্রতিশ্রুতি না দিয়ে (কমিটের সময়সীমাটি হিট হয়ে যায়, বা সিঙ্ক করা হয়) বা কার্নেলটির স্মৃতিশক্তি শেষ হয় না), আশাবাদটি ফাইল সিস্টেম আরও ভাল সিদ্ধান্ত নিতে পারে।

সুতরাং আমি বলব বরাদ্দকারী কেবলমাত্র ব্লক গ্রুপের মধ্যে ডেটা লোকালটির বিষয়ে চিন্তা করে (যারা 32 কে ব্লক করে) তবে ব্লক গ্রুপগুলি একে অপরের সাথে সুসংগত হওয়ার বিষয়ে নয়।


আপনি আমার প্রথম প্রশ্নের উত্তর দিয়েছেন।
এমাভিভি

1
প্রতিটি ব্যাপ্তিতে সর্বাধিক 32 কে ব্লক থাকে কারণ এটি বর্ণনাকারীর দ্বারা প্রসারিত সর্বোচ্চ দৈর্ঘ্য। এক্সটেন্টস টুকরা নয়। যদি আপনি লক্ষ্য করেন যে বহিরাগতদের বেশ কয়েকটি শারীরিক ব্লক তত্ক্ষণাত্ পূর্ববর্তী মাত্রাগুলির অনুসরণ করে এবং তাই কোনও খণ্ড (6 এক্সটেন্ট বনাম 3 টুকরা) গঠন করে না।
psusi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.