كيف يمكن لإيقافات غير متوقعة أن تضر بجهاز لينكس؟
هل عمليات إيقاف التشغيل غير المتوقعة مضرة لنظام التشغيل Linux نظرًا لأنظمة التشغيل الأخرى؟ اقرأ عندما نفحص تأثيرات إيقاف تشغيل النظام الكارثي على أنظمة ملفات Linux.
تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.
السؤال
قارئ SuperUser User208554 لديه فضول حول هياكل ملفات Linux ويشعر بالقلق بشأن التطبيق / التثبيت الذي يعمل عليه:
أقوم بتطوير تطبيق على لوحة Linux مدمجة (يعمل بنظام Debian) على سبيل المثال. Raspberry Pi، Beagle Board / Bone، or olimex. تعمل اللوحات على بيئة يتم فيها قطع الكهرباء بشكل غير متوقع (من الصعب جدًا وضع PSU ، وما إلى ذلك) وسيحدث كل يوم عدة مرات. أتساءل ما إذا كان انقطاع التيار الكهربائي المفاجئ سيسبب مشكلة في نظام التشغيل Linux؟ إذا كان الأمر شيئًا لا بد لي من القلق بشأنه ، فما الذي تقترحه لمنع الأضرار على نظام التشغيل من انقطاع الطاقة غير المتوقع?
PS. يحتاج التطبيق إلى كتابة بعض البيانات إلى وسيط التخزين (بطاقة SD) ، أعتقد أنه لن يكون مناسبًا لتركيبها كقراءة فقط.
إذن ما هو الحكم?
الاجابة
يقدم المساهم في SuperUser l0b0 بعض الإحصاءات حول أنظمة الملفات اليومية / غير اليومية:
هذا يعتمد على
- سواء كنت تستخدم نظام ملف دفتر اليومية و
- مدى قدرة التطبيقات على معالجة المعالجة التي تم إجهاضها.
خذ بعين الاعتبار على سبيل المثال تطبيق الذي يقوم بمعالجة ملف وكتابة النتائج كما يتم حسابها (خط إخراج واحد لكل سطر الإدخال) إلى ملف آخر. إذا تم قطع الطاقة أثناء المعالجة ، ويتم تشغيل نفس التطبيق بعد إعادة التشغيل ، فلا يمكن إعادة تشغيل المعالجة فقط من بداية ملف الإدخال - وهذا يعني أن ملف الإخراج قد يحتوي على معلومات مكررة.
قد يكون من الصعب جدًا تحديد أي شيء محدد حول نظام افتراضي افتراضي ، ولكن يبدو أن معظم برامج Linux الثابتة قادرة على التعامل مع الأعطال بشكل جيد.
يقترح ستو فصل نظام التشغيل والبيانات ، بالإضافة إلى إضافة بطارية احتياطية:
للمساعدة في تقليل إمكانية حدوث تلف في نظام التشغيل ، من الأفضل أن يكون لديك قسم "نظام" و "بيانات" منفصل على بطاقة SD. وبهذه الطريقة ، يمكنك تركيب قسم "النظام" للقراءة فقط واستخدام خدمة FS عالية المرونة في قسم "البيانات".
بالإضافة إلى ذلك ، فإن معظم هذه اللوحات لديها متطلبات طاقة منخفضة جدًا ، لذا من الممكن توفير نسخة احتياطية للبطارية. يمكن استخدام لوحة "LiPo rider" الخاصة بـ Raspberry Pi على شكل UPS أساسي لتوفير إيقاف تشغيل نظيف لخسارة الطاقة.
وأخيرًا ، توسع Jenny D على اقتراح نظام ملف دفتر اليومية:
قد يتسبب انقطاع الطاقة غير المتوقع في تلف بيانات نظام الملفات - على سبيل المثال ، إذا بدأت عملية الكتابة إلى ملف ، ولكن لم تنته بعد من كتابتها ، فقد ينتهي الأمر بنصف النص فقط. الآن تخيل ما إذا كان انقطاع التيار الكهربائي يحدث عندما تكون في منتصف الطريق من خلال ترقية النواة ...
كما كتب l0b0 ، فإن استخدام نظام ملفات دفتر اليومية سيساعد ، لأنه سيكون قادراً على تتبع ما تم إنجازه بالفعل. بالإضافة إلى معلومات ويكيبيديا التي ترتبط بها l0b0 ، قد تكون مهتمًا بضمان Doing Systems Journalistic ضد الفساد بعد انقطاع التيار الكهربائي أيضًا.
من الواضح أن عليك كمبرمج أن تفكر بعناية في كيفية التعامل مع الكتابة إلى الملفات بحيث تصبح عملية ذرية (بمعنى أنها إما تعمل بشكل كامل أو لا تفعل على الإطلاق ، ولكن لن يتم إنجازها أبداً). إنها قضية معقدة إلى حد ما.
هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.