Linux, yerel bir web sunucusu ve PostgreSQL'in kurulu olduğu bir grup tüketici terminalimiz var. Sorunlu makinelerin saha raporlarını alıyoruz ve soruşturma üzerine bir elektrik kesintisi varmış gibi görünüyor ve şimdi diskte bir sorun var.
Sorunun sadece veritabanı bozulması veya son değişikliklerin karıştırılması ile ilgili olacağını varsaymıştım, ancak başka garip raporlar var.
- yanlış izinlere sahip dosyalar
- dizin haline gelen dosyalar (örneğin,
index.php
artık bir dizin) - dosya haline gelen dizinler
- şifrelenmiş veriler içeren dosyalar
Veritabanının bozulmasıyla ilgili sorunlar var, ancak bu beklediğim bir şey. Daha fazla şaşırdığım şey daha temel dosya sistemi sorunlarıdır - örneğin, izinler veya bir dosyayı dizine değiştirmek. Sorunlar son zamanlarda değişmeyen dosyalarda da meydana geliyor (örneğin, yazılım kodu ve yapılandırması).
SSD bozulması için bu "normal" midir? Başlangıçta bazı ucuz SSD'lerde olduğunu düşündük, ancak bunu bir markada (tüketici sınıfı) yapıyoruz.
FWIW, kirli önyüklemede autofsck yapmıyoruz (neden bilmiyorum- yeniyim). Bazı yerlerde UPS'ler kurulur, ancak bazen düzgün yapılmaz, vb. Bu düzeltilmelidir, ancak o zaman bile insanlar terminali temiz bir şekilde kapatabilir, vb. Dosya sistemi ext4'tür.
Soru: Sistem seviyesinde sorunu hafifletmek için yapabileceğimiz bir şey var mı?
Donanım önbelleğini kapatmaya veya sürücüyü senkronizasyon modunda monte etmeye ilişkin bazı makaleler buldum, ancak bu durumda yardımcı olup olmayacağından emin değilim (meta veri bozulması ve yakın zamanda yapılmayan değişiklikler). Ayrıca, dosya sistemini salt okunur modda bağlama hakkında bir başvuru da okudum. Bunu yapamayız çünkü yazmamız gerekiyor, ancak yardımcı olursa kod ve yapılandırma için salt okunur bir bölüm oluşturabiliriz.
Bu bir sürücü örneğidir 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
. Bu büyük bir sorundur. Yazma önbelleği hiçbir zaman veritabanına sahip sabit sürücülerde etkinleştirilmemelidir. Bazı satıcılar, örneğin HP, bu nedenle sabit disk yazma önbelleğinin etkinleştirilmesini engeller.