বিটিআরএফ এবং নিখরচায় জায়গা


8

আমি আমার ext4 পার্টিশনটিকে বিটিআরএফসে রূপান্তরিত করেছি এবং এটি করার পরে সেভ সাবভলিউমটি মুছে ফেলেছি। তারপরে আমি fstab ফাইলটিতে ফাইলসিস্টেমের সংক্ষেপণ (lzo) সক্ষম করেছি এবং এখন পর্যন্ত সবকিছু সঠিক।

তারপরে আমি প্যারামিটার -c এর সাথে ডিফ্র্যাগমেন্টেশন কমান্ড ব্যবহার করে সমস্ত ফাইলের সংকোচনের জন্য বাধ্য করি যে নতুন ফাইলটি সমস্ত ফাইলের জন্য প্রয়োগ করা হয়েছে।

এটি করার সময়, আমি লক্ষ্য করেছি যে আমার এসএসডি সম্পূর্ণরূপে পূরণ হয়েছে - আমার 6gigs খালি স্থান দেওয়ার আগে। না আমি কিছুই রেখেছি না।

easteregg@x201s:~$ btrfs fi df /
Data: total=50.00GB, used=49.17GB
System: total=32.00MB, used=4.00KB
Metadata: total=24.50GB, used=9.86GB

এবং

easteregg@x201s:~$ df -ha
Filesystem        Size  Used Avail Use% Mounted on
/dev/sda1          75G   60G  852M  99% /

তাই এখন. আমি কীভাবে আমার মুক্ত স্থানটি ফিরে পেতে পারি। Lzo সংকোচনের কারণে আমি আরও স্থান অর্জনের প্রত্যাশা করেছি। এবং এখন!

Fs সঠিকভাবে মাউন্ট করা হয়েছে।

easteregg@x201s:~$ mount
/dev/sda1 on / type btrfs (rw,noatime,ssd,compress=lzo)

কোনও সমস্যা কীভাবে এই সমস্যাটি ঠিক করবেন?


আমি এখন পয়েন্টটি পেয়েছি: আপনি অনলাইনে পুনঃ-ব্যালেন্সিং করতে পারবেন না। এটি ব্যাখ্যা করে কেন কিছুই আমার পক্ষে কাজ করেনি। সুতরাং আমি কেবলমাত্র আমার উদ্ধার ব্যবস্থা বুট করেছি এবং পুরো ডিস্কটির একটি ভারসাম্য রইলাম এবং এরপরে আমি সংক্ষেপণ সক্ষম করে ডিফ্র্যাগমেন্টেশন কমান্ডটি সম্পাদন করেছি। এখন আমি প্রায় 17 জিগ ফ্রি স্পেস পেয়েছি! সুন্দর :)
ইস্তেগ্রেগ

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

2
আরও দেখুন এই প্রশ্নের , যা একটি পুঙ্খানুপুঙ্খ ব্যাখ্যা এবং দরকারী মন্তব্যগুলি।
ইজিস

উত্তর:


8

আমি জানি এই প্রশ্নটি পুরানো - তবে আজকের হিসাবে ভারসাম্য কমান্ড এই জিনিসটি সমাধান করে:

রূপান্তরকালে এটিতে স্টাফ স্থানান্তর করার জন্য প্রচুর জায়গা বরাদ্দ করা হবে। একবার বরাদ্দ হয়ে গেলে এটি আর "ফ্রি" বা "অবিকৃত" হিসাবে প্রদর্শিত হবে না। এটি ঠিক করার জন্য কেবল একটি ভারসাম্য শুরু করুন

btrfs balance start "path"

আপনি ব্যালেন্স কমান্ডটিও বলতে পারেন, কেবলমাত্র অংশগুলিকে ব্যালেন্স করতে, যা কিছু শতাংশের জন্য ব্যবহার করা হয় - যেমন 0% যার অর্থ খণ্ডগুলি খালি:

btrfs balance start "path" -dusage=0 -musage=0

প্যারামিটার-ডি মানে ডেটার বিকল্পসমূহ। প্যারামিটার-মি মানে মেটাডেটার বিকল্প।

ভারসাম্য কমান্ড দিয়ে খেলুন, এটি সাহায্য করা উচিত।


5

থেকে আউটপুট দেখুন btrfs fi df:

Data: total=50.00GB, used=49.17GB
System: total=32.00MB, used=4.00KB
Metadata: total=24.50GB, used=9.86GB

totalঅংশ, বরাদ্দ স্থান থাকাকালীন usedহয় আসলে Btrfs দ্বারা ব্যবহৃত। এর মধ্যে পার্থক্য totalএবং used(প্রায় 15 জিবি) আপনার অনুপস্থিত স্থান missing আপনি দেখতে পাচ্ছেন যে এটি ইতিমধ্যে মেটাডেটা ব্লকগুলির জন্য বরাদ্দ করা হয়েছে।

আমার কাছে কেবল বিটিআরএফএসের সাথে শখের অভিজ্ঞতা রয়েছে তবে আমি মনে করি না একটি বিস্তৃত বিটিআরএফএস ফাইল সিস্টেম তৈরির জন্য এক্সট 4 রূপান্তর সবচেয়ে ভাল উপায়। ভাগ্যক্রমে, আপনি সমস্ত বরাদ্দ পুনরায় কাজ করতে পুরো ফাইল সিস্টেমটিকে ভারসাম্য বজায় রাখতে পারেন।

সর্বদা হিসাবে, ব্যাকআপ ব্যবহার করুন।

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