سیستم عامل Raspberry Pi بر روی کارت SD یا دیسک USB نصب شده است. با توجه به محدودیت چرخه نوشتن سلول های فلش در کارت های SD، قابلیت اطمینان آنها تضمین نمی شود. دیسکهای سخت و SSD از نظر قابلیت اطمینان بهتر عمل میکنند. دومی از الگوریتم های سطح سایش برای افزایش عمر دستگاه استفاده می کند. اما با این حال، نگه داشتن اطلاعات تنها روی یک دیسک همیشه خطرناک است.
سیستم عامل Raspberry Pi بر روی کارت SD یا دیسک USB نصب شده است. با توجه به محدودیت چرخه نوشتن سلول های فلش در کارت های SD، قابلیت اطمینان آنها تضمین نمی شود. دیسکهای سخت و SSD از نظر قابلیت اطمینان بهتر عمل میکنند. دومی از الگوریتم های سطح سایش برای افزایش عمر دستگاه استفاده می کند. اما با این حال، نگه داشتن اطلاعات تنها روی یک دیسک همیشه خطرناک است.
ایده انعکاس داده ها با استفاده از RAID-1
برای جلوگیری از از دست رفتن داده ها در صورت خرابی دیسک، RAID-1 data mirroring باید اجرا شود. مشکل این است که راه اندازی RAID در مرحله نصب سیستم عامل روی Raspberry Pi امکان پذیر نیست.
این ایده در مورد راه اندازی RAID-1 Mirroring بر روی دو درایو USB SSD، سپس کپی کردن فهرست خانه در پارتیشن RAID و پیکربندی برای استفاده از آن به عنوان /home است. از آنجایی که دادههای کاربر در فهرست اصلی قرار دارند، میتوان دادهها را به طور کامل بازیابی کرد و در صورت خرابی یک دیسک، RAID را دوباره بازسازی کرد.
سیستم عامل همچنان روی کارت SD (یا SSD دیگر) باقی خواهد ماند. اگر دیسک سیستم عامل خراب شود، داده های مهم همچنان در آرایه RAID-1 در دسترس هستند. همچنین، دیسک سیستم عامل بیشتر دوام می آورد زیرا فشار دیسک کمتری وجود دارد. این به این دلیل است که اکثر فعالیتهای دیسک در دایرکتوری home انجام میشود (مثلاً خواندن/نوشتن مداوم در «فایلهای نمایه فایرفاکس»).
این فرآیند از یک رابط وب برای ساده کردن فرآیند پیچیده تنظیم RAID استفاده می کند. راه اندازی نشان داده شده در اینجا از اوبونتو MATE 22.04 استفاده می کند و همین فرآیند را می توان برای هر سیستم عامل دیگر Pi اعمال کرد.
با توجه به در دسترس بودن نیرو، سخت افزار مناسب را انتخاب کنید
حداقل دو دیسک برای RAID-1 مورد نیاز است. این دیسک ها می توانند هارد دیسک یا SSD باشند. هنگامی که RAID-1 راه اندازی شد، داده ها در سراسر آرایه منعکس می شوند (کلون می شوند). این بدان معنی است که داده ها روی هر دو دیسک نوشته می شوند و از سریع ترین عضو RAID خوانده می شوند.
از آداپتورهای USB به SATA برای اتصال SSD به Pi استفاده می شود. یک SSD در اوج مصرف حدود 5 وات برق مصرف می کند. از آنجایی که دو مورد از آنها برای RAID-1 مورد نیاز است، در دسترس بودن توان باید در نظر گرفته شود.
2 (SSD) x 5 (وات) = 10 وات
یک Pi 4 که در ساعت استاندارد کار می کند حدود 6 وات مصرف می کند و یک Pi 4 اورکلاک شده در بار کامل نزدیک به 8 وات مصرف می کند.
منبع تغذیه رسمی Raspberry Pi 4 5.1V, 3.0A است.
5.1 (ولت) x 3 (آمپر) = 15.3 وات
به طور خلاصه، برق مورد نیاز بیشتر از حداکثر خروجی آداپتور است.
10 وات + 8 وات > 15.3 وات
Pi همچنین باید سیستم خنک کننده خود را تامین کند. بنابراین، SSD ها باید از خارج تغذیه شوند تا فضای سر برای عملکرد پایدار داشته باشند.
یک USB HDD/SSD Dual Dock به طور ایده آل برای این منظور مناسب است، می تواند هر دو دیسک 2.5 و 3.5 اینچی را در خود جای دهد. آداپتور برق مخصوص به خود را دارد و از Pi برق نمی گیرد.
SD برای RAID، مدل هایی با TBW غیر یکسان را انتخاب کنید تا هر دو دیسک در فواصل زمانی مختلف نقاط خرابی داشته باشند. این به زمان کافی برای بازسازی آرایه RAID می دهد و داده های شما را برای همیشه دست نخورده نگه می دارد. دو درگاه USB 3.0 در Pi 4 وجود دارد. از آنجایی که داک فقط از یکی از آنها استفاده می کند، یک پورت یدکی برای اتصال دستگاه سریع دیگری همچنان در دسترس است.
ابزارهای تنظیم RAID-1 Mirroring را نصب کنید
دیسک ها را به داک وصل کنید و Pi را روشن کنید. راه اندازی RAID با استفاده از ابزاری به نام “Webmin” آسان است، رابط آن از طریق مرورگر قابل دسترسی است. ترمینال را باز کنید (میانبر: Ctrl+Alt+T) و از این دستورات برای نصب Webmin استفاده کنید:
ویرایش فایل sources.list:
sudo nano /etc/apt/sources.list
این خط را اضافه کنید (میانبر: Ctrl+Shift+Insert):
deb http://download.webmin.com/download/repository sarge contrib
فایل را با استفاده از Ctrl+O ذخیره کنید، Enter را بزنید و با استفاده از Ctrl+X از آن خارج شوید.
کلید دانلود برای اعتماد به منبع:
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
به روز رسانی مخازن جدید:
sudo apt update
نصب وبمین:
sudo apt install webmin -y
برنامه mdadm Software RAID را نصب کنید:
sudo apt install mdadm -y
ابزار مدیریت دیسک را نصب کنید:
sudo apt install gnome-disk-utility -y
یک رمز عبور برای کاربر اصلی (برای مدیریت وبمین) تنظیم کنید:
sudo su
passwd
به روز رسانی، ارتقا و راه اندازی مجدد:
sudo apt update && sudo apt upgrade -y && sudo reboot
فرآیند ساخت آرایه RAID-1
ابزار Disks را از Menu > Preferences باز کنید. همچنین می توانید از دستور زیر استفاده کنید:
gnome-disks
دیسک های جدید را نشان می دهد، هر دو را فرمت می کند.
مرورگر وب را باز کنید و این URL را وارد کنید:
https://localhost:10000
وبمین روی لوکال هاست در پورت 10000 اجرا می شود. از آنجایی که https استفاده می شود و گواهی SSL نصب نشده است، مرورگر یک هشدار نشان می دهد. میتوانید روی Advanced کلیک کنید و سپس ریسک را بپذیرید و ادامه دهید.
با کاربر به عنوان “root” و رمز عبوری که قبلا برای root تعیین کرده اید وارد شوید. ابتدا ماژولها را Refresh کنید. پس از اتمام، Hardware را گسترش دهید و Linux RAID را انتخاب کنید. از منوی بازشو، RAID1 (Mirrored) را انتخاب کنید و روی دکمه Create RAID device of level کلیک کنید.
با نگه داشتن کلید Ctrl دو دیسک را انتخاب کنید. رد کردن اولیهسازی دستگاهها را تغییر دهید. این به این دلیل است که مقداردهی اولیه زمان زیادی می برد، بیش از یک ساعت برای هر 100 گیگابایت، و نیازی به تکرار دیسک های خالی نیست.
روی ایجاد کلیک کنید. وبمین باید در عرض سه دقیقه با آرایه جدید ایجاد شده پاسخ دهد. سپس می توانید جزئیات بیشتر را از طریق /dev/md0 بررسی کنید. این دو دیسک به صورت پارتیشن در RAID نشان داده می شوند و وضعیت فایل سیستم فعال است اما نصب نشده است.
آرایه RAID جدید باید قبل از نصب آن فرمت شود. این کار را می توان با استفاده از دیسک های سمت چپ انجام داد. آرایه RAID-1 و پارتیشن فرمت را انتخاب کنید.
یک نام، به عنوان مثال Data. دکمه رادیویی دیسک داخلی را برای استفاده فقط با سیستم های لینوکس (Ext4) انتخاب کنید و برای فرمت کردن آن پیش بروید.
این آرایه باید در هر بوت به صورت خودکار نصب شود. Edit Mount Options را انتخاب کنید.
پیشفرضهای جلسه کاربر را تغییر دهید و روی OK کلیک کنید. پس از احراز هویت، این فرآیند فایل “/etc/fstab” را تغییر می دهد.
راه اندازی مجدد، آرایه RAID-1 نصب شده به عنوان پوشه “Data” در اکسپلورر فایل نشان داده می شود.
دایرکتوری Home را به آرایه RAID-1 منتقل کنید
برای انعکاس داده های مهم، دایرکتوری خانه باید روی آرایه RAID-1 باشد. توصیه می شود به جای جابجایی آن یک کپی تهیه کنید، دلیل آن این است که در آینده به “بازسازی RAID” کمک خواهد کرد.
در ترمینال:
dir /mnt
نام پایه RAID را کپی کنید، به نظر می رسد “6256d81c-c23c-42c4-aea3-d194466c6c33” و برای شما متفاوت است. نام دایرکتوری را جایگزین کنید و از این دستور برای کلون کردن دایرکتوری خانگی استفاده کنید:
sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/
این دایرکتوری جدید را به جای پوشه قدیمی به عنوان /home mount کنید:
sudo nano /etc/fstab
خط /dev/disk… را پیدا کنید (معمولاً آخرین خط از زمانی که آن را نصب کرده اید) و نقطه نصب را همانطور که در تصویر زیر نشان داده شده است به “/home” تغییر دهید.
راهاندازی مجدد، فهرست اصلی Pi اکنون روی RAID-1 است و دادهها منعکس میشوند.
گزینه های بازیابی شکست Raspberry Pi RAID
در صورت خرابی RAID، دو گزینه برای بازیابی وجود دارد که باید هم اکنون تنظیم شود.
1) آرایه تخریب شده را سوار کرده و دوباره بسازید
یک فایل جدید بسازید:
sudo nano /etc/initramfs-tools/conf.d/mdadm
این محتوا را درج کنید:
BOOT_DEGRADED=true
این آرایه RAID را سوار می کند حتی اگر دیسکی از کار بیفتد. فهرست خانه در آرایه تخریب شده استفاده خواهد شد.
2) آرایه تخریب شده را mount نکنید، بلکه دوباره بسازید
هیچ کاری نکنید، آرایه تخریب شده در هنگام بوت سوار نمی شود. دایرکتوری خانه قدیمی به جای آن استفاده خواهد شد. قبلاً به این دلیل دایرکتوری اصلی را به جای انتقال آن کپی می کردید. اکنون، به بازسازی آرایه RAID کمک خواهد کرد. پس از مشاهده داده های از دست رفته در این حالت وحشت نکنید، به یاد داشته باشید که این فهرست اصلی اصلی شما نیست. اطلاعات شما روی دیسک دیگری امن است و در انتظار بازیابی است.
در صورتی که وبمین پیغام خطای «mdadm: نمی توان اطلاعات آرایه برای /dev/md0 را دریافت کرد» را نشان داد.
از این دستور برای شروع آرایه استفاده کنید:
sudo mdadm --run /dev/md0
بازسازی آرایه در صورت شکست
در حالی که لازم نیست این مرحله را تکرار کنید، خوب است بدانید که در صورت خرابی دیسک می توان اطلاعات را بازیابی کرد.
فرآیند شبیه سازی
Pi خاموش می شود و یک دیسک حذف می شود. سپس Pi روشن می شود و وبمین دسترسی پیدا می کند. در RAID لینوکس، وضعیت اکنون به صورت غیرفعال نشان داده می شود. پس از بررسی بیشتر، بررسی /dev/md0 یک آرایه تخریب شده با تنها یک دیسک در RAID را نشان می دهد.
داده ها دست نخورده هستند، اما اکنون فقط روی یک دیسک هستند. آرایه RAID برای حفظ داده ها نیاز به بازسازی دارد.
Pi خاموش می شود، یک دیسک HDD/SSD خالی جدید به جای دیسک قبلی قرار می گیرد و Pi روشن می شود. Webmin قابل دسترسی است، علامت زدن /dev/md0 گزینههایی برای افزودن دیسک جدید به آرایه RAID را نشان میدهد. دیسک جدید را از منوی بازشو انتخاب کرده و روی Add Partition کلیک کنید.
بازسازی بلافاصله شروع می شود، مدت زمان بستگی به اندازه دیسک ها دارد. معمولاً برای هر 100 گیگابایت (برای SSD) یک ساعت طول می کشد.
حفاظت از داده های Pi شما ضروری است
با این پیاده سازی، داده ها امن تر است و Pi می تواند به عنوان یک درایور روزانه استفاده شود. اخیراً Raspberry Pi به طور گسترده در کاربردهای صنعتی استفاده می شود و می توان زمان خرابی را به حداقل رساند.
با انتخاب SSD ها می توانید انتخاب هوشمندانه ای داشته باشید. تولیدکنندگان SSDهای ظرفیت مشابهی در قیمتهای متفاوت دارند که تفاوت آنها TBW (مجموع بایتهای نوشته شده) است. مدل بهتر معمولاً 50 درصد TBW بیشتر دارد. هنگام استفاده از SSD برای RAID، مدل هایی با TBW غیریکسان را انتخاب کنید تا هر دو دیسک در فواصل زمانی مختلف نقاط خرابی داشته باشند. این به زمان کافی برای بازسازی آرایه RAID می دهد و داده های شما را برای همیشه دست نخورده نگه می دارد.