এক্স ফাইল ফাইলগুলি কেন পুরো ডিভাইসটি পূরণ করে না?


8

আমি কেবলমাত্র ext 2,3,4} ফাইল সিস্টেমগুলি দেখেছি যে আমি 500G এইচডিডি তে তৈরি করার চেষ্টা করছি সমস্ত উপলব্ধ স্থান (466 জি) ব্যবহার করবেন না। আমি রিসার 3, এক্সএফএস, জেএফএস, বিটিআরএফ এবং এমনকি ভিফ্যাটও চেষ্টা করেছি। এগুলি সবাই 466G আকারের fs তৈরি করে ( df -h দ্বারা দেখানো হয়েছে )। তবে ext * 459G এর fs তৈরি করে। সংরক্ষিত ব্লকগুলি অক্ষম করা ব্যবহারকারীর জন্য উপলব্ধ স্থান বাড়ায় তবে fs এর আকার এখনও 459G is

1Tb HDD: 932G রিসারফস, 917G এক্সট 4 এর ক্ষেত্রে এটি একই।

সুতরাং, এই 1.5% পার্থক্য কি? কেন এটি ঘটে এবং কীভাবে সম্পূর্ণ ভলিউম পূরণ করার উপায় রয়েছে?

ইউপিডি: একই মেশিনে, একই এইচডিডি ইত্যাদিতে সমস্ত পরীক্ষাগুলি সম্পন্ন হয় 500 466 জি কীভাবে 500 জি বিপণন থেকে আলাদা হয় তা বিবেচনা করে না। সমস্যাটি হ'ল এটি বিভিন্ন এফএসের জন্য পৃথক।

ডিএফ সম্পর্কে - এটি মোট এফএস আকার, ব্যবহৃত আকার এবং মুক্ত স্থান দেখায়। এই ক্ষেত্রে আমার আছে:

পুনর্বার জন্য:

/ dev / sda1 466G 33M 466G 1% / এমএনটি

Ext4 এর জন্য:

/ dev / sda1 459G 198M 435G 1% / এমএনটি

যদি আমি রুট ব্লক রিজার্ভেশনটি বন্ধ করে রাখি, 435G 459G- এ পূর্ণ আকারে fs (বিয়োগ 198 এম) হবে) তবে fs নিজেই এখনও এক্সট 4 এর জন্য 459 জি এবং রিসারের জন্য 466 জি!

ইউপিডি 2: ডিডির মাধ্যমে প্রকৃত ডেটা দিয়ে ভলিউম পূরণ করা:

ReiserFS:

fs: ~ # ডিডি যদি = / দেব / শূন্য = / এমএনটি / 1
ডিডি: запись в «/ এমএনটি / 1»: На устройстве кончилось место
975702649 + 0 записей считано
975702648 + 0 записей написано
 скопировано 499559755776 байт (500 গিগাবাইট), 8705,61 সি, 57,4 এমবি / সি

ব্লক রিজার্ভেশন সহ ext2 (mke2fs -m 0):

fs: ~ # ডিডি যদি = / দেব / শূন্য = / এমএনটি / 1
ডিডি: запись в «/ এমএনটি / 1»: На устройстве кончилось место
960356153 + 0 записей считано
960356152 + 0 записей написано
 скопировано 491702349824 байта (492 জিবি), 8870,01 সি, 55,4 এমবি / সি

রাশিয়ানের জন্য দুঃখিত, তবে আমি এটি ডিফল্ট লোকালে চালিয়েছি এবং এটির পুনরাবৃত্তিটি অনেক দীর্ঘ। এটি কোনও বিষয় নয়, ডিডি আউটপুট সুস্পষ্ট।

সুতরাং, দেখা যাচ্ছে যে mke2fs অন্যান্য mkfs এর চেয়ে ছোট ফাইল সিস্টেম তৈরি করে।


2
প্রতিটি এফএসের সাথে একটি নির্দিষ্ট পরিমাণের ওভারহেড থেরেস করে ... আমি ডিস্কের সমস্ত উপলব্ধ শারীরিক স্থানের অ্যাক্সেস আপনাকে দিতে সক্ষম হতে পারে এমন একটি কথা জানি না।
— প্রোডিজিটালসন

আমি আপনাকে আপনার প্রদর্শনের নাম পরিবর্তন করতে এবং আপনার প্রোফাইলের ওয়েবসাইট ক্ষেত্রে আপনার ব্লগ বলে মনে হচ্ছে এমনটিকে রাখার জন্য এটি সুপারিশ করুন, যাতে এটি কম স্পষ্ট বিজ্ঞাপনে পরিণত হয়।
— হ্যালো 71

1
হ্যালো 71, পরামর্শের জন্য ধন্যবাদ। ওয়েবসাইটটি আসলেই কিছু যায় আসে না, এটি কেবল ওপেনিডের জন্য।
— Ineu

ভবিষ্যতে নোট, আপনি যদি দ্রুত ইংরেজিতে আউটপুট একটি প্রোগ্রাম চাই, ব্যবহার LANG=C fooবাLC_ALL=C foo
— অ্যালান পিয়ার্স

অ্যালান, ঠিক আছে, আপনাকে ধন্যবাদ। এটি এমনকি ল্যাং = বা ল্যাং = পসিক্সও হতে পারে। কিন্তু আমি আগেই বলেছি, এই প্রক্রিয়া সময় প্রচুর সময় লাগে তাই এটা বিভিন্ন লোকেল সঙ্গে পুনরায় ব্যবহার করছেন তা শুধু লাইনের কয়েক অযৌক্তিক :) উভয় ক্ষেত্রেই, এটা দ্বারা ext2 জন্য ফাঃ আকার সঙ্গে সমস্যা প্রমাণ :(
— Ineu

উত্তর:


19

এটি সত্য দুটি কারণ রয়েছে।

প্রথমত, কোনও কারণে বা অন্য কোনও ওএস লেখকগণ এখনও বেস 2 সিস্টেমের ক্ষেত্রে খালি স্থানের প্রতিবেদন করে এবং হার্ড ড্রাইভ নির্মাতারা বেস 10 সিস্টেমের ক্ষেত্রে মুক্ত স্থানের প্রতিবেদন করে। উদাহরণস্বরূপ, কোনও ওএস লেখক 1024 বাইট (2 ^ 10 বাইট) কে কিলোবাইট কল করবেন এবং একটি হার্ড ড্রাইভ উত্পাদন 1000 বাইটকে কিলোবাইট বলবে। এই পার্থক্যটি কিলোবাইটের জন্য বেশ ছোটখাটো, তবে একবার আপনি টেরাবাইটে উঠলে এটি বেশ তাৎপর্যপূর্ণ। কোনও ওএস লেখক 1099511627776 বাইট (2 ^ 40 বাইট) একটি টেরাবাইট কল করবেন এবং একটি হার্ড-ড্রাইভ প্রস্তুতকারক 100000000000000 বাইটকে একটি টেরাবাইট কল করবে।

মাপ সম্পর্কে প্রায়শই কথা বলার এই দুটি ভিন্ন উপায় অনেকগুলি বিভ্রান্তির দিকে নিয়ে যায়।

বাইনারি আকারের জন্য স্পষ্টত সমর্থিত আইএসও প্রিফিক্স রয়েছে । নতুন উপসর্গটি মাথায় রেখে ব্যবহারকারী ইন্টারফেসগুলি টিআইবি, জিআইবি (বা আরও সাধারণভাবে XiB) দেখাবে যখন বেস 2 উপসর্গ সিস্টেমের সাথে আকারগুলি দেখায়।

দ্বিতীয়ত, df -h আপনার ব্যবহারের জন্য কত জায়গা উপলব্ধ তা রিপোর্ট করে। সমস্ত ফাইল সিস্টেমে আপনার জন্য জিনিসগুলি ট্র্যাক রাখতে গৃহকর্ম সংক্রান্ত তথ্য লিখতে হবে। এই তথ্যটি আপনার ড্রাইভে কিছু জায়গা নেয়। সাধারণত খুব বেশি না, তবে কিছু। এটি আপনি দেখছেন এমন কিছু আপাত ক্ষতির জন্যও দায়ী।

আপনি আপনার পোস্ট সম্পাদনা করার পরে এটি পরিষ্কার করে দেওয়ার জন্য যে আমার উত্তরগুলির কোনও উত্তরই আপনার প্রশ্নের উত্তর দেয় না, আমি আপনার প্রশ্নের উত্তর দেওয়ার জন্য একটি ছুরিকাঘাত করব ...

গৃহস্থালি সংক্রান্ত তথ্যের জন্য বিভিন্ন ফাইল সিস্টেমগুলি বিভিন্ন পরিমাণে স্থান ব্যবহার করে এবং সেই জায়গার ব্যবহারকে বিভিন্ন উপায়ে রিপোর্ট করে।

উদাহরণস্বরূপ, ext2 ডিস্কটিকে সিলিন্ডার গোষ্ঠীতে বিভক্ত করে। তারপরে এটি প্রতিটি সিলিন্ডার গোষ্ঠীতে আইওনড এবং বিনামূল্যে স্থানের মানচিত্রের জন্য প্রাক-বরাদ্দ করে। ext3 একই কাজ করে কারণ এটি মূলত এটি ext2 + জার্নালিং। এবং ext4 ঠিক একই জিনিসটিও করে যেহেতু এটি একেবারে সরল (এবং প্রায় পিছনের দিকে সামঞ্জস্যপূর্ণ) Ext3 এর পরিবর্তন। এবং যেহেতু এই মেটা ডেটা ওভারহেড ফাইল সিস্টেম তৈরি বা পুনরায় আকারে স্থির করা হয়েছে, এটি 'ব্যবহৃত' স্থান হিসাবে রিপোর্ট করা হয়নি। আমার সন্দেহ হয় এটিও কারণ সিলিন্ডার গ্রুপের মেটা-ডেটা ডিস্কের স্থির স্থানে থাকে এবং তাই কেবল ব্যবহৃত হচ্ছে বলে বোঝানো হয় এবং তাই ফাঁকা স্থানের মানচিত্রগুলিতে চিহ্নিত বা চিহ্নিত করা যায় না।

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

তবে এর অর্থ এই যে ফাইলগুলি যুক্ত করার সাথে সাথে রিসফারগুলি আরও স্থান গ্রহণ করবে কারণ এটি মেটা-ডেটা বরাদ্দ করবে (ইনোডের মতো) পাশাপাশি ফাইলের জন্য প্রকৃত ডেটা স্পেস।

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



@ ববি - হ্যাঁ, এবং এটি প্রদর্শনগুলিতে প্রদর্শিত হতে শুরু করেছে। আমি আমার উত্তরে এটি যুক্ত করব। ধন্যবাদ!
— সর্বাত্মক

8

পাশাপাশি সার্বজনীন যে বিষয়গুলি উল্লেখ করেছে, ext2 / 3/4 সহ নির্দিষ্ট পরিমাণের স্থানটি মূলের জন্য সংরক্ষিত রয়েছে - এই সংরক্ষিত স্থানটি df এর আউটপুটে প্রদর্শিত হয় না।

উদাহরণস্বরূপ, ডিফল্ট বিকল্পগুলির সাথে একটি ছোট ফাইল সিস্টেম (mb 100 মিম্বার) তৈরি করা, ext2 ব্যবহার করে 3 বা 4 এর পরিবর্তে স্থানটিকে উপেক্ষা করার জন্য যা অন্যথায় জার্নালের দ্বারা নেওয়া হবে:

swann:/tmp# dd if=/dev/zero of=./loop.fs bs=10240 count=10240
swann:/tmp# mkfs.ext2 loop.fs
swann:/tmp# mkdir loop
swann:/tmp# mount -text2 -oloop loop.fs loop
swann:/tmp# df loop
Filesystem           1K-blocks      Used Available Use% Mounted on
/tmp/loop.fs             99150      1550     92480   2% /tmp/loop

সংরক্ষিত ব্লক বিকল্পগুলি ট্যুইক করা ( tune2fsএর -mবিকল্পটি সংরক্ষিত ব্লককে শতাংশ হিসাবে -rসেট করে এবং বিকল্পটি সংরক্ষিত ব্লকগুলিকে একটি সরাসরি সংখ্যক ব্লক হিসাবে সেট করে):

swann:/tmp# umount loop
swann:/tmp# tune2fs -m 25 loop.fs
swann:/tmp# mount -text2 -oloop loop.fs loop
swann:/tmp# df loop
Filesystem           1K-blocks      Used Available Use% Mounted on
/tmp/loop.fs             99150      1550     72000   3% /tmp/loop

swann:/tmp# umount loop
swann:/tmp# tune2fs -m 0 loop.fs
swann:/tmp# mount -text2 -oloop loop.fs loop
swann:/tmp# df loop
Filesystem           1K-blocks      Used Available Use% Mounted on
/tmp/loop.fs             99150      1550     97600   2% /tmp/loop

আপনি উপরের উদাহরণে দেখতে পাচ্ছেন, মূল হিসাবে লগ ইন করা dfহলেও "উপলব্ধ" গণিতে সংরক্ষিত স্থান দেখায় না। মূল হিসাবে লগ ইন করা হয়েছে বা স্বল্প সুবিধাপ্রাপ্ত ব্যবহারকারী, "ব্যবহৃত" গণনাতে সংরক্ষিত স্থানটি প্রদর্শিত হয় না। যদি আপনি এই দুটি সত্যের প্রত্যাশা না করেন তবে কোনও ফাইল সিস্টেম পুরোপুরি কাছাকাছি থাকলে কখনও কখনও বিভ্রান্তির সৃষ্টি হতে পারে।

আরও মনে রাখবেন যে tune2fsএর নাম থাকা সত্ত্বেও, এক্সট 3 এবং এক্সট 4 ফাইল সিস্টেমের পাশাপাশি এক্স 2 জন্য প্রাসঙ্গিক।


উত্তরের জন্য ধন্যবাদ. না, এটি সংরক্ষিত ব্লকগুলি সম্পর্কে নয়। আপডেট করা প্রশ্ন।
— Ineu

0

ফাইল সিস্টেমের মধ্যে পার্থক্য সম্পর্কে, বিভিন্ন ফাইল সিস্টেমগুলি ব্লকগুলি ডিফেরেন্টে সংগঠিত করে এবং ব্লকগুলি সনাক্ত করতে এবং রাখার জন্য কম বেশি ডেটা প্রয়োজন। ব্লকের আকার এছাড়াও একটি পার্থক্য তোলে যেমন আপনার কাছে একই জায়গার জন্য কম বেশি ব্লক রয়েছে, আপনার কম-বেশি "হারিয়ে যাওয়া" জায়গা রয়েছে। এছাড়াও, ফ্রেগমেন্টিং ফাইলগুলি এড়াতে ফাইল সিস্টেম গ্রুপ ব্লক করে এবং প্রতিটি ব্লক ক্লাস্টারে কিছু আকারের সনাক্তকারী থাকে, তাই কম-বেশি ব্লক ক্লাস্টারগুলি ডিস্কে বিভিন্ন শারীরিক স্থান ব্যবহার করবে। সুতরাং পার্থক্যটি কীভাবে ফাইল সিস্টেম শারীরিক স্থানকে সংগঠিত করে।

এখানে Ext2 এর জন্য একটি বিবরণ দেওয়া আছে এবং আপনি সম্ভবত রিসম্পদের জন্য অনুরূপ কিছু খুঁজে পেতে পারেন তবে আমি এটি কখনও ব্যবহার করি নি তাই আমার কোনও নেই।


2
রিসফারফ এবং বিটিআরএফগুলি প্রায় সমস্ত বুককিপিং তথ্য গতিশীলভাবে বরাদ্দ করা হয় এমন ক্ষেত্রে এটি অস্বাভাবিক। ফাইল সিস্টেম সেটআপে কেবল সুপারব্লক অনুলিপি এবং ফ্রি স্পেস বিটম্যাপগুলি বরাদ্দ করা হয়। অবশ্যই, এর অর্থ হ'ল ডেটাগুলির জন্য উপলব্ধ স্থানের প্রকৃত পরিমাণ এই ফাইল সিস্টেমগুলির জন্য কম নির্ধারক।
— সর্বজনীন

@ অ্যামিনিফেরিয়াস +1 - সুতরাং, আমি যদি রিসফারফ এবং বিটিআরএফ সম্পর্কে ভালভাবে বুঝতে পারি তবে রিপোর্ট করা উপলভ্য স্থানটি শুরুতে বড় তবে এটি কেবলমাত্র ডেটার পরিবর্তে ডেটা এবং বুককিপিং তথ্যের সাথে ব্যবহার করা হবে, তাই না?
— লরেন্ট

@ লরেন্ট-আরপিনেট - হ্যাঁ, এটি সঠিক। বিটিআরএফএসের ক্ষেত্রে এটি আরও আকর্ষণীয়। বিটিআরএফএস একটি পৃথক ফাইলের ভিত্তিতে র‌্যাড প্রয়োগ করতে পারে, সুতরাং এটির জন্য উপলব্ধ মুক্ত স্থানের রিপোর্টিং পিন করা আরও শক্ত কারণ এটি কেবল ধরেই নিতে পারে না যে ডেটা ব্যবহারের জন্য ব্লকের জন্য ব্যবহৃত অতিরিক্ত জায়গার নির্দিষ্ট পরিমাণ থাকবে। অতিরিক্তভাবে, এটি খুব সস্তা COW ভিত্তিক অনুলিপিগুলিকে মঞ্জুরি দেয়, সুতরাং একটি বিদ্যমান ফাইলের মাঝামাঝি একটি ব্লক লিখে স্থান বরাদ্দ করতে পারে।
— সর্বময়ী

এবং এক্সএফএস, জেএফএস এবং ভিএফএটি সম্পর্কে কী? যেমন আদিম fs বিশ্বাস করা শক্ত কারণ FAT32 ext4 এর চেয়ে বেশি গতিশীল।
— Ineu

FAT32 এর প্রতিষ্ঠানের জন্যও অবরুদ্ধ ব্লক রয়েছে। এখানে গতিশীল অর্থ কি? যদি ডায়নামাইক বরাদ্দ হয় তবে FAT32- এর মতো কোনও গতিশীল বরাদ্দ থাকে না যেমন এক্স এর মতো এবং ডেটার জন্য উপলভ্য ডিস্কের সমস্ত ব্লক প্রদর্শন করে না। এটিরও কিছু সীমাবদ্ধতা রয়েছে এক্সট 4 ফাইল সিস্টেমে কোনও অনুমতি সিস্টেমের মতো না থাকে যখন এক্সট 4 এর কাছে পসিক্স অনুমতি এবং এসিএল থাকে এবং সর্বাধিক ফাইলের আকার FAT32 এ 4 জিবি এবং এক্সটি 3 এ 2 টিবি (এক্সট 4 সম্পর্কে নিশ্চিত নয় তবে কমপক্ষে একই হওয়া উচিত)।
— লরেন্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.