सवाल CentOS को गर्व से पुन: प्रारंभ करने का सबसे अच्छा तरीका?


मैंने हमेशा आदेश का उपयोग किया:

shutdown -r now

हालांकि, कभी-कभी MySQL मुद्दों का कारण बनता है।

CentOS को पुनरारंभ करने का सबसे शानदार तरीका क्या है?

मैंने देखा है:

reboot

तथा

halt

मैं धीरे-धीरे मशीन को रीबूट कैसे कर सकता हूं?


64
2017-08-15 01:48


मूल


reboot अनिवार्य रूप से एक उपनाम है shutdown -r ...तो हाँ। - Nathan C
क्या मेरी पोस्ट आपके प्रश्न का उत्तर देती है, या क्या आपको कुछ और जानने की ज़रूरत है? - Joffrey
अभी तक टिप्पणी नहीं कर सकता, लेकिन मैं यहां रिबूट करने के बारे में एक चेतावनी देना चाहता था। अगर उदाहरण अमेज़ॅन ईसी 2 पर है, तो रीबूट कर रहा है- अब यह उदाहरण ईंट करेगा, इसलिए ऐसा कभी नहीं करें। इसके बजाए, अगर आपको शट डाउन या रीबूट करना है, तो इसे अमेज़ॅन के ऑनलाइन इंटरफ़ेस के माध्यम से करें, शेल नहीं। यदि आप अपना उदाहरण ईंट करते हैं, तो आप इसे रोक सकते हैं, वॉल्यूम को अलग कर सकते हैं, एक अलग इंस्टेंस बना सकते हैं, और वॉल्यूम को संलग्न कर सकते हैं, नए इंस्टेंस के साथ आने वाली पहली वॉल्यूम को अलग किए बिना। फिर आपको नए इंस्टेंस में एसएसएच करना होगा, पुरानी वॉल्यूम को माउंट करना होगा, और अपनी फाइलें इसे बंद कर देंगी। - kloddant
वास्तव में, आप भागना चाहते हैं sync: sync; दौड़ने से पहले shutdown -r इसलिए सभी फाइल I / O सिंक्रनाइज़ हो जाएंगी। मुझे संदेह है कि इससे समस्या भी खत्म हो जाएगी mysql - user3629249


जवाब:


किसी भी आदेश से किसी और चीज का उपयोग करके अपने सर्वर को पुनरारंभ करने का कोई बेहतर तरीका नहीं है।

  • बंद करना आपके सिस्टम को रोकने का सबसे आम तरीका है।
  • रिबूट एक रैपर राउंड शटडाउन है जो कुछ हार्डडिस्क रखरखाव करता है (सिंक्रनाइज़ेशन और / या स्टैंडबाय मोड में डालने और वास्तव में प्रासंगिक नहीं)।
  • के नए संस्करण reboot (> 2.74) शुरू होगा shutdown यदि रनलेवल 0 या 6 में नहीं है।
  • अधिकांश init स्क्रिप्ट कॉल करें पड़ाव लॉग इन करने के लिए utmp

आपके द्वारा उपयोग किए जा रहे आदेश के बावजूद आधुनिक वितरण में सभी कार्य शामिल होंगे। असल में वे सभी आपके शटडाउन रन-टाइम शुरू करते हैं SysV (सेंटोस <7) या systemd (CentOS> = 7) स्क्रिप्ट्स (मैं उन्हें आसानी से पढ़ने के लिए इनिट स्क्रिप्ट्स कॉल करूंगा)।

इनिट स्क्रिप्ट का उपयोग करके नीचे हटना आमतौर पर नीचे दी गई सभी सेवाओं को चरणबद्ध रूप से रोकें रनलेवल 'एस'। व्यक्तिगत init स्क्रिप्ट्स में टाइमआउट हो सकता है, जैसे CentOS में MySQL init स्क्रिप्ट। जब स्टॉप तर्क दिया जाता है और उचित समय में डिमन को बंद नहीं किया जाएगा, तो स्क्रिप्ट रुक जाएगी और विफलता देने से बाहर निकल जाएगी। शटडाउन प्रक्रिया जारी रहेगी जैसे कि कुछ भी गलत नहीं था, केवल थोड़ी देर लग रहा था और शायद एक चेतावनी मुद्रित करेगा। अंत में, जब सभी init स्क्रिप्ट निष्पादित की जाती हैं, अपरिहार्य होगा: अभी भी चल रही सभी प्रक्रियाएं एक प्राप्त होंगी SIGTERM  संकेत और, कुछ सेकंड (2 या 5) के बाद, ए SIGKILL। इससे पहले आराम से साफ हो जाएगा ACPI वास्तव में आपके सिस्टम को रीबूट या बंद करने के लिए कॉल किया जाता है।

एक अपवाद का उपयोग कर रहा है reboot के साथ आदेश -f विकल्प, यह init स्क्रिप्ट निष्पादित छोड़ देगा और सिस्टम को सीधे रीबूट करेगा।

आप अपनी चिंताओं के मूल कारण को ठीक करने से बेहतर होंगे: MySQL ठीक से बंद नहीं हो रहा है।

प्रायः यह काम के भारी भार के कारण होता है जिसे डिमन को सुरक्षित रूप से बाहर निकालने से पहले किया जाना चाहिए। मेरे पास एक बार MySQL उदाहरण था जिसमें +300.000 टेबल थे जो बाहर निकलने के लिए एक घंटे से अधिक समय लेते थे। बड़े बफर और स्पैस I / O उपलब्धता का उपयोग करके सिस्टम के साथ समान समस्याएं मिल सकती हैं।


76
2017-08-23 21:27



+1 यह सही है, realz के लिए !! - ewwhite
उह, नफरत के जवाब जो गहराई से हैं और फिर कभी भी "यह रास्ता नहीं है" बताते हैं। तो क्या यह "शट डाउन-आर" है या उचित रीबूट लाइन क्या है? - jterm
@jterm, उह, उन उत्तरों से घृणा करते हैं जो उथले के रास्ते हैं और केवल "मैं वही तरीका हूं" जो मुझे पूछ रहा है और संभावित समाधानों को समझने में मुझे शिक्षित किए बिना। - Joffrey
@ जोफरी डिट्टो। प्रश्न का खराब जवाब देने के कई तरीके हैं। - jterm
यह वास्तव में एक बुरा जवाब है! - Rauli Rajande


रूट के रूप में कमांड का उपयोग करके Centos 6.x का एक सुंदर शट डाउन किया जाना चाहिए:

shutdown -h now

यह सर्वर को बंद करने से पहले सभी चल रही सेवाओं को रोकने का प्रयास करेगा।

इस कमांड का उपयोग करने से मेरा एसक्यूएल सॉकेट समस्याएं भी रोकती हैं।

इसी तरह, एक सुंदर रीबूट के लिए:

reboot -h now

आप यहां एक समान प्रश्न के बारे में पिछला उत्तर पढ़ सकते हैं:

https://stackoverflow.com/questions/20407292/centos-another-mysql-daemon-already-running-with-the-same-unix-socket


24
2017-09-04 21:26



मुझे लगता है तुम्हारा मतलब shutdown -r now, या शायद बस reboot। reboot आदेश में कोई नहीं है -h विकल्प। - Michael Hampton♦
हाय माइकल, Centos 6.x वास्तव में रिबूट करने से पहले सेवाओं को रोकने का विकल्प है। "शट डाउन-एच अब" एक सुंदर शटडाउन है, और "रीबूट -एच अब" एक सुंदर रीबूट है। इसे अपने Centos सर्वर पर आज़माएं ... - GeckoSEO
ओह? और यह क्या करता है -h विकल्प करते हैं? यह मैन पेज में नहीं है। - Michael Hampton♦
वास्तव में? क्या आपके पास इसके लिए कुछ दस्तावेज हैं? क्योंकि, सबसे पहले, यही है reboot कर देता है के बिना  -h। दूसरा, यह उस तरह से दस्तावेज नहीं है, जहां तक ​​मैं कह सकता हूं। - Michael Hampton♦
स्पष्टीकरण के लिए, जब बिना शट डाउन का उपयोग करते हैं, तो हमें mySQL के लिए सॉकेट के साथ लगातार समस्याएं आ रही थीं। उपयोग शुरू करने के बाद से- समस्या कभी भी दोबारा शुरू नहीं हुई है। - GeckoSEO


अंतिम उपयोगकर्ताओं और ग्राहकों को रिमोट निर्देश देते समय, मैं उन्हें उपयोग करने का निर्देश देता हूं poweroff सिस्टम बंद करने और बंद करने के लिए।

अगर वे एक गर्म रिबूट चाहते हैं, तो मेरा सुझाव है कि वे इसका उपयोग करें reboot आदेश।

मुझे लगता है कि कोई यह कह सकता है जारी Ctrl-Alt-Delete यह भी पूरा करता है;)


2
2017-08-15 02:04



मैं इस जवाब से सहमत नहीं हूं। रीबूट और शट डाउन (Ctrl-Alt-Delete) बलवान है और कुछ वातावरण में, जैसे कि MySQL चला रहे हैं, एक सॉकेट "लॉक" का कारण बनता है, जिसके बाद एक नया सॉकेट बनाने की आवश्यकता होती है, या एक नया पुन: प्रयास करने से पहले मौजूदा सॉकेट को हटाने / स्थानांतरित करने की आवश्यकता होती है एक। - GeckoSEO
@GeckoSEO यह एक महत्वपूर्ण सुझाव था जिसका जिक्र है Ctrl-Alt-Delete को सक्षम करने की अनुमति देने का खतरा लिनक्स सर्वर पर। - ewwhite
दूसरी ओर मेरी प्रतिक्रिया काल्पनिक नहीं था, मैं बस उन लोगों के उत्तर को स्पष्ट करने का प्रयास कर रहा था जो इस प्रश्न को हल करने की कोशिश कर रहे हैं। कृपया मेरा पहला जवाब देखें, मुझे उम्मीद है कि यह मदद करता है। - GeckoSEO


मैं 'init 6' कमांड का उपयोग करता हूं।

init 6 init प्रक्रियाओं में डाले गए सभी उत्पन्न प्रक्रियाओं / डिमों को बंद करने के लिए इनिट प्रक्रिया को बताता है (अंत में क्रमबद्ध क्रम में) और आखिरकार शटडाउन -आर को मशीन को रीबूट करने के लिए कमांड का आह्वान करता है।

अधिक जानकारी मिल सकती है इस सवाल पर


2
2017-08-26 14:35





मुझे एहसास है कि आपको यह जवाब पसंद नहीं हो सकता है, लेकिन इस जवाब में कुछ अंतर्दृष्टि शामिल है, जिनमें से कोई भी अन्य विचार नहीं करता है। । । तुम लिखो:

मैंने हमेशा आदेश का उपयोग किया:

शट डाउन -आर अब

हालांकि, कभी-कभी MySQL मुद्दों का कारण बनता है।

यहां समस्या शटडाउन की आपकी विधि नहीं है, यह सॉफ़्टवेयर का टुकड़ा है जो शट डाउन को ठीक से संभाल नहीं सकता है; माई एसक्यूएल।

एकमात्र तरीका आप वास्तव में इसे संबोधित कर सकते हैं MySQL (PostgreSql एक महान प्रतिस्थापन है) को प्रतिस्थापित करें या अपनी खुद की शटडाउन स्क्रिप्ट लिखें जो पहले MySQL को एक बच्चे की तरह कोड करता है, और जब इसे बंद करने में खुशी होती है तो सिस्टम को बंद कर देता है।

... एक ऐसे व्यक्ति के रूप में जिसने 26 से अधिक वर्षों तक डेटाबेस सिस्टम में विशेषज्ञता प्राप्त की है, मैं आपको बता सकता हूं कि यह केवल हाल ही में हुआ है कि माइस्क्ल ने डेटाबेस सिस्टम के सबसे महत्वपूर्ण पहलुओं पर योग्यता के संबंध में अपने कार्य को एक साथ शुरू करना शुरू कर दिया है डेटा सुरक्षा / अखंडता के लिए। पूर्व में, उन्होंने इन पहलुओं पर कम ध्यान दिया है और प्रदर्शन पर अधिक ध्यान दिया है। लेकिन यदि आप डेटा खो देते हैं तो क्या अच्छा प्रदर्शन अच्छा है? कुछ अनुप्रयोगों पर, कहें, नेटफ्लिक्स स्ट्रीमिंग वीडियो रिकॉर्डिंग आप जिस बिंदु पर देख रहे हैं, पूर्ण निष्ठा विशेष रूप से महत्वपूर्ण नहीं हो सकती है - शायद, यहां तक ​​कि, आपके ग्राहक भी विफलता के बाद वीडियो का बैक अप लेना पसंद करते हैं। लेकिन एक बैंकिंग प्रणाली में, यह महाकाव्य अनुपात का आपदा है। केवल डेटा स्वामी ही जान सकते हैं कि उनके लिए क्या सही है।


0
2018-04-16 00:31



MySQL को केवल इसलिए बदलें क्योंकि समस्याएं सिस्टम को पुनरारंभ या बंद कर देती हैं? और समाधान का अंतिम भाग प्रश्न बनाने वाले व्यक्ति की समस्या को हल करने के लिए कुछ भी योगदान नहीं देता है - ftrujillo