বিটিআরএফএস কি বিদ্যুৎ বিভ্রাটে ডেটা ধারাবাহিকতার গ্যারান্টি দেয়?


11

জেডএফএস যেমন একচেটিয়াভাবে বলেছে ,জেডএফএস অদৃশ্য বলে দাবি করা হচ্ছে জেডএফএস গ্রহণ করে যে এটি পাওয়ার ব্যর্থতার পক্ষে ঝুঁকিপূর্ণ হতে পারে।

বিটিআরএফএসের জন্য আমি এ জাতীয় বিবৃতি পাইনি। বিদ্যুৎ বিভ্রাটের মধ্যে এটি কি (বা ডিজাইন / পরিকল্পনা করার পরিকল্পনা) টেকসই?


আবার পড়তে. "যদি আপনার পুলটি ব্যর্থ হার্ডওয়্যার বা বিদ্যুৎ বিভ্রাটের কারণে ক্ষতিগ্রস্থ হয়, তবে জেডএফএস স্টোরেজ পুল-ওয়াইড ক্ষতির মেরামত দেখুন" " (..) কমান্ডটি ব্যবহার করে পুলটি পুনরুদ্ধার করার চেষ্টা করুনzpool clear -F
মাইকেল ডি।

সুতরাং আপনি বলছেন "জেডএফএস ডেটা ধারাবাহিকতার গ্যারান্টি দেয় না, এটি কেবল পুনরুদ্ধারের চেষ্টা করে"?
আনুষ্ঠানিকভাবে

হ্যাঁ. মোকাবেলায় বেশ কয়েকটি ক্যাশে রয়েছে, একটি হার্ড ড্রাইভ অন্তর্নির্মিত ক্যাশে, ওএস ক্যাশে / বাফার। এক পর্যায়ে এমন একটি syncবা আছে flushযা ডিস্কে ক্যাশে লেখেন, বা পাওয়ার আউটেজের সময় নয় , সেই তথ্যটি হারিয়ে যাবে। হার্ডডিস্কটি স্বাস্থ্যকর এবং কোনও বিদ্যুৎ বিভ্রাট না থাকলে জেডএফএস পুরোপুরি কাজ করতে পারে (বা কোনও ইউপিএস আউটজেটে সঠিকভাবে কম্পিউটারে শাটডাউন কম্পিউটারের সাথে সংযুক্ত থাকে)। আপনি FAT32 বা আরও কিছু বলতে পারবেন না।
মাইকেল ডি

2
ডেটা ক্ষতি কোনও উদ্বেগের বিষয় নয় কারণ বিদ্যুতের ক্ষয়ক্ষতি ঘটে যখন এটি প্রাকৃতিক পরিণতি হয় তবে ডেটা ধারাবাহিকতা আমার ক্ষেত্রে উদ্বেগজনক। একটি ফাইল সিস্টেম যেমন চরম পরিস্থিতিতে ডেটা আলগা করতে পারে, তবে ডিস্কে অসামঞ্জস্যপূর্ণ ডেটা তৈরি করে না। আমার ক্রমাগত স্ন্যাপশট সুবিধা প্রয়োজন, তাই আমি বিটিআরএফএসের সাথে চলতে থাকব। যদিও এনআইএলএফএস 2 আমার ক্ষেত্রে নিকটতম বিকল্প।
আনুষ্ঠানিকভাবে

1
আমি # বিটিআরএফএস আইআরসি-তে প্রশ্ন জিজ্ঞাসা করেছি, তারা বলেছিল যে should be ok if your hw isn't "buggy"যেখানে "বগি" নয় your hw has correct flush/barrier semantics। আমি এই প্রশ্নটির একটি লিঙ্ক আইআরসি-তে পোস্ট করেছি, আশা করি কেউ বিস্তারিতভাবে সময় লাগবে; তবে আপাতত এটাই।
হাই-এঞ্জেল

উত্তর:


5

আমি # বিটিআরএফএস আইআরসি-তে প্রশ্ন জিজ্ঞাসা করেছি, তারা বলেছিল যে should be ok if your hw isn't "buggy"যেখানে "বগি" নয় your hw has correct flush/barrier semantics

টিএল; ডিআর: এর অর্থ দাঁড়ায় যে বিটিআরএফএস জেডএফএসের মতো একইভাবে বিদ্যুৎ হ্রাসের কারণে ডেটা দুর্নীতির বিরুদ্ধে সুরক্ষিত।

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

কোনও ফাইলে লেখার সময় বিষয়গুলি কীভাবে আচরণ করা উচিত তা এখানে:

  1. ডিস্কে ব্লক মুক্ত করতে ডেটা লিখুন।
  2. Merkle গাছ * এর একটি অনুলিপি তৈরি করুন, (1) এ লিখিত পরিবর্তনগুলি অনুসারে আপডেট করুন।
  3. হার্ডওয়্যারকে ডিস্কে ডেটা ফ্লাশ করতে বলুন - হার্ডওয়্যার সমস্ত মুলতুবি থাকা ডেটা লিখে।
  4. নতুন Merkle ট্রিতে প্রধান পয়েন্টার আপডেট করুন।
  5. বিনামূল্যে পুরাতন ব্লকগুলির আর প্রয়োজন নেই।

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

"বগি" হার্ডওয়্যার দিয়ে কীভাবে জিনিসগুলি ভুল হতে পারে তা এখানে একটি উদাহরণ রয়েছে:

  1. ডিস্কে ব্লক মুক্ত করতে ডেটা লিখুন।
  2. Merkle গাছ * এর একটি অনুলিপি তৈরি করুন, (1) এ লিখিত পরিবর্তনগুলি অনুসারে আপডেট করুন।
  3. হার্ডওয়্যারটিকে ডিস্কে ডেটা ফ্লাশ করতে বলুন - হার্ডওয়্যার সমাপ্তির বিষয়টি নিশ্চিত করে তবে পুরো পথটি ফ্লাশ করে না (উদাহরণস্বরূপ ডেটা ডিস্কের লিখনের পিছনে থাকতে পারে)।
  4. নতুন Merkle ট্রিতে প্রধান পয়েন্টার আপডেট করুন। অন্যান্য মুলতুবি থাকা ডেটার আগে এই ডেটাটি ডিস্কে লিখিত হয়ে যায় (উদাহরণস্বরূপ, কারণ ডিস্কের মাথাটি সঠিক স্থানে থাকে)।
  5. পদক্ষেপে লিখিত ডেটা (1) এবং (2) ডিস্কে লিখিত হয়।
  6. বিনামূল্যে পুরাতন ব্লকগুলির আর প্রয়োজন নেই।

(4) এবং (5) এর মধ্যে বা পদক্ষেপ (5) সম্পাদন করার সময় পাওয়ার হারিয়ে গেলে ফাইল সিস্টেমটি বেমানান হয়ে যাবে। ফলস্বরূপ Merkle ট্রি এবং / অথবা ডেটা কেবলমাত্র আংশিকভাবে লিখিত হতে পারে যার ফলে ফাইল সিস্টেমটি অসঙ্গতিপূর্ণ হয়ে পড়ে।

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

* আমি এখানে জিনিসগুলি সরল করছি। আসলে পুরো গাছটি অনুলিপি করার প্রয়োজন নেই। পরিবর্তিত অংশগুলি কেবল যুক্ত করতে হবে - অবশিষ্ট অংশগুলি পুরানো এবং নতুন গাছের মধ্যে ভাগ করা যায়


এই সুন্দর ব্যাখ্যার জন্য আপনাকে ধন্যবাদ। যাইহোক, আইআরসি কথোপকথন সহ সমস্ত দাবির জন্য উদ্ধৃতি প্রয়োজন। তাহলে আপনার উত্তর গৃহীত হবে।
শে

আইআরসি লগগুলি সম্পর্কে, আমি এখানে @ হাই-অ্যাঞ্জেলের মন্তব্য উল্লেখ করছি। সে কি রেফারেন্স দিতে পারে? যদিও আমি অন্যান্য অংশে আরও কয়েকটি উল্লেখ যুক্ত করেছি।
মার্টিন

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

বিটিআরএফ দ্বারা ব্যবহৃত গাছগুলি আসলে উভয় বি-গাছ (এই সম্পত্তি গাছের "আকৃতি" এবং তারা স্ব-ভারসাম্য রক্ষার বিষয়ে ) এবং হ্যাশ / মের্কেল গাছ (পাতাগুলিতে কিছু ডেটার হ্যাশ থাকে, নোড থাকে তাদের বাচ্চাদের হ্যাশ, সুতরাং প্রতিটি পরিবর্তন মূল পর্যন্ত সমস্তভাবে প্রচার করে)। এই হ্যাশগুলি যাচাই করতে সক্ষম হওয়াই হ'ল বিটিআরএফ এবং জেডএফএসকে দূষিত ডেটা সনাক্ত করতে দেয় (এবং "মিররিং" মোডে ব্যবহৃত হলে এটি অন্য ডিস্ক থেকে পড়ুন)।
মার্টিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.