Bagaimana Shutdown yang Tidak Terduga Membahayakan Komputer Linux?
Apakah shutdown yang tidak terduga sama berbahayanya dengan Linux dengan sistem operasi lain? Baca terus saat kami menyelidiki efek shutdown sistem katastropik pada sistem file Linux.
Sesi Tanya Jawab hari ini datang kepada kami berkat SuperUser-subdivisi Stack Exchange, pengelompokan situs web Q&A berbasis komunitas.
Pertanyaan
SuperUser reader User208554 ingin tahu tentang struktur file Linux dan khawatir tentang aplikasi / instalasi yang sedang dikerjakannya:
Saya mengembangkan aplikasi pada papan embedded Linux (menjalankan Debian) mis. Raspberry Pi, Beagle Board / Bone, atau olimex. Papan bekerja pada lingkungan yang listriknya terputus secara tiba-tiba (terlalu rumit untuk menempatkan PSU, dll.) Dan itu akan terjadi setiap hari beberapa kali. Saya ingin tahu apakah pemadaman listrik yang tidak terduga akan menyebabkan masalah pada Sistem Operasi Linux? Jika itu adalah sesuatu yang saya harus khawatirkan, apa yang akan Anda sarankan untuk mencegah kerusakan pada OS terhadap pemadaman listrik yang tidak terduga?
PS. Aplikasi perlu menulis beberapa data ke media penyimpanan (kartu SD), saya pikir itu tidak akan cocok untuk me-mount sebagai read-only.
Jadi apa vonisnya?
Jawabannya
Kontributor SuperUser l0b0 menawarkan beberapa wawasan tentang sistem file penjurnalan / non-penjurnalan:
Ini akan tergantung pada
- apakah Anda menggunakan sistem file penjurnalan dan
- seberapa baik aplikasi mampu menangani pemrosesan yang dibatalkan.
Misalnya, pertimbangkan aplikasi yang memproses file dan menulis hasilnya saat dikomputasi (satu jalur output per jalur input) ke file lain. Jika daya terputus selama pemrosesan, dan aplikasi yang sama dijalankan setelah restart, itu tidak bisa hanya me-restart pemrosesan dari awal file input - itu berarti file output akan berisi informasi duplikat.
Mungkin sangat sulit untuk mengatakan sesuatu yang pasti tentang sistem kompleks hipotetis, tetapi sebagian besar perangkat lunak Linux yang stabil tampaknya mampu menangani crash dengan cukup baik..
Stu menyarankan untuk memisahkan sistem operasi dan data, serta menambahkan cadangan baterai:
Untuk membantu meminimalkan kemungkinan kerusakan OS, mungkin yang terbaik adalah memiliki partisi "sistem" dan "data" yang terpisah pada kartu SD. Dengan begitu Anda dapat memasang partisi "sistem" hanya-baca dan menggunakan FS yang sangat tangguh pada partisi "data".
Selain itu, sebagian besar papan tersebut memiliki kebutuhan daya yang sangat rendah, sehingga cadangan baterai dimungkinkan. Papan “LiPo rider” untuk Raspberry Pi dapat digunakan sebagai UPS dasar untuk memberikan penghentian daya bersih yang bersih.
Akhirnya, Jenny D memperluas saran sistem file penjurnalan:
Pemadaman listrik yang tidak terduga dapat menyebabkan korupsi data sistem file - mis. jika suatu proses telah mulai menulis ke suatu file, tetapi belum selesai menulisnya, file tersebut mungkin berakhir hanya setengahnya yang ditulis. Sekarang bayangkan jika pemadaman listrik terjadi ketika Anda setengah jalan melalui peningkatan kernel ...
Seperti yang ditulis oleh l0b0, menggunakan sistem file penjurnalan akan membantu, karena itu akan dapat melacak apa yang sebenarnya telah dilakukan. Selain info wikipedia yang ditautkan l0b0, Anda mungkin tertarik dengan Do Journaling Filesystems Guarantee Against Corruption setelah Power Failure juga.
Anda sebagai programmer jelas perlu mempertimbangkan dengan hati-hati bagaimana menangani menulis ke file sehingga menjadi proses atom (mis. Itu dilakukan sepenuhnya atau tidak dilakukan sama sekali, tetapi tidak pernah setengah dilakukan). Ini masalah yang cukup rumit.
Punya sesuatu untuk ditambahkan ke penjelasan? Berbunyi dalam komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang mengerti teknologi lainnya? Lihat utas diskusi lengkap di sini.