অনেকগুলি ছোট ফাইলের জন্য ইনোডগুলি গ্রাস করা স্থানের তুলনা (xfs, btrfs, ext4)


9

আমার একটি প্রচুর পরিমাণে ছোট ফাইল সহ একটি এক্সট্রোশন পার্টিশন (একটি ভিএমের উপর এলভিএম) রয়েছে , যা আমাকে প্রতি 3-4 মাস অন্তর প্রসারিত করতে হয়।

ইনোডগুলির দ্বারা ব্যবহৃত জায়গার পরিমাণ সম্পর্কে।

Xfs, btrfs বা ext4 ফাইল সিস্টেমগুলির মধ্যে একটিতে কি কম স্থান ব্যবহার করা হয়?

অন্য কথায়, বিটিআরএফএস বা এক্সএফএসে স্যুইচিংয়ের ফলে একটি পার্টিশনটি আইওডগুলি আস্তে আস্তে আউটডো দিয়ে ধীরে ধীরে পূর্ণ হবে?


আপনি যদি ext4 ব্যবহার করেন এবং বেশিরভাগ ছোট প্রকারের স্টোর করে রাখার প্রত্যাশা করেন তবে mkfs.ext4 -t newsসেরা ফলাফলের জন্য আপনার এটি তৈরি করা উচিত । এছাড়াও, আমি পরীক্ষার পরামর্শ দিয়েছি - প্রতিটি ফাইলসাইটগুলি (উদাহরণস্বরূপ lvm, বা লুপব্যাক ডিভাইসে) তৈরি করুন এবং আপনার আসল ফাইলগুলি পূরণ না হওয়া পর্যন্ত এটিতে অনুলিপি করা শুরু করুন। যখন এটি পূরণ হয়, df -i(বা find | wc -l) কোনটি আপনার বেশিরভাগ ফাইল সঞ্চয় করতে পারে তা সন্ধানের জন্য করুন - এইভাবে আপনি নিশ্চিত জানেন।
মাতিজা নালিস

1
@ মাতিজাণালিস, -Tএকটি বড় হাতের টি দিয়ে The কনফিগারেশনের ফাইলটিতে আরও কিছু দরকারী-
বর্ণনামূলক

@ ইল্কাচ্চু সঠিক, ধন্যবাদ এটি হওয়া উচিতmkfs.ext4 -T news
মাতিজা নালিস

ফাইলগুলি কত ছোট?
drudru

উত্তর:


6

আপনার প্রথম প্রশ্নটি শুরু করতে: হ্যাঁ, এই ফাইল সিস্টেমগুলির মধ্যে একটিতে কম স্থান ব্যবহার করা হয়েছে। এমনকি আরও বিশদ বিবরণ ছাড়াই এগুলি অসম্ভাব্য হবে যে তারা সকলেই ঠিক একই পরিমাণে স্থানটি ব্যবহার করে, যদিও তাদের বিভিন্ন বাস্তবায়ন রয়েছে। সুতরাং এক অন্য সবার তুলনায় কম স্থান ব্যবহার করতে বাধ্য।

বিটিআরএফএসের ডায়নামিক ইনোড বরাদ্দ রয়েছে, সুতরাং আপনার জন্য এক্সট 4-এর ইনোড টেবিলের মতো কোনও ফিলিং নেই (আকারটি যার জন্য এক্সট 4 ফাইল সিস্টেম তৈরির সময় সেট করা আছে)।

এক্সএফএস একইভাবে গতিশীল, তবে এর একটি সীমা রয়েছে (ফাইল সিস্টেমের শতাংশ যা ইনোডের জন্য ব্যবহার করা যেতে পারে), সুতরাং সেখানে আপনি নিজের ইনোড ভাতা পূরণ করবেন কিনা তা শতাংশের সেটগুলির পাশাপাশি ফাইল গণনা / ফাইলের আকারের উপর নির্ভর করে


দ্রুত উত্তর দেওয়ার জন্য ধন্যবাদ! দেখে মনে হচ্ছে এক্সএফএস আপাতত নিরাপদ পছন্দ। এই ইনোডের ব্যবহারের শতাংশটি কী পরিবর্তনশীল? এবং যদি তা না হয় তবে কী পরিমাণ প্রয়োজন হবে তা পূর্বাভাস দেওয়ার কোনও উপায় আছে?
abadys

1
আপনি এটি করতে সক্ষম হবেনxfs_growfs -m XX
অ্যান্থন

3

হ্যাঁ, এবং সচেতন হন যে সবকিছু আপনার প্রয়োজনের উপর নির্ভর করে:

বিটিআরএফস (বাটার এফএস, বেটার এফএস, বা বি-ট্রি এফএস হিসাবে উচ্চারিত)

যে বিবেচনা Btrfs একাধিক হার্ড ড্রাইভ উপর spanning জন্য সক্ষম হবে, এটি একটি খুব ভাল poit এটি 16 গুণ বেশি ড্রাইভ স্পেস সমর্থন করতে পারে না হয় ext4 এই । বিটিআরএফএস ফাইল সিস্টেমের সর্বাধিক পার্টিশনের আকার 16 এক্সবিবাইট, পাশাপাশি সর্বোচ্চ ফাইলের আকারও 16 এক্সবিবাইট।

ফাইলের সর্বাধিক সংখ্যা: 2 ** 64

XFS দ্বারা

XFS দ্বারা একটি উচ্চ ক্ষমতা সম্পন্ন 64-বিট ফাইল জার্নালিং ব্যবস্থা। এক্সএফএস 64 বিট ফাইল সিস্টেমের জন্য সর্বাধিক 8 এক্সবিবাইট ফাইল ফাইল সিস্টেম সমর্থন করে। এখন, RHEL 7.0/boot পার্টিশনের জন্য এক্সএফএস ব্যবহারের জন্য সমর্থন সহ ডিফল্ট ফাইল সিস্টেম হিসাবে এক্সএফএস ব্যবহার করে ।

ফাইলের সর্বাধিক সংখ্যা: 2 ** 64

EXT4

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

ফাইলের সর্বাধিক সংখ্যা: 4 বিলিয়ন

এক্সএফএস বনাম বিটিআরএফ

এক্সএফএসের কোনও RAID নেই, যদিও বিটিআরএফএস RAID এখনও পুরোপুরি স্থিতিশীল নয় এবং এটি প্রাথমিক দিনগুলিতে রয়েছে। এক্সটিএফস বিটিআরএফসের চেয়ে আরও বেশি পরিপক্ক , তবে আমরা অস্বীকার করতে পারি না যে বিটিআরএফস শক্তিশালী এবং একটি ভাল বর্ধনশীল ফাইলসিস্টেম।

আপাতত, এক্সএফএসটি আমার পছন্দ - বিশেষত যেহেতু এটি আরএইচইএল 7-এ ডিফল্ট এফএস -, যদি না আমার সত্যিই বিটিআরএস দরকার হয়।


1
এটিতে সাধারণভাবে ফাইল সিস্টেমগুলিতে কিছু ভাল ব্যাকগ্রাউন্ডের তথ্য রয়েছে তবে ছোট ফাইলগুলির নির্দিষ্ট সমস্যাটি এখানে উল্লেখ করা হচ্ছে না।
ilkkachu

@ ইল্ক্কাছু "বড় আকারের ছোট ফাইল" এর অর্থ কী? এটি সবই আইওনড সম্পর্কিত যেহেতু ফাইলগুলি সমস্তই ইনোডের মাধ্যমে তৈরি করা হয়েছিল এবং ইনোড একটি ডেটা স্ট্রাকচার যা কোনও ফাইল সিস্টেমের অবজেক্টকে উপস্থাপন করতে ব্যবহৃত হয়। সুতরাং আমি মনে করি যে আমি সমস্ত লেখকের প্রয়োজনগুলি ব্যাখ্যা করেছি, এবং আমি সর্বাধিক সংখ্যক ফাইলের কথা উল্লেখ করেছি।
ফারাজএক্স

2

আমি মনে করি আপনার যে সমস্যাটি রয়েছে তা হ'ল পার্টিশনটি প্রতি সেওডে ইনোড পূরণ করা নয়, তবে ফাইল সিস্টেমে ইনোডের সংখ্যার বাইরে চলে। ফাইল-সিস্টেমটি তৈরি হওয়ার সময় ext4 আয়নগুলি স্থিতিশীলভাবে সংরক্ষণ করে তবে আপনি বিকল্পগুলিরmkfs.ext4 সাথে নম্বরটি সেট করতে পারেন :

-i বাইটস-প্রতি-ইনোড
বাইট / ইনোড অনুপাত উল্লেখ করুন। mke2fs ডিস্কের প্রতি বাইট-প্রতি-ইনোড বাইটের জন্য একটি ইনোড তৈরি করে। বর্ধমান-প্রতি-ইনোড অনুপাত যত বেশি হবে, তত কম ইনোড তৈরি হবে।

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

ম্যানুয়ালটি সুস্পষ্টভাবে জানিয়েছে যে এফএস তৈরির পরে প্রতি আয়োড অনুপাতের বাইটগুলি পরিবর্তন করা যাবে না, তবে এফএসকে পুনরায় আকার দেওয়া হলে অনুপাতটি মেটাতে মোট সংখ্যা স্কেল করবে।

আপনি প্রতিটি ইনোডের আকারও সেট করতে পারেন । "সর্বাধিক" ফাইল সিস্টেমে ডিফল্টটি 256 বাইট হয় তবে এটি কমে 128 ("ছোট" ফাইল সিস্টেমের জন্য ডিফল্ট) হতে পারে। অতিরিক্ত স্থানটি বর্ধিত বৈশিষ্ট্যগুলি (যেমন SELinux লেবেলগুলি) সংরক্ষণ করার জন্য ব্যবহৃত হয়, সুতরাং আপনার যদি সেগুলির দরকার না হয় তবে আকারটি সর্বনিম্ন কমাতে নিরাপদ হওয়া উচিত।

-আমি ইনোড-আকার
বাইটগুলিতে প্রতিটি ইনোডের আকার উল্লেখ করুন। ইনোড-আকারের মানটি 2 টির বড় বা 128 এর সমান হতে হবে।

df -iবরাদ্দকৃত এবং ব্যবহৃত আইনের সংখ্যাগুলি দেখানো উচিত। ডিফল্ট বিকল্পগুলির সাথে, আমি দেখতে পেয়েছি যে একটি 30 জিবি পার্টিশনের প্রতি 16 কেবিতে একটি ইনোড ছিল, তবে আপনার ফাইলগুলি খুব ছোট হলে আপনি -i 4096সিস্টেমে প্রতিটি ডেটা ব্লকের জন্য একটি ইনোড রাখতে পারেন , বলতে পারেন।

আপনার ফাইলগুলি যদি 4096 এর চেয়ে কম হয় তবে আপনি ফাইল সিস্টেমের ব্লকের আকারও হ্রাস করতে চাইতে পারেন, যেহেতু সমস্ত নিয়মিত ফাইলগুলিতে যাইহোক, একটি সম্পূর্ণ ডেটা ব্লক প্রয়োজন। (এটি ext4 এ on

-b ব্লক-আকার
বাইটগুলিতে ব্লকের আকার নির্দিষ্ট করুন। বৈধ ব্লক-আকারের মানগুলি 1024, 2048 এবং 4096 বাইট প্রতি বাইট। বাদ দেওয়া থাকলে, ব্লক-আকারটি ফাইল সিস্টেমের আকার এবং ফাইল-সিস্টেমের প্রত্যাশিত ব্যবহারের দ্বারা তাত্পর্যপূর্ণভাবে নির্ধারিত হয় (-টি বিকল্পটি দেখুন)।

mkfs.ext4এছাড়াও -T <type>কিছু বা এই সমস্ত জন্য একটি শর্টহ্যান্ড হিসাবে ব্যবহার করা যেতে পারে যে বিকল্প আছে । সেটিংসটি রয়েছে /etc/mke2fs.conf, যা আমার ডেবিয়ানের উদাহরণস্বরূপ mkfs.ext4 -T smallসমতুল্য করে

mkfs.ext4 -b 1024 -I 128 -i 4096

প্রচুর ছোট ফাইলের জন্য বিকল্পগুলির বিকল্প সেট (এবং কোনও এক্সএটার নেই) হতে পারে might

আপনার ফাইলগুলি যদি এক কেবি এর চেয়েও ছোট হয় তবে কোনও ফাইল সিস্টেম ডেটা সংরক্ষণের সর্বোত্তম উপায় নাও হতে পারে তবে ডাটাবেস বা অ্যাপ্লিকেশন নির্দিষ্ট সিস্টেমের মতো কিছু বিবেচনা করা উচিত।

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