বিদ্যুৎ হ্রাসের কারণে কোন ফাইল সিস্টেম দুর্নীতির বিরুদ্ধে ডেটা সুরক্ষার জন্য সেরা সুরক্ষা সরবরাহ করে?


9

আমি একটি x86 ডিভাইসে একটি ছোট uClibcএবং busyboxভিত্তিক এমবেডেড সিস্টেম চালাচ্ছি । আমি একটি ইনিরামফ ব্যবহার করছি তবে আমি ext3আইডিই মোডে একটি কমপ্যাক্ট ফ্ল্যাশ ডিভাইসে একটি কাস্টম ডিরেক্টরিও মাউন্ট করছি যা আমি কাস্টম লিখিত সি ++ অ্যাপ্লিকেশন দ্বারা নির্মিত অবিচ্ছিন্ন পরিমাপ লগিং ডেটা সঞ্চয় করতে ব্যবহার করছি। আমি ext3ফাইল সিস্টেমটি বেছে নিয়েছি কারণ আমি যে দুটি বই পড়েছি সেগুলিতে আইডিই মোডে সিএফ ড্রাইভ ব্যবহার করার সময় বিদ্যুতের ক্ষতির বিরুদ্ধে সুরক্ষার জন্য সুপারিশ করা হয়েছে ( করিম ইয়াঘমোর লিখেছেন এম্বেডেড লিনাক্স সিস্টেম এবং ক্রিস্টোফার হ্যালিনান এম্বেডেড লিনাক্স প্রাইমার )। এটি বিশেষত গুরুত্বপূর্ণ এবং ডেটা সমালোচনামূলক।

যাইহোক, আমার পূর্ববর্তী প্রশ্নে কিছু মন্তব্যের কারণে বিভ্রান্ত হওয়া ফাইলগুলি কীভাবে দুর্নীতিগ্রস্থ ext3 ফাইলগুলি পুনরুদ্ধার করবেন তা নিয়ে বিভ্রান্তি একটি ফাইলের লেখার সময় বিদ্যুৎ বিভ্রাট দেখা দিলে এটি প্রদর্শিত হবে যে বাস্তবে এই ফাইল সিস্টেমটি ক্ষমতার কারণে ডেটা দুর্নীতির বিরুদ্ধে সুরক্ষার গ্যারান্টি সরবরাহ করে না ক্ষয়। তাই আমি জানতে চাই

  1. কি ext3আসলে এই সেটআপ জন্য সবচেয়ে ভাল পছন্দ?
  2. একটি ডিস্ক রাইটিং অপারেশনের সময় শক্তি হ্রাস কি কেবলমাত্র আমি সময়ে সময়ে ফাইলটিতে সংযোজন করছি এমন ডেটার অংশটিকেই নষ্ট করে দেয় বা এটি পুরো ফাইলটিকে দূষিত করতে পারে ?
  3. বিদ্যুৎ হ্রাসের স্থানে যে ডেটা লেখা হচ্ছে না তা কি সম্পূর্ণ নিরাপদ? বিশেষত, আমার initramfs.cpioফাইলটিও দুর্নীতিগ্রস্থ হতে পারে এমন কোনও ঝুঁকি রয়েছে?
  4. ডেটা রক্ষার জন্য আমি আমার অ্যাপ্লিকেশন কোডটিতে কোন পদ্ধতি ব্যবহার করতে পারি (যেমন অতিরিক্ত পার্টিশন তৈরি করা এবং ছবিগুলিকে মিররগুলিতে লিখতে যাতে সর্বদা ২ টি অনুলিপি থাকে) - গতি আমার অ্যাপ্লিকেশনটির জন্য এত ব্যয়বহুল অনুলিপি অপারেশনগুলির জন্য আসল সমস্যা নয় গ্রহণযোগ্য।

আমি এই সম্পর্কিত প্রশ্নের উত্তরগুলি দেখেছি এবং পড়েছি: বিদ্যুৎ ব্যর্থ হওয়ার পরে ফাইল সিস্টেম জার্নালিং কি দুর্নীতির বিরুদ্ধে গ্যারান্টি দেয়? , তবে এটি আমাকে বিভ্রান্ত করছে এমন কিছু বিষয়কে পুরোপুরি কভার করে না।

আমি বুঝতে পারি যে আমি প্রচুর প্রশ্ন করছি কিন্তু মনে হচ্ছে প্রচুর উপাদান পড়ার পরেও বিদ্যুতের ক্ষয়ক্ষতির ক্ষেত্রে আমার ডেটাগুলির ঝুঁকিগুলি বুঝতে আমার একটি মৌলিক ব্যর্থতা ছিল।

উত্তর:


11

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

এর মধ্যে কিছু মেশিন এমনকি অ-জার্নালিড ফাইল সিস্টেমগুলিতে চলছে (ইউএফএস এবং সাধারণত 2 এক্স)। তাদের মধ্যে কিছু এম্বেড করা ছিল এবং কয়েকটি নোকিয়া এন 900 এর মতো মোবাইল ফোন ছিল - সুতরাং একটি ভাল বিদ্যুত সরবরাহ সরবরাহ করা মোটেও নিশ্চিত ছিল না।

এটি এমন নয় যে ফাইল সিস্টেম দুর্নীতি ঘটতে পারে না, এটি হওয়ার সম্ভাবনা যথেষ্ট কম যে এটি আপনাকে উদ্বেগ করা উচিত নয়। তবুও, আপনার বেটে হেজে না যাওয়ার কোনও কারণ নেই।

আপনার আক্ষরিক প্রশ্নের উত্তরে:

  1. কমপক্ষে আপনার প্রথমে উল্লেখিত বইটি আগে লেখা হয়েছিল ext4- লেখক যখন ব্যবহার করার পরামর্শ দেন তখন ext3তারা সত্যিই বলে থাকে 'অস্থির বা অ-জার্নালযুক্ত ফাইল সিস্টেমের মতো ব্যবহার করবেন না ext2')। চেষ্টা করুন ext4, এটি বেশ পরিপক্ক এবং নন-স্পিনিং ডিস্কের জন্য কিছু শালীন বিকল্প রয়েছে যা আপনার ফ্ল্যাশ ডিভাইসের আয়ু বাড়িয়ে তুলতে পারে।
  2. সম্ভাবনা হ'ল এটি আপনাকে শেষ বা দুটি ব্লক হারাবে, পুরো ফাইলটি নয়। একটি জার্নাল ফাইল সিস্টেমের সাথে, এটি কেবলমাত্র ক্ষতিই হবে। এখানে ব্যর্থতার পরিস্থিতি রয়েছে যেখানে আমি ফাইল জুড়ে এলোমেলো ডেটা স্প্রে করতে দেখতে পেলাম তবে এগুলি সম্ভবত আপনার এমবেডেড ডিভাইসের মাধ্যমে মাইক্রোমিওরিট বিস্ফোরণ হিসাবে সম্ভবত দেখা যায়।
  3. দেখুন 2. কিছুই 100.00% নিরাপদ নয়।
  4. আপনার যদি দ্বিতীয় আইডিই চ্যানেল থাকে তবে সেখানে একটি দ্বিতীয় সিএফ কার্ড স্টিক করুন এবং পর্যায়ক্রমে ফাইল সিস্টেমের একটি ব্যাকআপ ধরুন। এই কাজ করতে কয়েক উপায় আছে: rsync, cp dump, dd, এমনকি ব্যবহার md(4)(সফ্টওয়্যার RAID) ডিভাইসটি (আপনি দ্বিতীয় ড্রাইভ মাঝেমধ্যে যোগ করুন, এটি সিঙ্ক যাক, তারপর এটি অপসারণ - উভয় ডিভাইসের সব সময় লাইভ যদি, তারা একই ঝুঁকি চালানো ফাইল সিস্টেমের দুর্নীতির)। আপনি যদি এলভিএম ব্যবহার করেন তবে আপনি স্ন্যাপশটগুলিও দখল করতে পারেন। ডেটা সংগ্রহের এম্বেড থাকা ডিভাইসের জন্য, আমি কেবলমাত্র এমড হক সলিউশনটি ব্যবহার করব যা দ্বিতীয় ফাইল সিস্টেমকে মাউন্ট করে, ডেটা লগের অনুলিপিগুলি, অবিলম্বে এটি আনম্যাট করে। আপনি যদি ডিভাইসটির বুট চিত্র ভাল থাকে সে সম্পর্কে উদ্বিগ্ন হন, তবে দ্বিতীয় ডিভাইসে বুট পরিচালকের দ্বিতীয় কপি এবং সমস্ত প্রয়োজনীয় বুট চিত্র আটকে রাখুন এবং সিএফ কার্ড থেকে কম্পিউটার বুট করতে কনফিগার করুন।

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

    যদি ডেটাটি বিশেষভাবে সংবেদনশীল হয় তবে আমি ডিভাইসে নিয়মিত পরিদর্শন করবো, একটি নতুন সন্ধানের জন্য ব্যাকআপ সিএফ অদলবদ এবং পুনরায় বুট করব, এটির fsckসমস্ত ফাইল সিস্টেমকে ভাল পরিমাপের জন্য রেখে।


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

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

এই উত্তরের জন্য ধন্যবাদ। এটি আমার জন্য বিষয়গুলি যথেষ্ট স্পষ্ট করে।
গণিতবিদ

4

আমার কাছে মনে হচ্ছে হঠাৎ বিদ্যুৎ হ্রাসের ক্ষেত্রে ফাইল সিস্টেম বাস্তবায়ন যা অর্জন করতে পারে তা সীমাবদ্ধ - সর্বোপরি, এটি আসলে হার্ডওয়্যারটির সাথে হস্তক্ষেপ করছে, সুতরাং এটি যখন হার্ডওয়্যারকে ডেটা / নির্দেশনা প্রেরণ করে এবং যখন এটি ঘটে তখন তার মধ্যে কী ঘটে? একটি প্রতিক্রিয়া পায় তার নিয়ন্ত্রণের বাইরে। যদি এমন কোনও ফাইল সিস্টেম থাকে যা এই সমস্যাটিকে অবরুদ্ধ করতে পারে তবে আপনি এটি শুনেছেন।

সে কারণে, সমালোচনামূলক ডেটা সুরক্ষার একটি কৌশল একটি হার্ডওয়্যার স্তরের সিদ্ধান্ত গ্রহণের মাধ্যমে সবচেয়ে বেশি উপকৃত হবে , যেমন, একটি নিরবচ্ছিন্ন বিদ্যুৎ সরবরাহ ব্যবহার করে। সম্ভবত এটি আপনার পরিস্থিতিতে এটি এতটা সম্ভব নয়।

আপনি বলেছেন যে পারফরম্যান্স আসলে কোনও বড় সমস্যা নয়, তাই এর যথাযথ ব্যবহার করুন fsync()

একটি ডিস্ক রাইটিং অপারেশনের সময় শক্তি হ্রাস কি কেবলমাত্র আমি সময়ে সময়ে ফাইলটিতে সংযোজন করছি এমন ডেটার অংশটিকেই নষ্ট করে দেয় বা এটি পুরো ফাইলটিকে দূষিত করতে পারে?

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

আমি মাঝে মাঝে ফাইলগুলি হারিয়ে যাওয়া বা শূন্য আকারে ছাঁটাই দেখতে পেয়েছি। আমি অনুমান করি যে এগুলি একরকম পুনরুদ্ধারযোগ্য হওয়ার একটি ভাল সম্ভাবনা রয়েছে; তাদের ব্যাক আপ করা হওয়ায় এটি আমার পক্ষে প্রয়োজনীয় ছিল না। বেশিরভাগ সময় যদি কিছু ভুল হয় তবে fsckএটির সাথে এটি व्यवहार করে।

বিদ্যুৎ হ্রাসের স্থানে যে ডেটা লেখা হচ্ছে না তা কি সম্পূর্ণ নিরাপদ? বিশেষত, আমার initramfs.cpio ফাইলটিও দুর্নীতিগ্রস্থ হতে পারে এমন কোনও ঝুঁকি রয়েছে?

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

ডেটা রক্ষার জন্য আমি আমার অ্যাপ্লিকেশন কোডটিতে কোন পদ্ধতি ব্যবহার করতে পারি?

Fsync () সম্পর্কে পয়েন্টটি পুনরাবৃত্তিযোগ্য । সি ++ / আইস্ট্রিমে অবজেক্টগুলির জন্য এটির জন্য কোনও পদ্ধতি নেই (:: ফ্লাশ এবং :: সিঙ্কটি ফাইসিঙ্ক নয়) তবে আপনার যা যা দরকার তা হ'ল ফাইল বিবরণকারী।


এই উত্তরটির জন্য থ্যাঙ্কিও এটি খুব সহায়ক। আমি পার্টিশনটি মাউন্ট করছি syncযা /etc/fstabফাইলটিতে বিকল্পের মাধ্যমে লিখিত হয়ে যায় কারণ আমি বুঝতে পারি যে এটি লেখাকে সিঙ্ক্রোনালি ঘটতে বাধ্য করে। আমি ধরে নিচ্ছি যে এর অর্থ এই যে যখন আমার ফাইল রাইটিং কোডটি ফিরে আসে, তখন ডেটা শারীরিকভাবে ডিস্কে লেখা হয়। আমি বুঝতে পেরেছিলাম যে syncমূলত মাউন্টটি fsync(my_filedescriptor)লেখার পরে কল করার মতো একই কাজ করে । আমার বোঝার বিষয়টি কি সঠিক?
গণিতবিদ

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

1

জেডএফএস অবশ্যই একটি ফাইল সিস্টেম যা ডিজাইনের মাধ্যমে দুর্নীতির বিরুদ্ধে সুরক্ষিত এবং সম্ভবত এটিই একমাত্র। তবে আমি ইউসি্লিনাক্স ভিত্তিক প্ল্যাটফর্মগুলির জন্য জেডএফএস বাস্তবায়নের (ফিউজ ভিত্তিক বা দেশীয়) প্রাপ্যতা সম্পর্কে নিশ্চিত নই।


0

কমপক্ষে একটি বাণিজ্যিক ফাইল সিস্টেম রয়েছে যা বিদ্যুতের ব্যর্থতার কারণে ফাইল-সিস্টেমটিকে প্রায় দূষিত করা যায় না এবং বিদ্যুৎ চলে যাওয়ার সাথে সাথে আপনার যুক্ত হওয়া ডেটা হ'ল সেই ডেটা হ'ল যে ডেটাটি হ্রাস পাওয়ার ঝুঁকিপূর্ণ তা নিশ্চিত করে তোলে a

ডাউন-সাইডটি এটি খুব ব্যয়বহুল, উপরের দিকে তারা দুর্দান্ত সমর্থন দেয় support ব্যয়ের কারণে, এটি উচ্চতর দাম এবং / বা উচ্চ ভলিউম পণ্যগুলির জন্য কেবলমাত্র একটি বিকল্প। যেমন তেল এবং গ্যাস উত্পাদনের সমালোচনামূলক এম্বেডেড সরঞ্জামগুলির মতো যা "অনিশ্চিত" অপারেটিং অবস্থার মধ্যে সিস্টেমের অখণ্ডতা নিশ্চিত করা প্রয়োজন (যেমন ঘন ঘন বিদ্যুৎ বিভ্রাট ইত্যাদি)।

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

আমার ক্ষমাপ্রার্থী যদি এটি কোনও বিজ্ঞাপনের মতো পড়ে থাকে তবে কেবল বিকল্পগুলি নির্দেশ করতে চাই।


হাই এবং সাইটে আপনাকে স্বাগতম। আপনি যদি পণ্যগুলির পরামর্শ দিতে যাচ্ছেন তবে দয়া করে i) প্রশ্নযুক্ত পণ্যটির একটি লিঙ্ক সরবরাহ করুন; ii) এটি বিকল্পগুলির চেয়ে কেন ভাল তা ব্যাখ্যা করুন (আপনি কেবল দাবি করেন যে এটি একটি দুর্দান্ত কাজ করে তবে অন্য কোনওটির চেয়ে কেন ভাল তা ব্যাখ্যা করবেন না); iii) আপনি যদি এটি তৈরির সংস্থার সাথে সম্পর্কিত হন তবে আপনাকে সেই স্পষ্ট করতে হবে বা স্প্যামিংয়ের অভিযোগ করা উচিত (এমন নয় যে আপনি কেবল মাথা উঁচু করে বলছেন)।
টেরডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.