/ টিএমপি লিখতে গিয়ে "ডিস্কের কোটা অতিক্রম করে", তবে প্রচুর স্থান (লিনাক্স)


9

আমার একটি ভিপিএস আছে এটি কুখ্যাত সমান্তরাল plesk সঙ্গে পরিচালিত হয়।

আজ আমি বার্তাগুলি দেখতে পেলাম (প্রথমে ওয়ার্ডপ্রেসের মাধ্যমে, তবে কমান্ড লাইন শেল থেকেও): "ডিস্কের কোটা ছাড়িয়ে গেছে"।

user@machine:~$ echo aaa > /tmp/aaa
-bash: /tmp/aaa: Disk quota exceeded

তবে মেশিনে প্রচুর স্থান এবং কেবলমাত্র 1 পার্টিশন রয়েছে।

user@machine:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vzfs             100G   24G   77G  24% /

আমি / টিএমপি / * থেকে সমস্ত ফাইল মুছলাম তবে এখনও।

আমি "vzfs" সম্পর্কে কিছুই জানি না, সম্ভবত এটিই অপরাধী?

কী ভুল হতে পারে? এবং কিভাবে এটি ঠিক করতে পারি?

সমাধান!

(আপনি যদি সমান্তরাল প্লেস্ক ব্যবহার না করেন তবে @ অ্যাডালির উত্তর দেখুন)

আমার ক্ষেত্রে যেমন ড্যারটিকের সমাধান সমান্তরাল সিস্টেমের সাথে প্রাসঙ্গিক দেখুন।

df -i তাত্ক্ষণিক একটি কমনীয় সংখ্যক ইনোড দিয়েছে: 18,446,744,069,620,218,961 যা ওয়ার্ডপ্রেস ওয়েবসাইটের জন্য উন্মাদ।

আমি আরও অনুসন্ধান করে দেখতে পেলাম যে কিমেলের সারিটি ইনোডে পূর্ণ (এটি আমার মেশিনকে স্প্যামে ব্যবহার করার জন্য কিছু হ্যাকারের প্রত্যয় সহ, এবং ব্যর্থতার জবাব দিয়ে পূর্ণ)

কিমেল ফিক্সিং এখানে প্রাসঙ্গিক নয়, তবে আমার কাজের দিকটি প্রাসঙ্গিক:

  1. কিমেলের পরিষেবা বন্ধ করে দিয়েছে
  2. আমি ওভার-কোটা সিস্টেমে কিমহ্যান্ডল ডাউনলোড করতে পারিনি , তাই আমাকে করতে হয়েছিল
  3. অন্য ওয়েবসাইটটিতে স্ক্রিপ্টটি বের করুন এবং আপলোড করুন,
  4. এই আদেশ দিয়ে সারি মুছে ফেলুন:
  5. perl <(wget -O - http://link.to.my/script.pl ) -ডি

এইভাবে স্ক্রিপ্টটি ওয়েব থেকে সরাসরি চলছে (যা কোনও নিরাপদ অনুশীলন নয়, তবে আমি স্ক্রিপ্টটি নিজেই সেখানে রেখেছিলাম), কমান্ড লাইন অপশন সহ।

এই ঘটনাস্থলে এই অদ্ভুত সেটআপটি জেনে এবং তাত্ক্ষণিকভাবে সনাক্ত করার জন্য এবং আরও রোগ নির্ধারণের উপায় সরবরাহ করার জন্য @ ডেল্টিককে ধন্যবাদ !!!


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

1
হ্যাঁ, vzfs(ওপেনজেড "ভার্চুয়াল" ফাইল সিস্টেম) এর কারণ হতে পারে। আমি অনেক ওপেনজেড প্রোভাইডারকে দেখেছি যারা অসম্ভব সস্তা সার্ভার বিক্রি করে, তবে তাদের উপর অসম্ভব বোকা সীমা নির্ধারণ করে।
ব্যবহারকারী1686

যদি আপনার কোনও সমাধান থাকে তবে নির্দিষ্ট করেও দয়া করে উত্তর হিসাবে পোস্ট করুন। আপনি সর্বদা অন্য কারও উত্তর গ্রহণ করতে পারেন।
ড্যানিয়েল বি

উত্তর:


15

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

কারণ: ইনোডের বাইরে (সর্বাধিক সাধারণ)

শত শত ভার্চুজ্জো ভিপিএস গ্রাহকদের সাথে কয়েক বছর কাজ করার পরে যারা ফাইল তৈরি করতে অক্ষম হওয়ার বিষয়টি নিয়েছিল, যদিও সেখানে প্রচুর পরিমাণে ফাঁকা জায়গা উপস্থিত দেখা গিয়েছিল, তাদের বেশিরভাগই তাদের ইনোডের সীমাতে পৌঁছেছিল। ইনোড বরাদ্দ ( Inodes), ইনোড ব্যবহৃত ( IUsed), বাকি ইনোড ( IFree), এবং ব্যবহৃত ইনোডের শতাংশ ( ) ব্যবহার করতে এই কমান্ডটি চালান IUse%:

df -i

100% ইনোড ব্যবহার করা অনেক কিছু ঘটে। আমার অভিজ্ঞতার সাধারণ কারণগুলি:

  • স্প্যাম ইমেল বাউন্সব্যাকস
  • আউটবাউন্ড স্প্যাম ইমেলগুলি সারিবদ্ধ
  • প্রচুর অভ্যন্তরীণ ইমেল সঞ্চিত
  • কিছু ব্যবহারকারী তাদের পিএইচপি সেশন আবর্জনা সংগ্রহ ( session.gc_maxlifetime) একশ বছরেরও বেশি স্থানে সেট করে
  • অনেকগুলি সাধারণ ক্যাশে ফাইল রয়েছে
  • ওয়ার্ডপ্রেস প্লাগইন W3 মোট ক্যাশে অবজেক্ট ক্যাশে সক্ষম হয়েছে
  • ম্যাজেন্টো ত্রুটি লগ (প্রতিটি ত্রুটির জন্য একটি নতুন ফাইল তৈরি করা হয়)
  • অন্যান্য দুর্বলভাবে কনফিগার করা বা দুর্বল ডিজাইন করা প্রোগ্রাম / স্ক্রিপ্টগুলি যা গুচ্ছ ফাইল তৈরি করে এবং মুছতে ভুলে যায় forget

সমস্যা সমাধান

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

for i in $(find $(pwd) -maxdepth 1 -type d | sort); do echo -e "$(find "$i" | wc -l)\t: $(readlink -f "$i")"; done | sort -nr

আপনি /আপনার ইনোড বরাদ্দটি ব্যবহার না করে অপরাধীকে খুঁজে না পাওয়া পর্যন্ত আপনি চলতি চলমান ডিরেক্টরিটি পরিবর্তন করা চালিয়ে যেতে পারেন ।

ব্যাখ্যা

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

ভার্চুজ্জো ভিজেডএফএসে যেভাবে ফাইল সঞ্চয় করে থাকায়, আইওডগুলি প্রায়শই সীমাবদ্ধ থাকে তাই তারা অন্যান্য ফাইলস্টিমে এক্সট 4 বা এক্সএফএসের চেয়ে বেশি থাকে। হোস্ট হোস্ট এই সমস্ত ফাইলগুলি ট্র্যাক করে এবং হোস্টিং সরবরাহকারীর পক্ষে সুবিধাজনক হবে যে কোনও একক ভিপিএসকে কয়েক মিলিয়ন ইনোড নিতে না দেওয়া। ফলস্বরূপ, হোস্টিং সরবরাহকারী ইনড সীমাটি কমতে সেট করতে পারে, যেমন 1,000,000 ইনোড।

ভার্চুওজো-তে তাদের ইনড বরাদ্দকে নিঃশেষ করে দিয়ে আসা শত শত গ্রাহকের সাথে কয়েক বছর কাজ করার পরে, এই "রহস্যময়" ডিস্ক কোটার সমস্যাগুলি আমাকে আর অবাক করে না।

কারণ: অন্যান্য ভার্চুওজো সীমাবদ্ধতা

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

cat /proc/user_beancounters

সমস্যা সমাধান

যদি failcntকলামটির মান 0 এর চেয়ে বড় হয় বা একটি heldকলামের মান সংশ্লিষ্ট limitমানের সমান হয়, আপনি একটি সীমাতে আঘাত করেছেন।

ওপেনভিজেডের উইকিতে প্রতিটি পরামিতি কী তা আপনি সন্ধান করতে পারেন । একটি প্যারামিটার "প্রাথমিক", "গৌণ" বা "সহায়ক" হতে পারে।

আপনি যদি heldআপনার ভিপিএসে পৌঁছেছে এমন একটি সীমাটির জন্য গণনা হ্রাস করতে না পারেন তবে আপনাকে আরও সহায়তার জন্য আপনার হোস্টিং সরবরাহকারীর সাথে যোগাযোগ করা উচিত ।

কোনটি শিম সর্বাধিক আউট হয়েছিল তার উপর নির্ভর করে এই উত্তরটি অনেক প্রসারিত করা যেতে পারে, কারণ বিভিন্ন সীমা পৌঁছে যাওয়ার কারণে বিভিন্ন লক্ষণ দেখা দেয়।

কারণ: হিট হওয়ার পরে সীমাবদ্ধতা হ্রাস পেয়েছে

সম্পর্কিত /proc/user_beancountersবা df -i, কখনও কখনও, কোনও ভার্চুজ্জো সিস্টেম অ্যাডমিনিস্ট্রেটর মানের limitনীচে প্যারামিটারের হ্রাস করতে পারে held

উদাহরণস্বরূপ, যদি diskinodesপ্যারামিটারটির মূল সীমাটি 1,500,000 ছিল এবং আপনি সীমাটি আঘাত করেন তবে আপনার হোস্টিং সরবরাহকারী কেউ আপনার ইনড সীমাটি 1,000,000 এ সেট করে, আপনি কোনও উদ্ভট আইনের প্রতিবেদনটি দেখতে পাবেন df -iনা।

আপনার শেষে, আপনি 18,446,744,069,620,218,961 এর মতো একটি অযৌক্তিকভাবে বড় সংখ্যা দেখতে পেয়েছেন

আমি এটিকে হোস্টিং সরবরাহকারীর কাছ থেকে দুষ্ট আচরণ বলে বিবেচনা করি, বিশেষত যদি তারা আপনাকে অবহিত করে না, কারণ আপনি যে অস্বাভাবিক মূল্যবোধগুলি দেখেন সেগুলি সুপার ব্যবহারকারীদের জ্ঞানের বিরুদ্ধে যাঁরা ভার্চুওজো / ওপেনভিজেডের সাথে অভিজ্ঞতা অর্জন করেন না, যা বিভ্রান্তিকর দিকে পরিচালিত করে পরামর্শ ( উদাহরণ , অন্য উদাহরণ )।

সমস্যা সমাধান

আপনার হোস্টিং সরবরাহকারীর সাথে যোগাযোগ করুন। আপনি কী খুঁজে পেয়েছেন তা তাদের দেখান এবং আপনার হ'ল মটরশুটি সীমাবদ্ধতার নিচে পেতে তাদের সাথে কাজ করুন।

যদি তারা আপনাকে সহায়তা করতে অস্বীকৃতি জানায় তবে আপনার হোস্টিং সরবরাহকারীটিকে খাঁজ করুন এবং অন্য একটি খুঁজে নিন যা ভার্চুওজো / ওপেনভিজেড ভার্চুয়ালাইজেশন ব্যবহার করে না। কেভিএম ভার্চুয়ালাইজেশন, ভিএমওয়্যার ভার্চুয়ালাইজেশন, জেন ভার্চুয়ালাইজেশন, বা বেয়ার মেটাল সার্ভারগুলি ভার্চুওজো / ওপেনভিজেডের তুলনায় অনেক কম সীমাবদ্ধ হতে পারে।

ব্যাখ্যা

আপনার হোস্টিং সরবরাহকারী অডিট করতে বা একটি সতর্কতার জবাব দিয়ে থাকতে পারে এবং দেখতে পেয়েছে যে আপনার ভিপিএস একটি নির্দিষ্ট সংস্থান বেশি ব্যবহার করছে (প্রায় সবসময় ইনোডস সীমা, যা diskinodesতাদের শেষের প্যারামিটার হয়)।

হোস্টিং সরবরাহকারীর একটি অনভিজ্ঞ ভার্টুওজো অ্যাডমিন বিশ্বাস করেন যে তারা প্রকৃত সংস্থান ব্যবহারের চেয়ে কম কিছুতে সীমা হ্রাস করে সমস্যাটি ক্যাপ করতে পারবেন। ইনোডগুলির ক্ষেত্রে, আপনার প্রকৃত বর্তমান ব্যবহার 1,500,000 এর চেয়ে বেশি হলেও আপনার 1,000,000 এর মতো কম বরাদ্দ থাকতে পারে।

তাদের নিয়ন্ত্রণ প্যানেলে ভার্চুজ্জো অ্যাডমিন আপনার প্রকৃত ব্যবহার এবং নতুন সীমাটি দেখতে পাবে, তবে আপনি ভার্জুজো ভার্চুয়ালাইজ করার পদ্ধতিতে সম্ভবত খুব অযৌক্তিকভাবে উচ্চতর বোগাস নম্বরগুলি দেখতে পাবেন।

অবহেলিত ভার্চুযজো অ্যাডমিন আপনাকে এই পরিবর্তন সম্পর্কে অবহিত করবে না, এজন্যই যদি আপনার সাথে ঘটে তবে আপনার হোস্টিং সরবরাহকারীর সাথে যোগাযোগ করা উচিত।


আমি জানি না যে 18,446,744,069,620,218,961, ওয়ার্ডপ্রেস চালিত কোনও সাইটের জন্য গ্রহণযোগ্য সংখ্যক ইনোড কিনা ...
বেরি সাকালা

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

@ বেরিটসাকালা: আমার কাছে কেবল এটাই ঘটেছে যে আপনার হোস্ট সম্ভবত কিছু খারাপ কাজ করছেন এবং আশা করছেন আপনি খেয়াল করবেন না। আমি আমার উত্তরটি বিশদ সহ শীঘ্রই আপডেট করব।
ডেলটিক

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

বিটিডাব্লু, ইনোডের যোগফলের যোগফল নেই: ডিএফ -i অনুসন্ধান ... কমান্ডের মাধ্যমে ফিরে আসা tje যোগফলের চেয়ে 100 ট্রিলিয়ন গুণ বড়। আপনি কীভাবে এই বিচ্ছিন্নতা সনাক্ত করতে জানবেন?
বেরি সাকাকাল

4

"ডিস্ক কোটা অতিক্রম করে" এর অর্থ এই নয় যে আপনার ডিস্কে কোনও স্থান উপলব্ধ নেই, তবে আপনাকে এত স্থান ব্যবহারের অনুমতি দেওয়া হচ্ছে না।

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

আপনার ব্যবহারকারী এভাবে এবং কীভাবে সীমাবদ্ধ রয়েছে তা দেখার জন্য দৌড়াতে চেষ্টা করুন quotaএবং quota -g(বিকল্পভাবে, আপনি চালাতে পারেন repquota -uএবং repqouta -g) যদি হ্যাঁ, আপনি সেই কোটাগুলি সম্পাদনা করতে edquotaবা quotaoffকমান্ড দিয়ে এগুলি বন্ধ করতে পারেন । আপনার সেটিংসের উপর নির্ভর করে আপনাকে এটির জন্য রুট হিসাবে লগ ইন করতে হতে পারে।

এই সাইটটিতে কোটা দিয়ে কীভাবে কাজ করা যায় তার কয়েকটি উদাহরণ রয়েছে এবং দরকারী কমান্ডের ম্যানুয়াল পৃষ্ঠাগুলির লিঙ্কও রয়েছে।

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