Bcachefs 1.33: উন্নত ডায়াগনস্টিকস, রিয়েল-টাইম মেট্রিক্স এবং Btree অপ্টিমাইজেশন

গুরুত্বপূর্ণ দিক:
  • বিস্তারিত ত্রুটি বার্তা: কারণ, প্রকার (কঠিন/নরম) এবং সমাধান ব্যাখ্যা করুন।
  • bcachefs fs top এখন রিয়েল-টাইম ট্রান্সফার স্পিড প্রদর্শন করে।
  • লোডের নিচে কর্মক্ষমতা উন্নত করতে Btree নোডের অ্যাসিনক্রোনাস ফিউশন
  • নতুন বিকল্প mount_trusts_udev এবং writeback_timeout।
  • রাস্টের আগমনের প্রস্তুতির জন্য কোডে গোটোর ব্যাপক হ্রাস (২৫০০ থেকে ৬০০ পর্যন্ত)।
bcachefs

Bcachefs হল লিনাক্স-ভিত্তিক অপারেটিং সিস্টেমের জন্য একটি কপি-অন-রাইট ফাইল সিস্টেম।

কিছুদিন আগে কেন্ট ওভারস্ট্রিট Bcachefs 1.33.0 প্রকাশের ঘোষণা দিয়েছেন । এটি ফাইল সিস্টেমটির একটি নতুন সংস্করণ যা ডেটা ব্যবস্থাপনা এবং এর সোর্স কোডের স্থাপত্যে গভীর কাঠামোগত পরিবর্তন এনেছে।

এই আপডেটটি গত দুই বছরের মধ্যে সবচেয়ে গুরুত্বপূর্ণ আপডেটগুলির মধ্যে একটি হয়ে উঠছে, যা মেটাডেটা অখণ্ডতা এবং সি কোডবেস আধুনিকীকরণের উপর দৃষ্টি নিবদ্ধ করে।

"রিকনসাইল": ডেটা অখণ্ডতার জন্য একটি নতুন যুগ

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

Rebalance_v2 সক্রিয়ভাবে এবং স্বয়ংক্রিয়ভাবে কাজ করে। যদি কোনও অ্যারেতে একটি নতুন ডিস্ক যুক্ত করা হয় বা রিডানডেন্সি বিকল্পগুলি পরিবর্তন করা হয়, তাহলে Bcachefs অবিলম্বে কোনও অবনমিত ডেটা বা মেটাডেটা প্রতিলিপি এবং সংশোধন শুরু করবে, গুরুত্বপূর্ণ ক্রিয়াকলাপগুলিকে অগ্রাধিকার দেওয়ার জন্য পৃথক সূচক ব্যবহার করবে। এটি নিশ্চিত করে যে নিবিড় রক্ষণাবেক্ষণ অপারেশনের সময়ও সিস্টেমের অখণ্ডতা বজায় রাখা হয়।

কোড পরিষ্কার এবং মরিচা প্রস্তুতি

এর আড়ালে, সংস্করণ ১.৩৩.০ সি কোডের একটি বিশাল পুনর্গঠন এনেছে যাতে এটি আরও নিরাপদ এবং ভবিষ্যতে বাস্তবায়নের সাথে সামঞ্জস্যপূর্ণ হয় জংডেভেলপার একটি গভীর পরিষ্কার সম্পাদন করেছেন, বিবৃতির সংখ্যা কমিয়েছেন। goto ২,৫০০ থেকে মাত্র ৬০০, যা প্রোগ্রামের যৌক্তিক প্রবাহকে ব্যাপকভাবে সরল করে তোলে।

এছাড়াও, নতুন ম্যাক্রো চালু করা হয়েছে যেমন DARRAY() y try()এগুলি রাস্ট এবং সি++ এর গতিশীল ভেক্টর আচরণ এবং ত্রুটি পরিচালনার অনুকরণ করার জন্য ডিজাইন করা হয়েছে। এটি কেবল বর্তমান কোডকে আধুনিকীকরণ করে না বরং বহনযোগ্যতাও সহজতর করবে এবং ভবিষ্যতে মেমরি ফল্ট পৃষ্ঠকে হ্রাস করবে।

উন্নত ডায়াগনস্টিকস এবং স্টোরেজ নমনীয়তা

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

এই স্বচ্ছতা বিভিন্ন স্তরে বিস্তৃত:

  • বিস্তারিত I/O ত্রুটি: যখন ব্লক লেয়ারটি ব্যর্থতার রিপোর্ট করে, তখন Bcachefs এখন নির্দিষ্ট কোডটি প্রেরণ করে (যেমন BLK_STS_IOERR), যা প্রকৃত ডিস্কটি অপরাধী কিনা তা সনাক্ত করতে সাহায্য করে।
  • সমাবেশ ত্রুটি: যদি কোনও ভলিউম একত্রিত করার জন্য ডিভাইসগুলি অনুপস্থিত থাকে, তাহলে সিস্টেমটি এখন ঠিক কোন ইউনিটটি অনুপস্থিত তা নির্দেশ করে, শেষবার কখন এটি দেখা হয়েছিল তার উপর ভিত্তি করে এর নাম এবং মডেল দেখায়।
  • ত্রুটির হারের সীমা: "সফট" (সফ্টওয়্যার) এবং "হার্ড" (হার্ডওয়্যার) ত্রুটির সীমানা পৃথক করা হয়েছে, যাতে ছোটখাটো ত্রুটির বন্যা একটি গুরুত্বপূর্ণ ডিস্ক ব্যর্থতাকে ঢেকে না রাখে।

অতিরিক্তভাবে, কমান্ডটি bcachefs fs top এটি উন্নত হয়েছে। অভ্যন্তরীণ কাউন্টারগুলি এখন কেবল স্ট্যাটিক সংখ্যার পরিবর্তে ডেটা স্থানান্তর গতি প্রদর্শন করে, যা ইভেন্টগুলির সাথে সম্পর্ক স্থাপন করা অনেক সহজ করে তোলে (যেমন data_update_fail) রিয়েল-টাইম কর্মক্ষমতা হ্রাস সহ।

Btrees-এ অপ্টিমাইজেশন এবং নতুন মাউন্টিং বিকল্পগুলি

বি-ট্রি ব্যবস্থাপনার পরিবর্তনের ফলে ভারী-লোড কর্মক্ষমতা উন্নত হয়েছে। খালি নোডগুলি এখন অ্যাসিঙ্ক্রোনাসভাবে মার্জ করা হয়, যার ফলে লেখার বাফারের বাধা দূর হয়। অতিরিক্তভাবে, একটি ঐচ্ছিক পুনরুদ্ধার পাস যোগ করা হয়েছে। merge_btree_nodes, প্রয়োজনে গাছের কাঠামো ম্যানুয়ালি অপ্টিমাইজ করার জন্য।

আরেকটি খুব ব্যবহারিক যোগ করা বৈশিষ্ট্য হল কনফিগারেশন সহ একটি ফাইল সিস্টেম বুট করার ক্ষমতা replicas=2 একটি মাত্র ডিস্কেএটি ব্যবহারকারীদের একটি একক ড্রাইভ দিয়ে শুরু করার সুযোগ দেয়, কারণ তারা জেনে থাকে যে সিস্টেমটিতে "অবশ্যই" অতিরিক্ত কিছু থাকতে হবে; দ্বিতীয় ড্রাইভ সংযুক্ত হওয়ার সাথে সাথে, Bcachefs জটিল ম্যানুয়াল হস্তক্ষেপ ছাড়াই স্বয়ংক্রিয়ভাবে ডেটা প্রতিলিপি করে।

অবশেষে, এটি উল্লেখ করা প্রয়োজন যে নতুন সংস্করণটি, যা ইতিমধ্যে ডেবিয়ান, ফেডোরা, আর্চ লিনাক্স এবং নিক্সওএস-এর মতো ডিস্ট্রিবিউশনগুলির জন্য উপলব্ধ, তার জন্য লিনাক্স কার্নেল ৬.১৬ বা তার উচ্চতর সংস্করণ প্রয়োজন এবং এটি দুটি মৌলিক প্যাকেজে বিতরণ করা হয়: কার্নেল মডিউল (bcachefs-kernel-dkms) এবং ইউজার টুলস (bcachefs-tools)।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন