Chúng tôi có một nhóm các thiết bị đầu cuối tiêu dùng có Linux, máy chủ web cục bộ và PostgreSQL được cài đặt. Chúng tôi đang nhận được báo cáo hiện trường về các máy có vấn đề và sau khi điều tra có vẻ như đã bị mất điện và bây giờ có lỗi với đĩa.
Tôi đã giả định rằng vấn đề sẽ xảy ra với cơ sở dữ liệu bị hỏng hoặc các tệp có thay đổi gần đây bị xáo trộn, nhưng có các báo cáo kỳ lạ khác.
- tập tin có quyền sai
- các tệp đã trở thành thư mục (ví dụ:
index.php
bây giờ là một thư mục) - thư mục đã trở thành tập tin
- các tệp có dữ liệu bị xáo trộn
Có vấn đề với cơ sở dữ liệu bị hỏng, nhưng đó là điều tôi có thể mong đợi. Điều tôi ngạc nhiên hơn là các vấn đề hệ thống tệp cơ bản hơn - ví dụ: quyền hoặc thay đổi tệp vào thư mục. Các vấn đề cũng xảy ra trong các tệp gần đây không thay đổi (ví dụ: mã và cấu hình phần mềm).
Đây có phải là "bình thường" cho tham nhũng SSD? Ban đầu chúng tôi nghĩ rằng nó đã xảy ra trên một số ổ SSD giá rẻ, nhưng chúng tôi có điều này xảy ra trên một nhãn hiệu tên (cấp độ người tiêu dùng.)
FWIW, chúng tôi không thực hiện autofsck khi khởi động ô uế (không biết tại sao- Tôi mới). Chúng tôi có các UPS được lắp đặt ở một số vị trí, nhưng đôi khi nó không được thực hiện đúng cách, v.v. Điều này cần được khắc phục, nhưng ngay cả khi đó mọi người có thể tắt nguồn thiết bị đầu cuối một cách không sạch sẽ, v.v. - vì vậy nó không phải là bằng chứng ngu ngốc. Hệ thống tập tin là ext4.
Câu hỏi: có bất cứ điều gì chúng ta có thể làm để giảm thiểu vấn đề ở cấp hệ thống không?
Tôi đã tìm thấy một số bài viết đề cập đến việc tắt bộ nhớ cache phần cứng hoặc gắn ổ đĩa ở chế độ đồng bộ hóa, nhưng tôi không chắc liệu điều đó có giúp ích gì trong trường hợp này không (tham nhũng siêu dữ liệu và các thay đổi không gần đây). Tôi cũng đọc một tài liệu tham khảo về việc gắn hệ thống tập tin ở chế độ chỉ đọc. Chúng tôi không thể làm điều đó bởi vì chúng tôi cần phải viết, nhưng chúng tôi có thể tạo một phân vùng chỉ đọc cho mã và cấu hình nếu điều đó có ích.
Đây là một ví dụ về ổ đĩa 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
. Đây là một vấn đề rất lớn. Ghi bộ nhớ cache không bao giờ được kích hoạt trên các ổ đĩa cứng có cơ sở dữ liệu. Một số nhà cung cấp, ví dụ như HP, thực sự ngăn việc cho phép ổ cứng ghi bộ nhớ đệm vì lý do này.