Kami memiliki sekelompok terminal konsumen yang menginstal Linux, server web lokal, dan PostgreSQL. Kami mendapatkan laporan lapangan tentang mesin yang bermasalah dan setelah diselidiki sepertinya ada pemadaman listrik dan sekarang ada yang salah dengan disk.
Saya berasumsi masalahnya hanya dengan database menjadi rusak, atau file dengan perubahan baru-baru ini diacak, tetapi ada laporan aneh lainnya.
- file dengan izin yang salah
- file yang telah menjadi direktori (misalnya,
index.php
sekarang menjadi direktori) - direktori yang telah menjadi file
- file dengan data acak
Ada masalah dengan database menjadi rusak, tapi itu sesuatu yang bisa saya harapkan. Yang lebih mengejutkan saya adalah masalah sistem file yang lebih mendasar - misalnya, izin atau mengubah file menjadi direktori. Masalahnya juga terjadi pada file yang tidak berubah baru-baru ini (misalnya, kode perangkat lunak dan konfigurasi).
Apakah ini "normal" untuk korupsi SSD? Awalnya kami pikir itu terjadi pada beberapa SSD murah, tetapi kami memiliki ini terjadi pada nama-merek (tingkat konsumen.)
FWIW, kami tidak melakukan autofsck pada boot yang tidak bersih (tidak tahu kenapa- saya baru). Kami memiliki UPS yang dipasang di beberapa lokasi, tetapi kadang-kadang itu tidak dilakukan dengan benar, dll. Ini harus diperbaiki, tetapi bahkan orang-orang dapat mematikan terminal secara tidak bersih, dll. - jadi itu bukan bukti yang bodoh. Sistem file adalah ext4.
Pertanyaannya: adakah yang bisa kita lakukan untuk mengurangi masalah di tingkat sistem?
Saya menemukan beberapa artikel yang merujuk pada mematikan cache perangkat keras atau memasang drive dalam mode sinkronisasi, tapi saya tidak yakin apakah itu akan membantu dalam kasus ini (korupsi metadata dan perubahan yang tidak baru-baru ini). Saya juga membaca referensi tentang pemasangan sistem file dalam mode read-only. Kami tidak dapat melakukan itu karena kami perlu menulis, tetapi kami dapat membuat partisi read-only untuk kode dan konfigurasi jika itu akan membantu.
Ini adalah contoh drive 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
. Ini masalah besar. Cache tulis tidak boleh diaktifkan pada hard drive yang memiliki database. Beberapa vendor, HP misalnya, sebenarnya mencegah pengaktifan caching penulisan hard drive karena alasan ini.