Ngăn ngừa tham nhũng thẻ SD trong trường hợp mất điện


8

Tôi có một dự án sử dụng Pi ở các địa điểm xa (các tủ bên đường rải rác xung quanh thành phố bên cạnh các cơ sở hạ tầng nước quan trọng) để đọc dữ liệu qua USB từ một số thiết bị thu thập dữ liệu chuyên dụng và sau đó truyền nó (qua liên kết ADSL) trung tâm DB. Các Pi được cung cấp từ nguồn cung cấp 5V có nguồn gốc từ một UPS công nghiệp (Bộ tiếp xúc Phoenix-MINI-DC) và các tín hiệu điều khiển từ UPS này được quản lý bởi thiết bị thu thập dữ liệu để có thể đưa tin nhắn vào luồng dữ liệu thông thường từ nó đến Pi.

Khi hết nguồn điện chính và pin đã giảm xuống mức điện áp thấp nhất định, UPS sẽ phát tín hiệu "ALARM" và thiết bị thu thập dữ liệu sẽ thông báo cho Pi biết rằng có thể mất điện bất cứ lúc nào. Nếu nguồn cung cấp phục hồi mà không bị tắt, tín hiệu ALARM sẽ biến mất và Pi sẽ được thông báo rằng nó có thể trở lại hoạt động bình thường.

Việc Pi đột ngột mất điện trong khi hoạt động bình thường có thể làm hỏng thẻ SD, vậy chiến lược tốt nhất để xử lý việc này là gì? Tôi có thể đặt Pi ở chế độ "an toàn" không (xem lại đĩa là chỉ đọc?) Trong khi chờ tín hiệu "power ok" hoặc tôi có cần xem các tùy chọn nguồn điện khác nhau được liệt kê trong /etc/inittabkhông?

Bất cứ ai có thể cho tôi bất kỳ con trỏ?


Bạn đã thử khởi động ở chế độ chỉ đọc chưa? từ mô tả tôi không thể hiểu tại sao bạn cần một fs có thể ghi trên chính pi ...
Gotschi

Tôi sử dụng hệ thống tập tin của Pi để lưu trữ bộ đệm dữ liệu trong trường hợp không liên lạc được: liên kết comms không đáng tin cậy lắm và tôi có thể cần lưu trữ dữ liệu vài ngày / tuần (ở mức ~ 50MB / ngày), vì vậy chế độ chỉ đọc không thể không may
Asher Hoskins

sau đó khởi động hệ thống và các ứng dụng ở chế độ chỉ đọc và gắn bộ lưu trữ usb có thể ghi cho dữ liệu ..
Gotschi

Tôi chưa thử nó trên Pi nhưng bạn có thể gắn ram dưới dạng hệ thống tệp "mkdir / mnt / ramdisk && mount -t tmpfs none / mnt / ramdisk" google.com/
trộm

@Gotschi - đối với hầu hết Linux và các bản phân phối khác, bạn cần phải gắn đĩa là trình đọc-đọc vì nó cũng cần ghi vào đĩa để hoạt động.
Wilf

Câu trả lời:


1

Với việc triển khai nhiều trang web, trong đó việc mất dữ liệu là mối quan tâm cũng như thời gian và chi phí sửa chữa, tôi sẽ không loay hoay. Tôi muốn đề xuất một giải pháp phần cứng: trang bị cho mỗi RPi một mạch tắt phần cứng. Điều này có thể đảm bảo rằng bất cứ khi nào nguồn điện được lấy ra khỏi RPi, nó sẽ tắt một cách duyên dáng và chờ nguồn điện được phục hồi trước khi đưa lại hệ thống tệp của nó. Thông báo từ UPS có thể bị RPi bỏ qua vì nó sẽ tiếp tục hoạt động cho đến khi điện áp cung cấp đạt đến ngưỡng tắt máy. Giải pháp này cũng sẽ giúp giữ RPi an toàn trong mọi công việc bảo trì bên trong tủ.

Có nhiều thiết kế khác nhau cho các mạch tắt máy. Bạn sẽ tìm thấy một số gợi ý trên trang web SE này. Các mạch này hầu hết được thiết kế để thêm tiện lợi cho người dùng thông thường. Bạn có thể muốn xem xét một số thay đổi thiết kế để điều chỉnh chúng cho ứng dụng của bạn. Ví dụ, một số mạch sử dụng tụ điện lớn để đảm bảo rằng RPi có sẵn để hoàn thành chuỗi tắt máy thành công: bạn có thể muốn xem xét sử dụng pin sạc nhỏ thay thế, được cung cấp sạc đầy bởi nguồn 5V trong suốt quá trình hoạt động bình thường - cho phép nhiều thời gian để RPi xử lý bất kỳ việc truyền dữ liệu cuối cùng nào trước khi đóng cửa hàng.


0

Một cách tiếp cận có thể là cung cấp một UPS nhỏ thứ hai, được cắm vào UPS đầu tiên.

Tôi đang nói về UPS loại dải cắm nhỏ hơn. Nguồn điện cho UPS thứ hai đến từ UPS thứ nhất, do đó, UPS thứ hai không ở chế độ tắt nguồn / tắt cho đến khi đầu tiên bị hỏng và không còn cung cấp bất kỳ nguồn điện nào nữa.

UPS thứ hai cũng sẽ được kết nối với PI thông qua liên kết USB. Cài đặt các tập lệnh tắt máy thích hợp từ trang web của nhà sản xuất UPS thứ hai trên pi.

UPS thứ nhất hết pin, UPS thứ hai bây giờ khởi động để cung cấp năng lượng và báo cho pi tắt máy.


0

Theo tôi, giải pháp tốt nhất là sử dụng UPS PIco , một thiết kế đặc biệt cho Raspberry Pi UPS, cung cấp nhiều tính năng khác.

Đó là chi phí thấp, bao gồm pin, không cần thêm cáp, chỉ cần đặt nó lên trên RPi.



0

Tôi khá thích giao diện của mặt hàng này tại Amazon: Bộ cung cấp điện liên tục GM312 Mini UPS

Dường như tất cả những gì tôi cần thêm là một mạch đơn giản để phát hiện khi nguồn 12 volt đến không thành công.

R Pi sau đó có thể tự động tắt ngay lập tức hoặc sau khi trì hoãn.

Một vấn đề tôi có thể thấy là sẽ không đơn giản để R Pi khởi động lại khi bật nguồn.

Tôi tự hỏi liệu giải pháp có thể là, sau một thời gian trì hoãn để đưa Pi vào một chế độ hoạt động tối thiểu nào đó chờ 12 volt trở lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.