हमारे पास उपभोक्ता टर्मिनलों का एक समूह है जिसमें लिनक्स, एक स्थानीय वेब सर्वर और पोस्टग्रेक्यूएल स्थापित है। हम समस्याओं के साथ मशीनों की फील्ड रिपोर्ट प्राप्त कर रहे हैं और जांच के दौरान ऐसा लगता है जैसे बिजली की कमी थी और अब डिस्क में कुछ गड़बड़ है।
मैंने मान लिया था कि समस्या सिर्फ डेटाबेस के ख़राब होने, या हाल के बदलावों की फाइलों के साथ गड़बड़ हो जाने की होगी, लेकिन अन्य विषम रिपोर्टें भी हैं।
- गलत अनुमतियों के साथ फ़ाइलें
- फाइलें जो निर्देशिका बन गई हैं (उदाहरण के लिए,
index.php
अब एक निर्देशिका है) - निर्देशिका जो फ़ाइलें बन गई हैं
- तले हुए डेटा के साथ फ़ाइलें
डेटाबेस के दूषित होने की समस्याएँ हैं, लेकिन यह ऐसी चीज है जिसकी मैं उम्मीद कर सकता था। मैं जिस चीज को लेकर अधिक आश्चर्यचकित हूं, वह अधिक बुनियादी फाइल सिस्टम समस्याएं हैं - उदाहरण के लिए, किसी फाइल को डायरेक्टरी में बदलना या बदलना। समस्याएं उन फ़ाइलों में भी हो रही हैं जो हाल ही में नहीं बदले (उदाहरण के लिए, सॉफ़्टवेयर कोड और कॉन्फ़िगरेशन)।
क्या यह "सामान्य" एसएसडी भ्रष्टाचार के लिए है? मूल रूप से हमें लगा कि यह कुछ सस्ते एसएसडी पर हो रहा है, लेकिन हमारे पास नाम-ब्रांड (उपभोक्ता श्रेणी) पर ऐसा हो रहा है।
एफडब्ल्यूआईडब्ल्यू, हम अशुद्ध बूट पर ऑटोफ़स्क नहीं कर रहे हैं (पता नहीं क्यों- मैं नया हूं)। हमारे पास कुछ स्थानों पर यूपीएस स्थापित हैं, लेकिन कभी-कभी यह ठीक से नहीं किया जाता है, आदि। इसे ठीक किया जाना चाहिए, लेकिन फिर भी लोग टर्मिनल को अशुद्ध रूप से पावर डाउन कर सकते हैं, आदि - इसलिए यह मूर्खतापूर्ण सबूत नहीं है। फाइलसिस्टम एक्स 4 है।
प्रश्न: सिस्टम-स्तर पर समस्या को कम करने के लिए हम कुछ भी कर सकते हैं?
मुझे हार्डवेयर कैश को बंद करने या सिंक मोड में ड्राइव को बढ़ाने के संदर्भ में कुछ लेख मिले, लेकिन मुझे यकीन नहीं है कि इस मामले में मदद मिलेगी (मेटाडेटा भ्रष्टाचार और गैर-हालिया परिवर्तन)। मैंने फाइल-सिस्टम को रीड-ओनली मोड में माउंट करने के संदर्भ को भी पढ़ा। हम ऐसा नहीं कर सकते क्योंकि हमें लिखने की ज़रूरत है, लेकिन हम कोड और कॉन्फ़िगरेशन के लिए केवल-पढ़ने के लिए विभाजन बना सकते हैं यदि यह मदद करेगा।
यह एक ड्राइव का एक उदाहरण है sudo hdparm -i /dev/sda1
:
Model=KINGSTON RBU-SMS151S364GG, FwRev=S9FM02.5, SerialNo=<deleted>
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=125045424
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-3,4,5,6,7
WriteCache=enabled
। यह एक बड़ी समस्या है। लिखो कैश कभी भी हार्ड ड्राइव पर सक्षम नहीं होना चाहिए जिसमें एक डेटाबेस हो। कुछ विक्रेताओं, उदाहरण के लिए, एचपी वास्तव में हार्ड ड्राइव को इस कारण से कैशिंग लिखने में सक्षम करने से रोकते हैं।