Ubuntu 12.04 पर sysctl में मान सेट करते समय अनुमति देने से इनकार कर दिया गया


4

मैं अपने Ubuntu 12.04 VPS (OpenVZ) को रिबूट करने के लिए कॉन्फ़िगर करने का प्रयास कर रहा हूं जब यह मेमोरी से बाहर चला जाता है। ऐसा करने के लिए मैंने अपनी "/etc/sysctl.conf" फ़ाइल में निम्न पंक्तियाँ जोड़ी हैं।

vm.panic_on_oom = 1
kernel.panic = 14

लेकिन जब मैं "sudo sysctl -p" कमांड का उपयोग करके कॉन्फ़िगरेशन चलाता हूं तो मुझे निम्नलिखित त्रुटियां मिलती हैं।

error: permission denied on key 'vm.panic_on_oom'
error: permission denied on key 'kernel.panic'

मैंने उसी कमांड को रूट के रूप में चलाने की कोशिश की है और उसी त्रुटि को पाया है।

क्या कोई कृपया बता सकता है कि मैं क्या गलत कर रहा हूं? या मैं इसे कैसे ठीक कर सकता हूं?

अग्रिम में धन्यवाद।

जवाबों:


6

OpenVZ एक वर्चुअल मशीन नहीं है, यह एक कंटेनर की तरह है - दूसरे शब्दों में, मेजबान और सभी "VPS" दोनों के लिए केवल एक ही कर्नेल चल रहा है। इसका मतलब है कि एक कर्नेल आतंक पूरे सिस्टम को नीचे लाएगा, जिसमें प्रत्येक VPS होस्ट किया गया है, और होस्ट और सभी मेहमानों के बीच कई कर्नेल सेटिंग्स साझा की गई हैं।

इसलिए आपको उन सेटिंग्स को संशोधित करने की अनुमति नहीं है क्योंकि ऐसा करने का कोई मतलब नहीं है।


धन्यवाद। मैं अब समझता हूँ। लेकिन क्या OOM की स्थिति होने पर मेरे अपने VPS को रीबूट करने का कोई तरीका है?
जे भट्ट

@ शुद्धता: इसका मतलब यह है कि मुझे किसी भी सेटिंग को संशोधित नहीं करना चाहिए sysctl.conf। मैं विशेष रूप से स्रोत पैकेट राउटिंग को अक्षम करने के लिए सेटिंग्स के इस संदर्भ को पूछ रहा हूं, ICMP पुनर्निर्देशन संदेशों को अक्षम कर रहा है, और ऐसी अन्य सेटिंग्स (इस सुरक्षा आलेख के बाद thefanclub.co.za/how-to/… )? अधिक विशिष्ट प्रश्न यहाँ serverfault.com/q/581798/64707
रजत गुप्ता

1
@ user01: आप कोशिश कर सकते हैं; अगर OpenVZ प्रति कंटेनर एक निश्चित सेटिंग को बदलने का समर्थन नहीं करता है, तो यह सिर्फ "अनुमति अस्वीकृत" लौटाएगा।
ग्रिटिटी

हाँ, मैंने कोशिश की और यह Permission deniedकुछ चाबियों के लिए लौट आया । तो क्या मुझे अनुमत मूल्यों को सेट करना चाहिए (उन लोगों को छोड़कर जिनकी अनुमति नहीं है)। मेरा मतलब है, क्या वे वास्तव में प्रभावी होंगे क्योंकि यह एक साझा कर्नेल है, इसलिए मेरी सेटिंग को साझा कर्नेल पर कैसे लागू किया जाए?
रजत गुप्ता

1
@ user01: वे सभी कर्नेल सेटिंग्स हैं, लेकिन कर्नेल को "नेमस्पेस" में कुछ चीजें डालने के लिए समर्थन है। (ओपनवीजेड कंटेनर मूल रूप से सिर्फ / नाम, यूआईडी, नेटवर्क डिवाइस आदि के लिए कई नामस्थान जोड़ते हैं। मेनलाइन कर्नेल में पहले से ही नामस्थान समर्थन है, जिसका उपयोग एलएक्ससी और डॉकर द्वारा किया जाता है, हालांकि यह अभी तक कार्यक्षमता के ओपनवीजेड स्तर तक नहीं पहुंचा है।) कंटेनर का एक अलग "रूट" उपयोगकर्ता है, और वे सभी होस्ट के "रूट" उपयोगकर्ता से अलग हैं, सभी के बावजूद UID 0. इसी तरह, नेटवर्क डिवाइस - और कुछ नेटवर्क पैरामीटर - भी नाम स्थान पर हैं।
१५:१४
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.