কেন A/B পার্টিশন?
এম্বেডেড সিস্টেমগুলিতে, ব্যর্থ আপডেটগুলি ডিভাইসগুলিকে ইট করতে পারে। একটি এ / বি লেআউট দুটি রুট ফাইল সিস্টেম বজায় রেখে এটি সমাধান করে:
- স্লট এ — সক্রিয় রুটফ
- স্লট বি - পরবর্তী আপডেটের জন্য স্ট্যান্ডবাই রুটফস
যখন কোনও আপডেট সফল হয়, বুটলোডার নতুন স্লটে স্যুইচ করে। যদি বুট ব্যর্থ হয় তবে এটি সর্বশেষ পরিচিত ভাল সংস্করণে ফিরে যায়।
এই পদ্ধতিটি পূর্বানুমান করে, স্লট এ এবং স্লট বি পার্টিশনের একই আকার রয়েছে, যা এম্বেডেড সিস্টেমগুলিতে কখনও কখনও জটিল হতে পারে, যখন সংস্থানগুলি সীমিত থাকে।
আরেকটি পদ্ধতি হ'ল, একটি ছোট রেসকিউ সিস্টেমের জন্য পার্টিশন তৈরি করা এবং সাধারণ চলমান সিস্টেমের জন্য একটি বৃহত্তর পার্টিশন তৈরি করা।
উদাহরণ: পার্টিশন লেআউট
| পার্টিশন | টাইপ উদ্দেশ্য | |
|---|---|---|
| পি 1 | FAT32 | /boot_A (কার্নেল, সিএমডিলাইন, বুটলোডার) |
| পি 2 | ext4 | রুটএফএস এ |
| পি 3 | FAT32 | /boot_B (কার্নেল, সিএমডিলাইন, রেসকিউ সিস্টেমের জন্য বুটলোডার) |
| পি 4 | ext4 | rootfs_B |
| পি 5 | ext4 | উপাত্ত / কনফিগারেশন |
ব্যবহারিক উদাহরণ
এই সেটআপটি দুটি rpi-image-genউদাহরণ প্রকল্পে প্রদর্শিত হয়:
- https://github.com/interelectronix/rpi-image-gen-projects/blob/main/deb12-cm5-rescue/README.md
- https://github.com/interelectronix/rpi-image-gen-projects/blob/main/deb12-cm5-ix-base/README.md
প্রথমটি উদ্ধার সিস্টেম তৈরি করে এবং দ্বিতীয়টি উদ্ধার সিস্টেমকে অন্য চলমান সিস্টেমের সাথে একত্রিত করে, cmdline.txt এবং fstabপার্টিশন লেবেলগুলি সামঞ্জস্য করে।
আপডেট পরিচালনা করা হচ্ছে
কনফিগারেশন, অ্যাপ্লিকেশন বা সিস্টেম উপাদানগুলি আপডেট করতে আপনি নিষ্ক্রিয় সিস্টেম পার্টিশনটি ম্যানুয়ালি মাউন্ট করতে পারেন।
উত্পাদন সিস্টেমের জন্য, আপডেটগুলি সাধারণত SWUpdateএর মাধ্যমে পরিচালিত হয়, যা এই প্রক্রিয়াটিকে নিরাপদে স্বয়ংক্রিয় করে।
SWUpdate সঙ্গে একীকরণ
SWUpdate স্থানীয়ভাবে ডুয়াল-রুটফ (এ / বি) আপডেট কৌশলগুলি সমর্থন করে।
পার্টিশন এবং আপডেট লজিক সরাসরি sw-description ফাইলে সংজ্ঞায়িত করা হয়।
এই পদ্ধতিটি বিল্ট-ইন রোলব্যাক সুরক্ষা সহ পারমাণবিক সিস্টেম আপডেটগুলি নিশ্চিত করে - হেডলেস বা দূরবর্তী ডিভাইসগুলির জন্য একটি প্রয়োজনীয় বৈশিষ্ট্য, যেখানে ম্যানুয়াল পুনরুদ্ধার সম্ভব নয়।
এই সিরিজের নিবন্ধ
- Raspberry Pi Compute Module 5জন্য একটি উত্পাদন-প্রস্তুত Linux তৈরি করা
- স্টক ওএস থেকে প্রোডাকশন প্ল্যাটফর্ম
- কাস্টমাইজিং Raspberry Pi OS উইথ rpi-image-gen
- সিস্টেম দৃঢ়তা - একটি A/B রুট ফাইল সিস্টেম লেআউট ডিজাইন করা
- প্রভিশনিং - rpi-sb-provisionerদিয়ে প্রথম বুট স্বয়ংক্রিয় করা
- OTA এবং লাইফসাইকেল — SWUpdateসহ সফ্টওয়্যার আপডেট
সূত্র
- rpi-image-gen: https://github.com/raspberrypi/rpi-image-gen
- rpi-sb-provisioner: https://github.com/raspberrypi/rpi-sb-provisioner
- SWUpdate: https://github.com/sbabic/swupdate
- swugenerator: https://github.com/sbabic/swugenerator