मेरा मेरा डिवाइस पर एक TinyCore (3.6) लिनक्स वितरण है, जो डिस्क-ऑन-मॉड्यूल या कॉम्पैक्ट फ्लैश स्टोरेज का उपयोग करता है।
फाइलसिस्टम एक्स 2 है।
मेरे पास इस उपकरण पर एक LAMP स्टैक है और मैं 400 मीटर (myisam) युक्त MySQL डेटाबेस के साथ खेल रहा हूं। लिखें ऑपरेशन हर 15 मिनट में व्यवस्थित रूप से होते हैं।
ये टेबल मेरे वेब एप्लिकेशन द्वारा तैयार किए गए हैं, मेरी सेटअप जरूरतों के अनुसार।
अब, ऐसा होता है कि बिजली की कमी के कारण यह डिवाइस अचानक बंद हो सकता है।
क्या होता है कि, अगर MySQL कुछ लिखने आपरेशन प्रदर्शन कर रहा है (यानी है update
, delete
, insert
) डेटा के साथ-साथ सूचकांक फ़ाइलों में से कुछ दूषित हो सकता है।
यह सुनिश्चित करने के लिए कोई बड़ी बात नहीं है, लेकिन repair table
ऑपरेशन करना इतना बुरा नहीं है; तालिकाओं की मरम्मत की जाती है और अनुप्रयोग जारी रह सकते हैं, भले ही दुर्भाग्य से कुछ डेटा खो गया हो (जो मेरे मामले में स्वीकार्य हो सकता है)।
समस्या यह है कि, अक्सर, जब एक अचानक शटडाउन होता है, तो कई mysql टेबल फाइलें (FRM या MYI या MYD) "इनपुट / आउटपुट त्रुटि" स्थिति में होती हैं और मेरा MySQL फ्रंट-एंड "स्टोरेज इंजन त्रुटि 5" (I /) की रिपोर्ट करता है। ओ त्रुटि) उन तालिकाओं के लिए। डेटाबेस का उपयोग करने वाले एप्लिकेशन स्पष्ट रूप से सही ढंग से चलने में असमर्थ हैं।
उन लोगों की तरह घटनाओं को रोकने के लिए (जो मुझे लगता है कि कुछ हद तक अपरिहार्य हैं) मैं कुछ के बारे में सही ढंग से सोचने के लिए और संभवतः स्वचालित रूप से फ़ाइल I / O त्रुटि स्थितियों से उबरने के लिए ऊपर वर्णित परिदृश्यों से उबरना चाहूंगा।
कोई विचार?
संपादित करें: दुर्भाग्य से मैं ext3 पर स्विच नहीं कर सकता, मुझे ext2 के साथ रहना चाहिए, इस तथ्य के कारण भी कि ext3 ठोस राज्य मेमोरी राइट साइकल को भारी रूप से प्रभावित करेगा।