ext4 পার্টিশনের আকার / বিনামূল্যে স্থানের ত্রুটি


14

আমার ডেটার জন্য 250GiB ব্যাকআপ পার্টিশন তৈরি করার সময়, আমি নটিলাস, জিপার্টেড, ডিএফ, টিউন টুফস ইত্যাদিতে উল্লিখিত পার্টিশনের আকার এবং মুক্ত স্থানের মধ্যে প্রচুর তাত্পর্য লক্ষ্য করেছি

প্রথমে আমি ভেবেছিলাম এটি জিআইবি / জিবি বিভ্রান্তি। এটা ছিল না

তারপরে আমি ভেবেছিলাম এটি ext4 এর সংরক্ষিত ব্লক হতে পারে। এটা ছিল না

আমি পুরো বিস্মিত। এখানে কিছু চিত্র। পদক্ষেপ এখানে:

  • প্রথম, এনটিএফএস। 524288000 সেক্টর x 512 বাইট / সেক্টর = 268435456000 বাইট = 268.4 জিবি = 250 জিআইবি।

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

নটিলাস " মোট ক্ষমতা: 250.0 গিগাবাইট " বলুন (যদিও এটি আসলে জিআইবি নয়, জিবি নয়)। সেই ছোটখাটো বিভ্রান্তিকর বাদে এ পর্যন্ত, এত ভাল good

  • এখন, একই পার্টিশন, জিপিটারডের সাথে এক্সট 4 হিসাবে ফর্ম্যাট করা:

এখানে চিত্র বর্ণনা লিখুন

প্রথম, সর্বশেষ এবং মোট খাত একই the এটি একই 250GiB পার্টিশন। ব্যবহৃত আকার 4.11GiB (সম্ভবত সংরক্ষিত ব্লক?)

এখানে চিত্র বর্ণনা লিখুন

নাঃ। মনে হচ্ছে সংরক্ষিত ব্লকগুলি 12.7 GiB (~ 5%। আউচ! )। তবে ... মোট ক্ষমতা এখন কেবল 246.1 জিবিবি কেন ??? । এই পার্থক্যটি (ধরণের) জিপিআরটি দ্বারা রিপোর্ট করা 4.11 জিআইবির সাথে মেলে। তবে ... এটি যদি সংরক্ষিত ব্লক থেকে না হয় তবে তা কী? এবং কেন জিপিআর্ট রিপোর্ট করেনি যে ব্যবহৃত স্থানের 12.7GiB রয়েছে?

$ df -h /dev/sda5
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             247G  188M  234G   1% /media/BACKUP

dfউল্লিখিত মুক্ত জায়গাতে নটিলাসের সাথে মেলে। তবে .. মাত্র 188 এম ব্যবহার করেছেন? এটি 12GB ডলার হওয়া উচিত নয়? এবং মোট ক্ষমতা এখনও ভুল। তাই আমি tune2fsকিছু সংকেত খুঁজতে দৌড়ে গেলাম। (অপ্রাসঙ্গিক আউটপুট বাদ দেওয়া হয়)

$ sudo tune2fs -l /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   BACKUP
Filesystem UUID:          613d592e-47f5-4206-96a7-210090d340ef
Filesystem features:      has_journal 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 
Filesystem state:         clean
Filesystem OS type:       Linux
Block count:              65536000
Reserved block count:     3276800
Free blocks:              64459851
First block:              0
Block size:               4096

65536000 মোট ব্লক * 4096 বাইট / ব্লক = 268435456000 বাইট = 268.4 জিবি = 250 জিআইবি। এটি জিপিআরটির সাথে মেলে।

3276800 সংরক্ষিত ব্লক = 13421772800 বাইট = 13.4 জিবি = 12.5 জিআইবি। এটি (আবার, সাজানো) নটিলাসের সাথে মেলে।

64459851 ফ্রি ব্লক = 264027549696 বাইট = 264.0 জিবি = 245.9 জিআইবি। কেন? এটি 250-25.5 = 237.5 (বা 250- (12.5 + 4.11) = ~ 233) হওয়া উচিত?

সংরক্ষিত ব্লকগুলি সরানো হচ্ছে:

$ sudo tune2fs -m 0 /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 0% (0 blocks)

$ sudo tune2fs -l /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   BACKUP
Filesystem UUID:          613d592e-47f5-4206-96a7-210090d340ef
Filesystem features:      has_journal 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 
Filesystem state:         clean
Filesystem OS type:       Linux
Block count:              65536000
Reserved block count:     0
Free blocks:              64459851
Block size:               4096

যেমনটি প্রত্যাশিত, একই ব্লক গণনা, 0 টি সংরক্ষিত ব্লক, কিন্তু ... একই বিনামূল্যে ব্লক ? আমি কি 12.5 জিআইবি সবে মুক্তি পেয়েছি?

$ df -h /dev/sda5
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             247G  188M  246G   1% /media/BACKUP

এখানে চিত্র বর্ণনা লিখুন

দেখে মনে হচ্ছে। উপলভ্য স্থান 233 থেকে 245.9 GiB এ চলে গেছে। জিপিআর্ট মোটেও যত্ন নেন নি, ঠিক একই তথ্য দেখাচ্ছে ! (অভিন্ন স্ক্রিনশট পোস্ট করতে অকেজো)

কি বিশাল গন্ডগোল!

আমি যথাসম্ভব যথাযথভাবে এটি নথিভুক্ত করার চেষ্টা করেছি ... সুতরাং, দয়া করে কেউ এখানে কী ঘটছে সে সম্পর্কে কোনও ধারণা দিতে পারেন?

  • এনটিএফএস -> এক্সট 4 ফর্ম্যাটিং থেকে m 4.11 জিআইবি নিখোঁজ কী?
  • জিপিআর্টেড, নটিলাস, টিউন 2 এফ, ডিএফ এর মধ্যে কেন এতগুলি তফাত আছে?
  • আমার গণিতে কী ভুল? (সাহসী প্রশ্ন পোস্টে এই পোস্টে ছড়িয়ে ছিটিয়ে)

কোন সাহায্য প্রশংসা করা হয়। আমি কী চলছে তা অনুমান করতে পারছি না, আমি আমার / পার্টিশন ব্যতীত এনটিএফএসের পক্ষে এক্সট 4 ছাড়ার বিষয়ে সিরিয়াসলি বিবেচনা করছি।

ধন্যবাদ!




@ উরি হেরেরা: আপনি কি আমার প্রশ্নটি পড়েছেন বা কমপক্ষে প্রথম কয়েকটি লাইন পড়েছেন ? এই না একটি GiB / গিগাবাইট সমস্যা। দেশভাগের 268.4GB = 250.0GiB হয় না 246,1
MestreLion

1
আরেকটি উত্তর আপনি একবার দেখে নিতে পারেন: Askubuntu.com
প্রশ্নগুলি

উত্তর:


13

এখানে কয়েকটি জিনিস চলছে। জিপিআর্ট্ট প্রকৃত ব্যবহৃত / মুক্ত স্থানের প্রতিবেদন করে। কার্নেলটি সংরক্ষিত স্থান দ্বারা উপলব্ধ গণনা হ্রাস করে। আপনি সংরক্ষিত স্থান অপসারণ করার পরে, বিনামূল্যে গণনা পরিবর্তন হয়নি কারণ ইতিমধ্যে সংরক্ষিত ব্লকগুলি বিনামূল্যে ছিল; ডিস্কটি পূরণ করে যাতে সমস্যা না ঘটে সেজন্য নন রুট ব্যবহারকারীদের সেই জায়গাতে আক্রমণ করার অনুমতি নেই। বাগের কারণে জিনোম সংখ্যাগুলি কিছুটা স্বল্প । কার্নেল রিপোর্ট করা ব্যবহৃত স্পেসটি রিপোর্ট করার পরিবর্তে (এবং ডিএফ দেখায়), এটি মোট থেকে মুক্ত স্থানটি বিয়োগ করে এটি গণনা করে। এটি ব্যবহৃত হিসাবে সংরক্ষিত স্থান দেখায় causes

নিখোঁজ 4 জিবি আসলে ব্যবহার করা হয় এক্সটোর 4 এর ওভারহেড এনটিএফএস প্রাথমিকভাবে এমএফটি জন্য অল্প পরিমাণে জায়গা বরাদ্দ করে এবং প্রয়োজন হিসাবে এটি বৃদ্ধি করে। ফাইল সিস্টেমগুলির এক্সট সিরিজটি যদিও, বিন্যাসের সময় ইনোড টেবিলের জন্য স্থান বরাদ্দ করে (এমএফটি-র মোটামুটি সমতুল্য) এবং এটি বৃদ্ধি করতে পারে না। রিপোর্ট করা মোট স্থান থেকে অনুপস্থিত স্থান হ'ল ইনোড টেবিল। ব্যবহৃত স্থানের বাকী অংশটি জার্নাল থেকে (সাধারণত 128 এমবি) হয় এবং আকারগুলি ইনোডগুলি থেকে আসে।


ধন্যবাদ, কিছু রহস্য সমাধানের জন্য +1! তবে, যদি ~ 4 জিবি ফাইল সিস্টেমের ওভারহেড হয় তবে কেন এটির কিছু (3.9 গিগাবাইট) মোট স্থান থেকে কেটে নেওয়া হয়, যখন 188 এমবি আসলে ব্যবহৃত হিসাবে প্রদর্শিত হচ্ছে? কোন (বা উভয়) ওভারহেড? এবং কেন অন্যভাবে পরিচালনা? এছাড়াও, dfএমনকি সুডো সহ, মোট ক্ষমতা (247 গিগাবাইট) এবং নটিলাসের মতো ব্যবহৃত স্থান (188 এমবি) দেখায়। সুতরাং এটি যদি বাগ হয় তবে এটি কেবল জিনোমেরই নয়।
MestreLion

আমি ভেবেছিলাম 188MB ওভারহেড (এনটিএফএস থেকে 72 এমবি তুলনায়)। তবে, যদি এনটিএফএসের ওভারহেড সময়ের পরে বাড়তে থাকে, তার অর্থ কি নটিলাস পরে তার সম্পূর্ণ ক্ষমতা সঙ্কুচিত হওয়ার প্রতিবেদন করবে ?
MestreLion

সংশোধন: ডিএফ সর্বদা উপলব্ধ স্থান দেখায়, কেহ এটি চালায় তা বিবেচনা করে না। মুক্ত স্থান (== উপলব্ধ স্থান + সংরক্ষিত স্থান) দেখতে, ব্যবহার করুন stat -f /media/BACKUP
মারিউস গেডমিনাস

পরিষ্কার করার জন্য সম্পাদিত উত্তর এবং আমি বিশ্বাস করি যে এনটিএফএস আরও ব্যবহৃত স্থানের প্রতিবেদন করবে, এমএফটি বাড়ার সাথে সাথে মোট সঙ্কুচিত হবে না। @ মারিয়াস, এটিও সঠিক নয়। স্টাটফ () এবং সুতরাং উভয় ডিএফ এবং স্ট্যাটাস-উভয়ই উপলব্ধ স্থানটি সংরক্ষিত ব্লকগুলি গণনা করে না show আমি শপথ করে বলতে পারি যে এটি কোটার জন্যও সামঞ্জস্য করেছে, এবং কলিং ব্যবহারকারীর উপর ভিত্তি করে এর প্রতিক্রিয়া বৈচিত্র্যময় করেছে তবে আপনি সে সম্পর্কে ঠিক বলেছেন; এটি কোটা গণনা করে না এবং ব্যবহারকারী কী বলবে তা বিবেচ্য নয়।
psusi

@psusi: সুতরাং আমার কাছে in 3.9GiB ইনোড টেবিল এবং ~ 188MB জার্নাল + কিছু আছে? এবং নটিলাস মোট আকার থেকে ইনোড টেবিলটি বিয়োগ করে, যখন জার্নালটিকে ব্যবহৃত স্থান হিসাবে রিপোর্ট করে? এবং জিপিআর্ট তাদের ব্যবহৃত স্থানের একক 4.11GiB হিসাবে রিপোর্ট করে? এটা কি ঠিক? যদি তা হয়, তবে আমি কেবল নটিটিলাস উভয় ওভারহেডকে একইভাবে পরিচালনা করতে চেয়েছি .. উভয়ই মোট থেকে বিয়োগ করা হয়েছে বা উভয়ই "ব্যবহৃত স্থান" হিসাবে গণ্য হবে (পছন্দসই)।
MestreLion

7

প্রথমত, সংরক্ষিত ব্লকগুলি ফাইল সিস্টেম অভ্যন্তরীণ পরিচালনার জন্য ব্যবহৃত ব্লক নয়

সংরক্ষিত ব্লকগুলি কেবল এই জন্য সংরক্ষিত রয়েছে rootযে কোনও বিধি-প্রশাসক ব্যবহারকারীর দ্বারা সমস্ত স্থান পূরণ করে এই পার্টিশনে ফাইল ব্যবহার করে পরিষেবাগুলি স্থানের বাইরে ফেলে দেওয়া যায় না ure

এমনকি কোনও সংরক্ষিত ব্লক না -m 0থাকলেও ( ফাইল সিস্টেম অভ্যন্তরীণ ব্যবস্থাপনার জন্য সর্বদা জায়গার একটি অংশ ব্যবহৃত হয়, আমি কতটা বলতে পারি না, এত গভীর জ্ঞান আমার নেই।

এছাড়াও, জিপ্টার্ডকে কার্যকর হিসাবে কার্যকর করা হয় root, সুতরাং এটি নিখরচায় ব্লকগুলি নিখরচায় দেখতে পায়। নটিলাস , ব্যবহারকারী হিসাবে মৃত্যুদন্ডপ্রাপ্ত, এগুলি নিখরচায় দেখুন।

ঠিক আছে, @psusi উত্তর খুব স্পষ্ট, আমার যোগ করার কিছুই নেই।


হুম, খুব তথ্যপূর্ণ, +1। কমপক্ষে এটি আমার পাওয়া কিছু সমস্যার সমাধান করে। "ব্যবহৃত ব্লক" এর পরিবর্তে অ-মূলের জন্য "সীমাবদ্ধ ক্যাপ" হিসাবে সংরক্ষিত ব্লকগুলি দেখা জিপিআর্ট, ডিএফ এবং টিউন 2fs রিডিংগুলিকে সম্মত করে (এবং বোধগম্য হয়)। তবে কিছু প্রশ্ন এখনও রয়ে গেছে, বিশেষত ব্যবহৃত 4 জিবি স্থান / মোট ক্ষমতা।
MestreLion

1
এছাড়াও, আমি কোথাও পড়েছি (এই পুরানোগুলির মধ্যে একটি "কেন আপনার প্রতি মাসে আপনার লিনাক্স পার্টিশনটি ডিফ্র্যাগ করার দরকার নেই" সম্ভবত কীভাবে?) যে মূলের জন্য 5% স্থান সংরক্ষণের ফলে এক্সটেন বরাদ্দকরণ অ্যালগরিদমগুলিকে কিছুটা শ্বাস প্রশ্বাস দেওয়া যায় এবং তাই এড়ানো যায় ফ্র্যাগমেন্টেশন।
মারিয়াস গেডমিনাস

1

জিপিআরটি ব্যবহার করে কয়েক মেগাবাইট দ্বারা পার্টিশনের আকার হ্রাস করার চেষ্টা করুন, তারপরে আবার এটির মূল আকারে বাড়িয়ে তুলুন। এটি অন্যান্য অ্যাপ্লিকেশনগুলির জন্য মাপগুলি সঠিকভাবে পড়তে পারে। আমি সম্প্রতি একটি 50 জিবি ত্রুটি এইভাবে সংশোধন করেছি!

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