বেশ কয়েকটি বিদ্যমান বিষয় এই ইস্যুটির চারদিকে ঘোরে, তবে আমি যা চাই তা কিছুটা আলাদা। আমার একটি এম্বেড থাকা লিনাক্সে একটি এসডি কার্ড রয়েছে এবং এটি বিদ্যুতের ক্ষতিতে ভুগছে। আমি কোনও সময় হার্ডওয়্যারটি সংশোধন করতে সক্ষম হয়েছি, সঠিকভাবে বন্ধ হয়ে যাওয়া ইত্যাদি ইত্যাদি। তবে এই মুহূর্তে, আমি কেবল একটি ফাইল সিস্টেম খুঁজে পেতে চাই যা ঝাঁকুনি ছাড়াই পাওয়ার ক্ষয় থেকে বেঁচে থাকে। ডেটা ক্ষতি গ্রহণযোগ্য। আমি বর্তমানে যে ফাইলটি লিখছি তার চেয়ে বেশি হারাতে আমি পছন্দ করি না, তবে আমি 'মাউন্ট করতে অক্ষম', 'এই 10 মিনিটের জন্য অপেক্ষা করি' বা 'নতুন তৈরি করতে অক্ষম' হয়ে থাকা চেয়ে বরং এটি সবই হারাতে চাইতাম এই ইনোডের কারণে ফাইলটিতে কিছু ত্রুটি হয়েছে। প্রোগ্রামটি চালিয়ে যেতে হবে!
আমি এটি নিশ্চিত করার জন্য অনেক চেষ্টা করছি। আমি শিল্প গ্রেডের উপাদানগুলি ব্যবহার করছি, আমি হার্ডওয়্যার ওয়াচডগস, সফটওয়্যার ওয়াচডোগস, অভ্যন্তরীণ, বাহ্যিক, প্রোগ্রামগুলি পুনরায় আরম্ভ করার জন্য পেয়েছি, ডেমন ক্রমাগত মেমরি পরীক্ষা করে, ফাইল বর্ণনাকারী এবং কী নন, আমি আমার ওয়াচডোগগুলি দেখছি ওয়াচডোগগুলি পেয়েছিলাম, যা অন্য ওয়াচডোগদের দ্বারা দেখা হয় ... তবে আমি নিশ্চয়তা দিতে পারি না যে এসডি কার্ড মাউন্ট এবং ফাংশন করতে সক্ষম?
আমার সেরা বাজি এখনই, এসডি কার্ডে জেএফএস ব্যবহার করা, আমার ইনস্টলেশনতে fsck এবং fsck.jfs অন্তর্ভুক্ত করা উচিত। (K০০ কেবি + যোগ করে আমার ম্যাম এবং আমার ফ্ল্যাশ খাওয়া Which যা খারাপ)) এবং প্রতিটি সূচনায় fsck চালান (সম্ভবত প্রচুর বুটের সময় যোগ করা Which যা কিছুটা খারাপ))। যদিও কিছুটা দুঃখ লাগছে।
কেউ কি আরও ভাল উপায় বা একটি ভাল ফাইল সিস্টেম সম্পর্কে জানেন?
আপডেট: e2fsprogs-libs (jfsutils এর উপর নির্ভরতা) আমার বিতরণে সংকলন করা নরকীয়ভাবে কঠিন বলে মনে হচ্ছে। আমি জেডএফএসে নজর রাখব (যদিও এটি আমার বিতরণে নেটিভ নয় And এবং এটি আমার অনেক কিছুই করার দরকার নেই বলে মনে হয়))
আপডেট 2: আমার সিস্টেম এবং আমার পরীক্ষাগুলি সম্পর্কে আরও কিছু তথ্য: এসডি কার্ড স্টোরেজটি একটি গৌণ, ,চ্ছিক স্টোরেজ। এসডি কার্ডগুলি 2 জিবি -8 জিবি শিল্প গ্রেড মাইক্রোএসডি। এসডি কার্ডটি আমার আরসি দিয়ে মাউন্ট-টি কমান্ড দিয়ে মাউন্ট করা হয়েছে। বিকল্প "noatime" তবে "সিঙ্ক" নয়। আমার বিতরণটি একটি কাস্টম অ্যানালগ ডিভাইসের স্বাদযুক্ত ইউক্লিনাক্স, একটি 3.10 কার্নেল এবং একটি 1.21 ব্যস্তবক্স রয়েছে। আমার প্রাথমিক স্টোরেজটি jffs2 সহ একটি স্পি ফ্ল্যাশ। আমি এর সাথে কোন সমস্যা ছিল না। এমনকি fsck.jffs2 উপলব্ধ আছে কিনা তা আমি জানি না। অন্যদিকে নন্দ ফ্ল্যাশ ... তবে এটি অন্যরকম একটি গল্প। এসডি কার্ডের উদ্দেশ্য, পরিমাপের ডেটা সঞ্চয় করা। 'মনিটর' প্রোগ্রামটি কোনও ফাইলে ফলাফল সংযোজন করবে এবং কৌশলগত সিঙ্ক স্থাপন করবে। ফাইল যখন নির্দিষ্ট আকারের উপরে আসে তখন একটি নতুন তৈরি করা হবে। কোনও প্রদত্ত সংখ্যক ফাইলগুলি পুরনো পৌঁছে যাওয়ার পরে মুছে ফেলা হবে। যদি বিদ্যুতের ক্ষতির কারণে বর্তমান পরিমাপ ফাইলটি হারিয়ে যায় তবে এটি কোনও বিপর্যয় নয়। ফাইলগুলি সাধারণত 50-100 কেবি হয় এবং 1 ফলাফল সাধারণত 1 কেবি হয়। এটি কেবলমাত্র প্রাথমিক বিকাশের পর্ব। কিছুই ঠিক করা হয় না। এম্বেড থাকা সিস্টেমে আমি প্রথমবার নন-ফ্ল্যাশ ফাইল সিস্টেমের সাথে কাজ করছি। (আমি আমার এক্স 86 সার্ভারে ext4 পেয়েছি))
আমি vfat দিয়ে শুরু। ডিফল্ট ফাইল সিস্টেম। (আমি বুঝতে পেরেছি যে কারখানাগুলি এটির বেছে নেওয়ার কারণ থাকতে পারে things আমি যদিও WinCE এ FAT নিয়ে সমস্যাগুলি পেয়েছি experienced যাইহোক, যখন আমার 'মনিটর' প্রোগ্রামটি 100-200 ফাইলগুলিতে পৌঁছায় এটি আর কোনও তৈরি করতে অস্বীকৃতি জানায়। দেখে মনে হচ্ছে যে মূলে FAT এর একটি বিশেষ ফাইল সীমাবদ্ধতা রয়েছে এবং সাব ডায়ারগুলিতে কিছুটা বড়। আমার 1 ডিয়ারে 500-1000 ফাইল তৈরি করতে সক্ষম হওয়া দরকার। সুতরাং vfat না।
তারপরে আমি এক্স 2 তে স্যুইচ করেছি। যদিও আমি প্রারম্ভকালে কোনও fsck প্রবেশ করিনি। (জানেন না যে আমাকে এটি করতে হয়েছে)) একদিনের মধ্যে আমার 'মনিটর' প্রোগ্রামটি 'ইনোড কিছু কিছু' ত্রুটির কারণে আরও ফাইল তৈরি করতে অক্ষম। বিপর্যয়!
আমার বর্তমান সমাধানটি শুরুতে "e2fsck -y" দিয়ে ext2 ext এখনও অবধি এটি আশাব্যঞ্জক বলে মনে হচ্ছে। তবে e2fsck এবং 'fsck এ স্টার্টআপ' এর সম্পূর্ণ ধারণাটি আমার দিকে ঝাঁপিয়ে পড়ে। এটি স্বয়ংক্রিয়ভাবে e2fsck আমার প্রাথমিক ফ্ল্যাশ এবং র্যামের 350kb এরও বেশি ব্যয় করছে। (যখন এটি চলছে না)) যার অর্থ এটি আমার বৃহত্তম প্রোগ্রাম। এটি ব্যস্তবক্সের চেয়ে বড়। এটা প্রায় আমার কার্নেল প্রতিদ্বন্দ্বিতা।
আমি ext3 বিবেচনা করা হয়েছে। এটি মেটা ডেটা জার্নাল করেছে, যা ক্ষতি করবে না। যদিও এটি কতটা সাহায্য করবে তা নিয়ে আমি সন্দেহ। আমার ছোট ফাইল এবং নিয়ন্ত্রিত সিঙ্কগুলির সাথে আমার কভার হওয়া উচিত? এটিতে একটি আদেশযুক্ত লেখার ক্রম রয়েছে। মানে ডেটাও কিছুটা জার্নাল হয়। এটি তবে অ-সংযোজনীয় ল্যাগগুলিতে নিয়ে যেতে পারে। যা আমার পরিস্থিতিতে খারাপ। (এটি সম্ভবত কোনও সমস্যা নয়)) এর একটি সিডিং সিঙ্ক বৈশিষ্ট্যও রয়েছে। যেমন। প্রতি 5 সেকেন্ড প্রতিশ্রুতিবদ্ধ। যা আমার নিজের সিঙ্কগুলিতে হস্তক্ষেপ করছে think অনেকগুলি লেখাই এসডি কার্ডের জন্য খারাপ। এমনকি শিল্পকেন্দ্রিকও। এটি কীভাবে অক্ষম করা যায় সে সম্পর্কে কোনও নথিপত্র পাই না। এবং ext3 এখনও প্রতিটি প্রারম্ভকালে fsck চালানো প্রয়োজন! তবে ext3 এখনও একটি সম্ভাবনা।
Ext4। Ext3 এর পারফরম্যান্সের অনেকগুলি সমস্যার সমাধান করবে। যদিও আসলেই আমার পারফরম্যান্সের দরকার নেই। এবং আমার বিতরণে বিল্টিন এমকেফএস.এক্সট 4 এবং একটি fsck.ext4 আছে বলে মনে হয় না। সম্ভবত এটি কোনও সমস্যা নয়। যদিও এটি। যেমন। e2progs-libs (jfsutils এর উপর নির্ভরতা) অনেকগুলি সংকলন সমস্যা রয়েছে বলে মনে হয়।
জেএফএস, এক্সএফএস, বিআরএফএসএস। সমস্ত আমার কার্নেল দ্বারা সমর্থিত। বর্তমানে আমার ব্যবহারকারীর স্থান সরঞ্জাম বাক্সে অন্তর্ভুক্ত নেই। সবগুলি বরং বড়, জটিল সিস্টেম বলে মনে হচ্ছে। এবং তাদের সকলের কি প্রারম্ভকালে একটি 'fsck' সমতুল্য প্রয়োজন?
আমি আমার নিজস্ব ফাইল সিস্টেম ছোঁড়াও বিবেচনা করেছি: সর্বদা ফাইল টেবিলের 2 কপি লিখুন। ট্র্যাভার করার সময়, এটি সঠিক সিআরসি এবং সর্বাধিক সিকোয়েন্স নম্বর সহ একটি বেছে নেয়। একটি 2-পর্যায়ে লেখার ক্রম করুন। অস্থায়ী বরাদ্দ করুন, প্রতিশ্রুতি স্থির করুন। কোন fsck প্রয়োজন। আমি আশঙ্কা করছি যদিও এটি কিছুটা নির্বোধ হতে পারে।
আপডেট: বিটিডাব্লু, এম্বেড থাকা সিস্টেমগুলির প্রকৃতি (এটি অন্তত একটি) এটি স্বায়ত্তশাসিত, অপ্রস্তুত, নাগালের বাইরে এবং তাদের বহু বছরের জন্য চালিয়ে যেতে হয়। Fsck এর মতো প্রোগ্রামগুলির জন্য যা মানুষের ইন্টারঅ্যাকশনের প্রয়োজন হতে পারে আমাকে ছাড়িয়ে দেয়।