Tôi đang chạy một hệ thống nhúng nhỏ uClibc
và busybox
dựa trên thiết bị x86. Tôi đang sử dụng initramfs nhưng tôi cũng gắn một ext3
thư mục tùy chỉnh trên thiết bị flash nhỏ gọn ở chế độ IDE mà tôi đang sử dụng để lưu trữ dữ liệu ghi nhật ký đo lường liên tục được tạo bởi ứng dụng c ++ được viết tùy chỉnh. Tôi đã chọn ext3
hệ thống tệp vì nó được khuyến nghị về an toàn chống mất điện khi sử dụng ổ CF ở chế độ IDE trong một vài cuốn sách tôi đã đọc ( Xây dựng hệ thống nhúng nhúng của Karim Yaghmour và Primer Linux nhúng của Christopher Hallinan). Điều này đặc biệt quan trọng và dữ liệu rất quan trọng.
Tuy nhiên, do một số ý kiến trong câu hỏi trước đây của tôi Nhầm lẫn với cách khôi phục các tệp ext3 bị hỏng nếu mất điện trong khi ghi tệp , có vẻ như trên thực tế hệ thống tệp này không đảm bảo an toàn chống hỏng dữ liệu do mất điện thua. Vì vậy, tôi muốn biết nếu
- Có
ext3
thực sự là sự lựa chọn tốt nhất cho thiết lập này? - Có phải mất điện trong quá trình ghi đĩa chỉ làm hỏng phần dữ liệu tôi đang nối vào tệp theo định kỳ hoặc nó có thể làm hỏng toàn bộ tệp không?
- Là dữ liệu không được ghi tại điểm mất điện hoàn toàn an toàn? Cụ thể, có bất kỳ rủi ro nào mà
initramfs.cpio
tập tin của tôi cũng có thể bị hỏng không? - Có phương pháp nào tôi có thể sử dụng trong mã ứng dụng của mình để bảo vệ dữ liệu (nghĩa là tạo thêm một phân vùng và ghi dữ liệu của mình vào hình ảnh phản chiếu để luôn có 2 bản sao) - tốc độ không phải là vấn đề thực sự đối với ứng dụng của tôi vì vậy các hoạt động sao chép tốn kém được chấp nhận
Tôi đã xem và đọc các câu trả lời cho câu hỏi liên quan này: Hệ thống tập tin nhật ký có đảm bảo chống tham nhũng sau khi mất điện không? , nhưng nó không hoàn toàn bao gồm một số điều làm tôi bối rối.
Tôi nhận ra rằng tôi đang hỏi rất nhiều câu hỏi nhưng có vẻ như mặc dù đã đọc rất nhiều tài liệu nhưng tôi đã thất bại cơ bản để hiểu những rủi ro đối với dữ liệu của mình trong trường hợp mất điện.