Apakah shutdown yang tidak diharapkan itu berbahaya bagi Linux seperti pada sistem operasi lain? Baca terus ketika kami menyelidiki efek shutdown sistem bencana pada sistem file Linux.
Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.
Pembaca SuperUser User208554 ingin tahu tentang struktur file Linux dan peduli tentang aplikasi / instalasi yang dia kerjakan:
Saya mengembangkan aplikasi di papan Linux tertanam (menjalankan Debian) mis. Raspberry Pi, Beagle Board / Bone, atau olimex. Papan bekerja pada lingkungan yang listriknya dipotong secara tidak terduga (itu 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 harus saya khawatirkan, apa yang akan Anda sarankan untuk mencegah kerusakan pada OS terhadap pemadaman listrik yang tak 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?
Penyumbang SuperUser l0b0 menawarkan beberapa wawasan ke dalam sistem file journal / non-journal:
Ini akan bergantung pada
- apakah Anda menggunakan sistem file journal dan
- seberapa baik aplikasi dapat menangani pemrosesan yang dibatalkan.
Pertimbangkan misalnya aplikasi yang memproses file dan tulis hasilnya saat dihitung (satu baris output per baris masukan) ke file lain. Jika daya dipotong selama pemrosesan, dan aplikasi yang sama dijalankan setelah restart, tidak dapat hanya memulai ulang 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 perangkat lunak Linux yang paling stabil tampaknya mampu menangani crash dengan cukup baik.
Stu menyarankan untuk memisahkan sistem operasi dan data, serta menambahkan cadangan baterai:
Untuk membantu meminimalkan kemungkinan korupsi OS, mungkin yang terbaik adalah memiliki partisi "sistem" dan "data" 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 persyaratan daya yang sangat rendah, sehingga cadangan baterai dimungkinkan. Papan "LiPo rider" untuk Raspberry Pi dapat digunakan sebagai UPS dasar untuk menyediakan shutdown bersih pada daya yang hilang.
Akhirnya, Jenny D memperluas saran sistem file jurnal:
Pemadaman listrik yang tidak terduga dapat menyebabkan korupsi data sistem file - mis. jika suatu proses sudah mulai menulis ke sebuah file, tetapi belum selesai menulisnya, file itu mungkin hanya setengah ditulis. Sekarang bayangkan jika pemadaman listrik terjadi ketika Anda setengah jalan melalui upgrade kernel ...
Seperti yang ditulis l0b0, menggunakan sistem file journal akan membantu, karena ia akan dapat melacak apa yang sebenarnya telah dilakukan. Selain info wikipedia yang l0b0 ditautkan, Anda mungkin tertarik dalam Do Journaling Filesystems Jaminan Terhadap Korupsi Setelah Kegagalan Power juga.
Anda sebagai programmer jelas perlu mempertimbangkan dengan hati-hati bagaimana menangani menulis ke file sehingga menjadi proses atomik (yaitu sepenuhnya dilakukan atau tidak dilakukan sama sekali, tetapi tidak pernah setengah selesai). Ini masalah yang cukup kompleks.
Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.