सेट अप
मैं काफी समय से एक प्रोग्रामर हूं, लेकिन मैं अभी भी गहरे, आंतरिक सामान पर थोड़ा सा फजी हूं।
अभी। मुझे अच्छी तरह पता है कि यह एक अच्छा विचार नहीं है:
- मार -9 एक प्रक्रिया (खराब)
- अनायास किसी चल रहे कंप्यूटर या सर्वर पर पावर प्लग को खींचना (बदतर)
हालांकि, कभी-कभी आपको सिर्फ सादा करना पड़ता है। कभी-कभी एक प्रक्रिया सिर्फ आपके द्वारा किए गए कार्यों पर कोई प्रतिक्रिया नहीं देगी, और कभी-कभी एक कंप्यूटर सिर्फ जवाब नहीं देगा, चाहे आप कुछ भी करें।
मान लेते हैं कि Apache 2, MySQL 5, PHP 5 और Python 2.6.5 को mod_wsgi के माध्यम से चलाने वाला सिस्टम।
नोट: मुझे यहाँ मैक ओएस एक्स के बारे में सबसे अधिक दिलचस्पी है, लेकिन एक जवाब जो किसी भी यूनिक्स प्रणाली से संबंधित है, मुझे मदद करेगा।
मेरी चिंता
हर बार मुझे इनमें से किसी एक को करना पड़ता है, विशेष रूप से दूसरे को, मैं बहुत समय से चिंतित हूं कि कुछ टूट गया है। कुछ फ़ाइल कहीं भ्रष्ट हो सकती है - कौन जानता है कि कौन सी फ़ाइल है? कंप्यूटर पर 1,000,000 से अधिक फाइलें हैं।
मैं अक्सर ओएस एक्स का उपयोग कर रहा हूं, इसलिए मैं डिस्क उपयोगिता के माध्यम से "वेरिफाई डिस्क" ऑपरेशन चलाऊंगा। यह कोई समस्या नहीं रिपोर्ट करेगा, लेकिन मैं अभी भी इस बारे में चिंतित हूं।
क्या होगा अगर कुछ कॉन्फ़िगरेशन फ़ाइल कहीं खराब हो गई। या इससे भी बदतर, क्या होगा अगर एक बाइनरी फ़ाइल कहीं भ्रष्ट है। या कहीं एक स्क्रिप्ट फ़ाइल अब भ्रष्ट है। क्या होगा अगर कुछ हार्डवेयर क्षतिग्रस्त है?
क्या होगा अगर मैं अगले महीने तक इसके बारे में पता नहीं लगाता हूं, एक महत्वपूर्ण परिदृश्य में, जब भ्रष्टाचार या क्षति एक तबाही का कारण बनती है?
या, क्या होगा यदि मूल्यवान डेटा पहले से ही खो गया है?
मेरी उम्मीद
मेरी आशा है कि ये चिंताएँ और चिंताएँ निराधार हैं। आखिरकार, पहले कई बार ऐसा करने के बाद, वास्तव में कुछ भी बुरा नहीं हुआ है। सबसे बुरी बात यह है कि मुझे कुछ MySQL तालिकाओं को सुधारना पड़ा है, लेकिन मुझे कोई डेटा नहीं मिला है।
लेकिन, अगर मेरी चिंताओं को निराधार नहीं किया गया है, और वास्तविक क्षति 1 या 2 की स्थिति में हो सकती है, तो मेरी आशा है कि इसका पता लगाने और इसके खिलाफ रोकने का एक तरीका है।
मेरे सवाल)
क्या ऐसा हो सकता है क्योंकि आधुनिक ऑपरेटिंग सिस्टम यह सुनिश्चित करने के लिए डिज़ाइन किए गए हैं कि इन परिदृश्यों में कुछ भी खो नहीं जाए? क्या ऐसा हो सकता है क्योंकि आधुनिक सॉफ़्टवेयर को यह सुनिश्चित करने के लिए डिज़ाइन किया गया है कि कुछ भी नहीं खोया? आधुनिक हार्डवेयर डिज़ाइन के बारे में क्या? जब आप पावर प्लग खींचते हैं तो क्या उपाय होते हैं?
मेरा सवाल है, इन दोनों परिदृश्यों के लिए, वास्तव में क्या गलत हो सकता है, और इसे ठीक करने के लिए क्या कदम उठाए जाने चाहिए?
मैं इस धारणा के तहत हूं कि एक चीज जो गलत हो सकती है, कुछ प्रोग्रामों में डिस्क में अपना डेटा फ्लश नहीं किया जा सकता है, इसलिए कोई भी हालिया डेटा जिसे डिस्क पर लिखा जाना चाहिए था (कहते हैं, पावर खींचने से कुछ सेकंड पहले ) खो सकता है। लेकिन उससे आगे क्या? और क्या 5-सेकंड के डेटा हानि के इस मुद्दे को एक प्रणाली में पेंच किया जा सकता है?
मेरी हार्ड ड्राइव पर फाइलों के विशाल जंगल में कहीं छिपी हुई यादृच्छिक फाइलों के भ्रष्टाचार के बारे में क्या?
हार्डवेयर क्षति के बारे में क्या?
मुझे सबसे ज्यादा क्या मदद मिलेगी
आंतरिक रूप से क्या होता है इसके बारे में विस्तृत विवरण जब आप या तो एक प्रक्रिया को मारते हैं या पूरे सिस्टम पर शक्ति खींचते हैं। (यह तुरंत लगता है, लेकिन क्या कोई मेरे लिए इसे धीमा कर सकता है?)
उन सभी चीजों की व्याख्या जो इन परिदृश्यों में गलत हो सकती हैं, साथ ही (निश्चित रूप से) संभावनाएं (यानी, यह बहुत संभावना नहीं है, लेकिन यह संभावना है) ...
जब ये परिदृश्य होते हैं, तो क्षति या भ्रष्टाचार को रोकने के लिए आधुनिक हार्डवेयर, ऑपरेटिंग सिस्टम और सॉफ़्टवेयर में जगह के उपायों का वर्णन। (मुझे आराम देने के लिए)
किल -9 या पॉवर पुल के बाद क्या करना है, इसके लिए निर्देश "डिस्क को सत्यापित करना" से परे, यह सुनिश्चित करने के लिए कि ड्राइव पर कहीं भी कुछ भी भ्रष्ट या क्षतिग्रस्त नहीं है।
कंप्यूटर सेटअप को मजबूत करने के लिए जो उपाय किए जा सकते हैं ताकि अगर किसी चीज को मारना पड़े या शक्ति को खींचना पड़े, तो किसी भी संभावित नुकसान को कम किया जा सके।
बाइनरी फ़ाइलों के बारे में कुछ जानकारी - क्या यह सच नहीं है कि अपाचे बाइनरी फ़ाइल या कुछ लाइब्रेरी में एक यादृच्छिक बाइट या बीच में दो भ्रष्ट हो सकते हैं, जो बाहर नहीं आएंगे और बाद में समस्या पैदा करेंगे? मैं खुद को कैसे आश्वस्त कर सकता हूं कि पावर पुल या मारने के परिणामस्वरूप ऐसा नहीं हुआ?
बहुत बहुत धन्यवाद!