ফাইল সিস্টেম যা কখনও ভেঙে যায় না (ডেটা হ্রাস গ্রহণযোগ্য)


9

বেশ কয়েকটি বিদ্যমান বিষয় এই ইস্যুটির চারদিকে ঘোরে, তবে আমি যা চাই তা কিছুটা আলাদা। আমার একটি এম্বেড থাকা লিনাক্সে একটি এসডি কার্ড রয়েছে এবং এটি বিদ্যুতের ক্ষতিতে ভুগছে। আমি কোনও সময় হার্ডওয়্যারটি সংশোধন করতে সক্ষম হয়েছি, সঠিকভাবে বন্ধ হয়ে যাওয়া ইত্যাদি ইত্যাদি। তবে এই মুহূর্তে, আমি কেবল একটি ফাইল সিস্টেম খুঁজে পেতে চাই যা ঝাঁকুনি ছাড়াই পাওয়ার ক্ষয় থেকে বেঁচে থাকে। ডেটা ক্ষতি গ্রহণযোগ্য। আমি বর্তমানে যে ফাইলটি লিখছি তার চেয়ে বেশি হারাতে আমি পছন্দ করি না, তবে আমি 'মাউন্ট করতে অক্ষম', 'এই 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 এর মতো প্রোগ্রামগুলির জন্য যা মানুষের ইন্টারঅ্যাকশনের প্রয়োজন হতে পারে আমাকে ছাড়িয়ে দেয়।


1
আপনি কেবল নিজের ফাইল সিস্টেমকে কেবল পঠন করার জন্য মাউন্ট করবেন না এবং আপনি যা লিখতে চান তার জন্য একটি ছোট ফাইল সিস্টেম তৈরি করবেন না?
ক্রিস ডাউন

জেডএফএস একটি বিকল্প হতে পারে (ভাল ডেটা অখণ্ডতা পরীক্ষা)।
ওউকি

এই হল লেখার জন্য ছোট ফাইল সিস্টেম
Illishar

হ্যাঁ, আমি জেডএফএসের দিকেও নজর রেখেছি। তবে আমি যখন আমার বিতরণটি দেখি তখন এর জন্য সমর্থনটি আমার মুখে ঠিক লাফিয়ে উঠছে না। এবং আমি সত্যিই ডেটা অখণ্ডতা সম্পর্কে উদ্বিগ্ন না। আমি কেবল এটি মাউন্ট এবং কাজ করতে চান।
ইলিশার

আপনি কি btrfs.wiki.kernel.org/index.php/ মেন_পেজটি দেখেছেন আপনার গবেষণার মাধ্যমে আপনার প্রশ্নটি সম্পাদনা করা উচিত যাতে আমরা আপনাকে আরও দক্ষতার সাথে সহায়তা করতে পারি
কিউই

উত্তর:


2

আপনার গল্পে এখানে কিছুটা অসঙ্গতি বা কমপক্ষে অস্পষ্টতা রয়েছে:

আমি 'মাউন্ট করতে অক্ষম', 'এই 10 মিনিটের জন্য অপেক্ষা করবো fsck' এর চেয়ে বরং এটি সব হারাতে চাই

বোঝায় - যদিও আপনি এটি সত্যই বলছেন না - এটি হ'ল এমন একটি সমস্যা যা আপনি প্রকৃতপক্ষে অনুভব করছেন। কিন্তু তারপর:

e2fsprogs-libs (jfsutils এর উপর নির্ভরতা) আমার বিতরণে সংকলন করা নরকীয়ভাবে কঠিন বলে মনে হচ্ছে।

যার অর্থ আপনার কোনও এফএসসি নেই , যেহেতু e2fsprogs-libsনির্ভরতা e2fsprogsযা সরবরাহ করে e2fsck। সুতরাং সম্ভবত আপনি এখানে একটি পরিকল্পনার পর্যায়ে রয়েছেন এবং এমনকি সিস্টেমটি যেমন, উদাহরণস্বরূপ ext4পরীক্ষাও করেন নি, তবে পরিবর্তে আপনি এই সিদ্ধান্তে পৌঁছেছেন যে আপনাকে জেএফএস দিয়ে শুরু করা উচিত? এর কোন বিশেষ কারণ আছে কি?

আমি রাস্পবেরি পাই এক্সচেঞ্জে লক্ষ্য করেছি (পাইয়ের প্রাথমিক স্টোরেজটি একটি এসডি কার্ডও) যে উল্লেখযোগ্য সংখ্যক ব্যবহারকারী এই ধরণের সমস্যার কারণে খুব হতাশ বলে মনে হচ্ছে, যদিও সংখ্যাগরিষ্ঠ (আমার সহ) এটি কখনও ছিল না সব। প্রথমে আমি ধরে নিয়েছিলাম যে এই লোকেরা এই বিষয়টি সম্পর্কে অজ্ঞ ছিল যে সিস্টেমটি পরিষ্কারভাবে বন্ধ করে দেওয়া উচিত, তবে এটি ব্যাখ্যা করার সময় উপলব্ধি করা কোনও কঠিন বিষয় নয়, এবং এমন লোকেরা আছেন যারা সিস্টেমটি সঠিকভাবে বন্ধ হয়ে গেছে যদিও এটি রিপোর্ট করেছেন ।

আপনি ইতিমধ্যে বলেছিলেন যে বিদ্যুতের কাটা (যা যথেষ্ট পরিমাণে যথেষ্ট) সহ্য করার জন্য আপনার এটির প্রয়োজন হবে, তবে আমি এটি উল্লেখ করেছি কারণ এটি বোঝায় যে এখানে কিছু পিস, বা কিছু এসডি কার্ড, বা উভয়ের সংমিশ্রণ রয়েছে যা কেবল প্রবণতাযুক্ত are কোনও ইভেন্টের (উত্সাহ?) কারণে ফাইল সিস্টেমটি দূষিত করা হয় যা নিয়মিত ঘটে যা হয় প্লাগটি টানলে, বা যখন এটি আবার ফেলা হয় I আমি এও দেখিনি - এবং প্রচুর লোক চেষ্টা করার জন্য প্রচুর সময় পেয়েছে - কেউ রিপোর্ট করেছেন যে তারা বিটিআরএফএস বা জেএফএস বা যে কোনও কিছুতে স্যুইচ করেছে এবং এখনই সমস্যার সমাধান হয়েছে।

এ সম্পর্কে অন্যান্য রহস্যজনক বিষয়টি হ'ল লোকেরা কর্ডটি ঝাঁকুনিতে ফেলে দিচ্ছে, এটি নিয়মিত অযথা ব্যবহারযোগ্য ফাইল সিস্টেমের ফলস্বরূপ হওয়া উচিত নয়। অবশ্যই আমি এটি ডাব্লু / পিআই এর একগুচ্ছ কাজ করেছি এবং কয়েকবার ডাব্লু / নিয়মিত লিনাক্স বাক্স না হলে স্কোর করেছি (বিদ্যুতটি কেটে দেওয়া হয়েছিল, সিস্টেমটি প্রতিক্রিয়াহীন হয়ে পড়েছে, আমি ক্লান্ত এবং রাগান ইত্যাদি) এবং আমি অল্প পরিমাণে ডেটা ক্ষতি দেখেছি, আমি কখনই একটি ফাইল সিস্টেম তাত্ক্ষণিকভাবে দেখতে পাইনি দ্রুত এফএসসি-এর পরে ব্যবহারের অযোগ্য হয়ে পড়ে।

আবার, এই সমস্ত প্রতিবেদনগুলি সত্য বলে ধরে নেওয়া হচ্ছে (লোকেরা কেন এটি সম্পর্কে মিথ্যা বলবে তা আমি দেখতে পাচ্ছি না), পরিষ্কারভাবে আনমাউন্টিংয়ের চেয়ে আরও অনেক বেশি কিছু চলছে, তবে এটি কেবলমাত্র সংখ্যক ব্যবহারকারীকেই প্রভাবিত করবে বলে মনে হচ্ছে, আবার বোঝানো এক ধরণের সাধারণ হার্ডওয়্যার ত্রুটি।

Pi উপর আমি লিখি -yকরতে /forcefsckযাতে পরবর্তী বুট এটি স্বয়ংক্রিয়ভাবে চালানো হয় একটি বুট লিপিতে, এবং যে কোনো সমস্যার ঠিক করা হয়েছে, এই প্রয়োজনীয় বা হিসেবে উপস্থিত হবে না কিনা নির্বিশেষে। 700 মেগাহার্জ একক কোর এ 12 গিগাবাইটের ফাইল সিস্টেমের জন্য ~ 4 সেকেন্ড সময় লাগে takes 4 জিবি ডেটা। সুতরাং "10 মিনিট" একটি অবিশ্বাস্যভাবে দীর্ঘ সময় মত শোনায়, বিশেষ করে যেহেতু আপনি ইতিমধ্যেই বলেছি "এই হল লেখার জন্য ছোট ফাইল সিস্টেম!"।

আপনি syncনিয়মিত বিরতিতে কল করতেও বিবেচনা করতে পারেন ।

অবশেষে, আপনি আরও সত্যবাদী, আপনি যে সমস্যার মুখোমুখি হয়েছেন তার সুনির্দিষ্ট বিবরণ এবং কম হাইপারবোলে দিয়ে প্রশ্নটি আপডেট করা উচিত । অন্যথায় এটি অকাল XY সমস্যার মতো দেখতে খুব বেশি লাগে , যা সম্ভবত আপনার জন্য প্রচুর অভিজ্ঞতা এবং সম্ভাব্য পরামর্শযুক্ত লোকদের দ্বারা দ্রুত এড়িয়ে যেতে পারে।


আসলে, আমার e2fsck e2fsprogs-libs নির্ভরতা ছাড়াই সংকলন করতে সক্ষম। আমি এটা সম্পর্কে ভাবছিলাম। (এটি ব্যস্তবক্স সংস্করণ নয়)) তবে আমি এটি মোটেও না পছন্দ করবো ... আমি আরও কিছু তথ্য দিয়ে প্রশ্নটি আপডেট করব।
ইলিশার

আমি কেবল অবাক হয়েছি যে এটি ডাব্লু / ও লিবেক্সট 2fs (বা আপনি একটি স্ট্যাটিক সংস্করণ তৈরি করেছেন? বা সম্ভবত এটি কেবল ভিন্ন প্যাকেজিংয়ের বিষয়? যাইহোক ...)। উন্নত জার্নালিংয়ের কারণে আমি এক্সটু ওভার এক্সটোর জন্য অপশনটি বেছে নেব এবং যদি সম্ভব হয় তবে দ্রুত fsck চেকিং , এবং syncমাউন্ট অপশনটি। যদিও এবং জার্নালিং আপনার লেখার চক্রকে বাড়িয়ে তুলবে, তবে দৃ rob়তা যদি লক্ষ্য হয় তবে বিকল্প ফাইল সিস্টেম (যেমন একটি তাত্ত্বিক যা অনলাইন চেকিং করে এমন একটি) কীভাবে ঘটতে পারে তা দেখা শক্ত। শুভকামনা এবং আপনি যদি কোনও সমাধান খুঁজে পান তবে আপনার উত্তর যুক্ত করুন।
স্বর্ণলোকগুলি

2

প্রোগ্রামটি চালিয়ে যেতে হবে!

এটি একটি সাধারণ প্রয়োজন এবং স্থিতিশীল সিস্টেমটি বেছে নেওয়ার ক্ষেত্রে লিনাক্স সিস্টেমগুলি সেরা পছন্দ।

আপনার প্রচেষ্টাও সঠিক দিকের দিকে যায় না বলে মনে হয়। তবে একটি স্থিতিশীল সিস্টেম পাওয়ার জন্য আপনি কী করতে পারেন?

প্রথম স্তরে আপনি আপনার ফাইল সিস্টেমটি উন্নত করতে পারেন:

  • তৈরি বা সংশোধন করার সময় yournal_data_orderedকোনও ext3/ext4ফাইল সিস্টেম ব্যবহার করুন tune2fs
  • চেক JFSকরার --replay_journal_onlyসময় ব্যবহারের সাথে ।
  • ইনসস্ক্রিপ্টগুলিতে সেট করে স্বতঃপরিবর্তন সক্ষম করুন FSCKFIX=yes

যদি এটি পর্যাপ্ত না হয় তবে আপনি বাগি ডিস্কটি মাউন্ট না করেই আপনার সিস্টেমটি বুট করতে পারেন। ramdiskআপনি নিজের বগি ডিস্কটি ম্যানুয়ালি পরীক্ষা করে মেরামত করার পরিবর্তে একটি তাজা তৈরি করুন । এটি স্ক্রিপ্টগুলি দ্বারা স্বয়ংক্রিয়ও করা যেতে পারে।

পরের স্তরে আপনাকে এম্বেড থাকা সিস্টেম ছেড়ে উচ্চ প্রাপ্যতা সম্পর্কে কিছু বিষয় পড়তে হবে


ইনসক্রিপ্টের জন্য, স্বয়ংক্রিয় চেকিং এমন কিছু যা ওপিকে এড়াতে চায়। সুতরাং ফাইল সিস্টেমকে অনলাইন ফাইল সিস্টেমের চেকিং সমর্থন করতে হবে।
ব্র্যাচলে

1
সঙ্গে yournal_data_orderedবা replay_journal_onlyএটি পরীক্ষা করার একমাত্র সেকেন্ড সময় লাগে, যে পার্থক্য।

1
হ্যাঁ. আপনি কি এমন কোনও ফাইল সিস্টেম সম্পর্কে জানেন যা অনলাইন চেকিং সমর্থন করে?
ইলিশার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.