Tôi có một máy chủ gia đình (HP Proliant ML 310 G4) mà tôi đã mua từ chủ nhân của mình cách đây một tháng. Máy chủ chạy Debian Linux và tôi sử dụng nó cho mọi thứ. Tôi có thể thoát khỏi việc này vì nhu cầu của tôi không đòi hỏi cao nên máy chủ hiếm khi bị tải nặng tại bất kỳ thời điểm nào. Máy chủ này có mảng RAID1 2 TB (với một phụ tùng nóng) được quản lý bởi mdadm mà tôi sử dụng để chia sẻ tệp qua mạng của mình qua Samba. Tôi đang chạy HĐH một ổ cứng nhỏ hơn không phải là một phần của mảng.
Tôi có máy chủ được cấp nguồn thông qua một UPS nhỏ 255 watt vì tôi cần nó để chịu được các dao động điện nhỏ mà không bị hỏng. Điều này rất quan trọng vì việc tắt ô uế đột ngột (do mất điện hoặc mất điện) có thể làm hỏng mảng RAID, điều đã xảy ra trong một lần.
Trong trường hợp mất điện, tôi ước tính UPS chỉ có 10 - 15 phút trong đó. Có thể có nhiều hơn nhưng tôi không muốn tự động cho rằng có. Điều này là đủ để vượt qua mất điện kéo dài một vài phút hoặc ít hơn. Tuy nhiên, nếu mất điện trong vài giờ, tôi cần máy chủ tự động tắt tự động trước khi mất điện. Điều này hy vọng sẽ giữ cho tính toàn vẹn của RAID không bị ảnh hưởng trong những tình huống đó.
Loại điều này rất dễ dàng trên máy tính xách tay vì nó có các cảm biến tích hợp để xác định khi nào nó chạy bằng pin, nhưng máy chủ này thì không (theo như tôi biết). Tôi có một thiết lập mạng bất thường trong đó modem DSL của tôi tách biệt với bộ định tuyến của tôi. Bộ định tuyến cũng có trên UPS, cho phép tôi SSH qua máy tính xách tay của mình và tắt máy chủ trong trường hợp mất điện. Thật không may, điều này chỉ hoạt động nếu tôi có mặt tại đó để làm điều đó. Tôi cần một giải pháp luôn hoạt động cho dù tôi có ở đó để can thiệp hay không.
Vì modem DSL của tôi không có trên UPS, nên nó sẽ bị hỏng với mọi thứ khác nếu mất điện. Tôi cố tình thiết lập nó như vậy bởi vì tôi có ý tưởng về cách giải quyết vấn đề này: Tôi đã nghĩ đến việc viết một kịch bản sẽ ping google.com hoặc một số trang web có lưu lượng truy cập cao / có tính sẵn sàng cao khác. Nếu ping hoàn thành thành công, máy chủ sẽ tiếp tục chạy. Nếu ping không thành công (vì modem bị tắt), tập lệnh sẽ nghĩ tắt nguồn và sẽ báo cho máy chủ tắt. Tôi sẽ thêm tập lệnh vào Cron và để nó chạy cứ sau 5 phút. Điều đó hy vọng sẽ cung cấp cho máy chủ đủ thời gian để tắt trước khi UPS hết điện.
Trước khi tôi gặp rắc rối khi viết kịch bản, tôi muốn biết liệu có cách nào tốt hơn để làm những gì tôi cần không. Cảm ơn trước sự giúp đỡ nào.