লিনাক্স - সহায়তা, আমি ইনোডের বাইরে চলেছি!


16

আমার একটি ফাইল সিস্টেম রয়েছে যাতে প্রচুর ছোট ফাইল রয়েছে। বর্তমানে আনোডের প্রায় 80% ব্যবহার করা হয় (আমি এটি দিয়ে পরীক্ষা করেছি df -i) তবে ডিস্কের 60% স্থানই ব্যবহৃত হয়। আমি কীভাবে ইনোডের সংখ্যা 'বৃদ্ধি' করতে পারি? যদি এটি কেবল ডিস্কের জায়গা ছিল তবে আমি জানি যে আমি কেবলমাত্র ডিস্কটির আকার বাড়িয়ে তুলতে পারি (এই ডিস্কটি এলভিএম-এ রয়েছে)। আমি যদি ডিস্কটির আকার বাড়িয়ে তুলি তবে তাতে কি আমার আরও ইনোড হবে?

আমি যদি সহায়তা করি তবে এই ডিস্কটি চালু রয়েছে এমন ফাইল সিস্টেমটি বাড়ানোর জন্য আমি প্রস্তুত।

উত্তর:


14

man mke2fs

আপনি ইনোডের সংখ্যার জন্য একটি -N দেখতে পাবেন

সুতরাং আপনি এটি নির্দিষ্ট করতে পারেন যখন আপনি একটি নতুন পার্টিশন ফর্ম্যাট করবেন। এই মুহুর্তে এতটা সহায়ক নয়, তাই না?

tune2fs, যা ফাইল সিস্টেম টিউন করে, আরও ইনোড যুক্ত করার উপায় বলে মনে হয় না।

তবে হতে পারে ext3 বা 4 এটি করে এবং অন্য কেউ জানে ....?

সুতরাং এখন আপনার একটি বিকল্প রয়েছে: ব্যাকআপ, পুনরায় ফর্ম্যাটেশন, পুনরুদ্ধার।


1
হ্যাঁ, এটি ভাল, তবে এটি পুনরায় অসম্পূর্ণ নয়, তবে এটি গতিশীল

1
ছোট ছোট ছোট ফাইলের জন্য রিজার দুর্দান্ত is আমি সাথে যেতে হবে।
জোর্লেভ

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

ext3 এর কাছে এর কোনও উপায় নেই বলে মনে হচ্ছে
কাগলি-সান

15

আসল প্রশ্নের উত্তর দিতে, যদিও প্রশ্নকারীর পক্ষে সম্ভবত দেরি হয়ে গেছে - হ্যাঁ, এলভিএম 2-তে এক্সটি 2/3 বৃদ্ধি করা ইনোডের সীমাও বাড়িয়ে তুলবে।

65k ইনোডস সীমা সহ সবেমাত্র 1G আকারের একটি পার্টিশন ছিল। পরে

lvextend -L+1G /dev/vg/var
umount /var
resize2fs /dev/vg/var
mount /var

... আমার ইনডসের সীমা এখন 128 কে is


1
বাহ, আমি প্রায় মরিয়া, কিন্তু আপনার উত্তর খুঁজে পেয়েছি এবং চেষ্টা করার সিদ্ধান্ত নিয়েছে, এবং এটি কার্যকর হয়েছিল। এটি অবশ্যই গ্রহণযোগ্য উত্তর হওয়া উচিত!
এলভিএমের

12

আপনি যদি জানতেন যে ছোট ফাইলগুলি আপনার ডিস্কের জায়গাটি খেয়ে ফেলবে, আপনার এক্সটার 2/3/4 এর পরিবর্তে গতিশীল ইনোড বরাদ্দ সহ একটি এফএস ব্যবহার করা উচিত (যা আমি মনে করি আপনি ব্যবহার করছেন , আপনি এটা বলেন নি)।

আপনার পরিস্থিতিতে একটি ফাইল সিস্টেমের মাইগ্রেশন সম্ভবত একটি ভাল পছন্দ।


1
আপনি যদি জানতেন যে ছোট ফাইলগুলি আপনার ডিস্কের জায়গাটি খাবে তবে আপনার কিছু টিউন করা উচিত ছিল । প্রতিটি ফাইল সিস্টেমে উপকারিতা এবং কনস রয়েছে।
ফ্রাঙ্কলিন পাইটি

3

স্টপগ্যাপ হিসাবে, একটি নতুন ফাইল সিস্টেম মাউন্ট করুন এবং সিপি / আরএম / এলএন-গুলি আপনার কয়েকটি fs হায়ারার্কি সেখানে। এখন আপনার হাতে কয়েকটা অতিরিক্ত ইনোড রয়েছে! আপনি দুটি ফেসের মধ্যে ফাইল এমভি করতে পারবেন না, তাই যা করতে হবে তা ভাঙার বিষয়ে সাবধান থাকুন, তবে অনেক অ্যাপের জন্য এটি স্বচ্ছ হতে পারে।

তারপরে পলের পরামর্শ অনুযায়ী একটি নতুন এফএস তৈরি করুন এবং সেটিতে মাইগ্রেট করুন।


1
অবশ্যই আপনি দুটি ফাইল সিস্টেমের মধ্যে ফাইলগুলিকে এমভি করতে পারেন - একটি এমভি কার্যকরভাবে সিপি + আরএম এর জন্য সিমেটিক চিনি। আপনি দুটি ফাইল সিস্টেমের মধ্যে হার্ডলিঙ্ক করতে পারবেন না। আপনি অন্য কিছু বলতে চাইছেন?
ড্যানিয়েল লসন

@ ড্যানিয়েল: আমার অর্থ নাম পরিবর্তন করা () সিস্টেম কল, এবং আমি মনে করি সিভি / আরএমের জন্য এমভি চিনি হিসাবে চিনির হিসাবে ব্যবহার করা slালু অনুশীলন, কারণ প্রতিলিপিগুলির আশেপাশে শব্দার্থবিজ্ঞানের সমস্যাটি রয়েছে। আমার এই উত্তরটি সম্পাদনা করা উচিত - কয়েকটি জায়গা এটি সুন্দরভাবে পরিষ্কার নয়।
চার্লস স্টুয়ার্ট

2

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

ব্যক্তিগতভাবে আমি রিজার্ফগুলির যে কোনও সংস্করণে ext4 নিয়ে যেতে পারি, ফর্ম্যাট করার সময় কেবল নিম্নলিখিতটি করুন:

mkfs.ext4 -I 512 /dev/foo
tune2fs -i0 -c0 -o journal_data_writeback /dev/foo

এইভাবে ফর্ম্যাট করা আপনাকে 512 এম বুট পার্টিশনের 33160 ইনোড দেয়।

আমি এটিকে এমন একজন হিসাবে বলি যিনি বছরের পর বছর ধরে পুনরায় অসম্পূর্ণ ব্যবহার করেছেন, কার্নেল সমর্থন এক্সট * এর মতো ভাল নয়, এবং ফাইল সিস্টেম সময়ের সাথে খণ্ডিত হয়ে যায় এবং ধীর হয়ে যায়।


-1

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

$ find /path -iname "pattern" | xargs tar rvf output_file.tar
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.