رسانه افزار معتبرترین مرکز تخصصی خدمات بازیابی اطلاعات سختافزاری و نرمافزاری در ایران و خاورمیانه با متخصصینی با 30 سال تجربه در خدمات گسترده دیتا ریکاوری به دهها هزار مشتری
تماس با مااز دست رفتن اطلاعات در یک سرور یا سیستم لینوکسی که از Software RAID استفاده میکند، میتواند به دلایلی مانند خرابی دیسک، حذف یا آسیب Metadata، خاموشی ناگهانی، خطای فایلسیستم، اشتباه در تنظیم RAID یا از دست رفتن چند عضو آرایه اتفاق بیفتد.
RAID نرمافزاری لینوکس معمولاً با فناوری Linux MD RAID مدیریت میشود و ابزار شناختهشده mdadm برای ایجاد، بررسی، مدیریت و سرهمکردن آرایههای MD کاربرد دارد. هسته لینوکس نیز ساختار MD را بهصورت مستقیم پشتیبانی میکند. (Linux Kernel Archives)
در چنین شرایطی، بازیابی اطلاعات فقط به سالم بودن هاردها محدود نیست. باید ساختار RAID، Metadata، ترتیب دیسکها، نقش هر دیسک، اندازه Chunk، وضعیت آرایه و فایلسیستم بهصورت دقیق بررسی شود.
در Software RAID، مدیریت آرایه RAID توسط نرمافزار و سیستمعامل انجام میشود و برای انجام عملیات RAID الزاماً به یک RAID Controller سختافزاری مستقل نیاز نیست.
یکی از مهمترین پیادهسازیهای Software RAID در لینوکس، Linux MD RAID است که معمولاً با ابزار mdadm مدیریت میشود.
در این ساختار ممکن است چند دیسک فیزیکی در قالب یک دستگاه منطقی مانند:
/dev/md0
در اختیار سیستمعامل قرار بگیرند. مستندات هسته لینوکس نیز MD را بهعنوان یک لایه RAID معرفی میکنند و اطلاعاتی مانند RAID Level، تعداد دیسکها و Chunk Size را برای آرایه در نظر میگیرند. (Linux Kernel Archives)
در هنگام خرابی، ممکن است خود دیسکها سالم باشند اما آرایه دیگر بهدرستی Assemble نشود.
برای مثال:
Disk 1 + Disk 2 + Disk 3 + Disk 4 → Linux MD RAID → File System
ممکن است یکی از این لایهها دچار مشکل شده باشد:
دیسک → RAID → پارتیشن → LVM → فایلسیستم
به همین دلیل، در یک پرونده حرفهای باید کل زنجیره ذخیرهسازی بررسی شود، نه فقط یک هارد.
Linux MD میتواند ساختارهای مختلف RAID را مدیریت کند. از جمله:
RAID 0
RAID 1
RAID 4
RAID 5
RAID 6
RAID 10
Linear
Multipath
برخی ساختارهای ترکیبی و پیکربندیهای خاص
هسته لینوکس برای MD اطلاعاتی مانند Level، تعداد دیسکهای آرایه و Chunk Size را نگهداری میکند و این پارامترها در بازسازی ساختار RAID اهمیت دارند. (Linux Kernel Archives)
در RAID 0، اطلاعات میان چند دیسک توزیع میشوند و افزونگی وجود ندارد.
بنابراین خرابی یک دیسک میتواند باعث از دسترس خارج شدن بخشهایی از اطلاعات شود.
در بازیابی RAID 0 باید مواردی مانند:
تعداد دیسکها
ترتیب دیسکها
Chunk Size
Offset
وضعیت هر دیسک
فایلسیستم
مشخص شوند.
RAID 1 اطلاعات را بهصورت Mirror روی دیسکهای عضو نگهداری میکند.
در نتیجه، اگر یکی از دیسکها خراب شود، ممکن است نسخه قابل استفاده اطلاعات روی دیسک دیگر وجود داشته باشد.
اما در صورت خرابی همزمان، اختلاف نسخهها یا آسیب Metadata، بررسی دقیق آرایه ضروری است.
RAID 5 علاوه بر داده، از Parity نیز استفاده میکند و اطلاعات و Parity در میان دیسکها توزیع میشوند.
در مستندات Linux MD، RAID 5 یکی از ساختارهای پشتیبانیشده است و نحوه قرارگیری داده و Parity و همچنین Chunk Size در بازسازی آرایه اهمیت دارد. (Linux Kernel Archives)
در صورت خرابی چند دیسک، وضعیت آرایه باید قبل از هرگونه عملیات بازسازی بررسی شود.
RAID 6 از دو مجموعه اطلاعات افزونگی استفاده میکند و در برابر خرابی دیسکها تحمل بیشتری نسبت به RAID 5 دارد.
با این حال، اگر چند دیسک از کار افتاده باشند، بازسازی اشتباه آرایه یا نوشتن روی دیسکها میتواند شرایط بازیابی را دشوارتر کند.
RAID 10 ترکیبی از Mirroring و Striping است.
در Linux MD، RAID 10 میتواند Layoutهای مختلفی داشته باشد. بنابراین صرفاً دانستن اینکه آرایه «RAID 10» است برای بازسازی کامل کافی نیست.
در برخی ساختارها، Layout و نحوه قرارگیری دادهها باید بهطور دقیق مشخص شود. مستندات dm-raid نیز برای RAID10 حالتهایی مانند near، far و offset را تشریح میکنند. (Kernel.org)
یکی از مهمترین بخشهای بازیابی Software RAID، Metadata است.
Metadata اطلاعاتی درباره ساختار آرایه در اختیار سیستم قرار میدهد؛ از جمله اطلاعاتی که برای شناسایی اعضای Array و Assemble کردن آن مورد استفاده قرار میگیرند.
در Linux MD ممکن است با نسخهها و ساختارهای مختلف Metadata مواجه شویم.
بنابراین در هنگام بازیابی باید مشخص شود:
Metadata Version
UUID آرایه
RAID Level
تعداد دیسکها
نقش هر دیسک
Event Count
وضعیت دیسک
اطلاعات Superblock
در mdadm نیز امکان بررسی Metadata و شناسایی اینکه یک دیسک عضو یک MD Array است وجود دارد. (Linux Die)
هر دیسک عضو یک MD RAID ممکن است اطلاعات مربوط به عضویت خود در آرایه را در قالب MD Superblock داشته باشد.
این اطلاعات برای شناسایی ساختار آرایه بسیار مهم هستند.
بنابراین اگر RAID از دسترس خارج شده است، نباید بدون شناخت ساختار اصلی اقدام به حذف یا بازنویسی Superblock کرد.
برای مثال، mdadm قابلیتی با عنوان --zero-superblock دارد که Superblock را بازنویسی میکند؛ چنین عملیاتی روی رسانهای که احتمال بازیابی آن وجود دارد میتواند مخرب باشد. (Linux Die)
mdadm ابزار اصلی مدیریت Linux MD RAID است و برای کارهایی مانند:
بررسی آرایه
شناسایی اعضای RAID
Assemble
مدیریت دیسکها
بررسی وضعیت آرایه
مدیریت Recovery
مدیریت Rebuild
به کار میرود. (Linux Die)
اما یک نکته بسیار مهم وجود دارد:
ابزار مدیریت RAID با ابزار یا فرآیند تخصصی بازیابی اطلاعات یکسان نیست.
در یک سیستم سالم، هدف mdadm مدیریت و فعالسازی آرایه است.
اما در یک پرونده Data Recovery، هدف اصلی ابتدا حفظ وضعیت موجود و استخراج اطلاعات بدون ایجاد تغییر غیرضروری است.
در یک RAID سالم ممکن است سیستمعامل بتواند Array را بهطور عادی Assemble کند.
اما در یک پرونده بازیابی ممکن است:
Array اصلاً Assemble نشود.
یکی از دیسکها Missing باشد.
چند دیسک همزمان مشکل داشته باشند.
Metadata آسیب دیده باشد.
Event Count دیسکها متفاوت باشد.
ترتیب دیسکها مشخص نباشد.
دیسک اشتباه به آرایه اضافه شده باشد.
RAID قبلاً Rebuild شده باشد.
فایلسیستم بعد از RAID آسیب دیده باشد.
در چنین شرایطی، نباید صرفاً با هدف «بالا آوردن RAID» روی آرایه عملیات انجام داد.
یکی از ساختارهای مهم در سرورهای لینوکسی، قرار گرفتن LVM روی RAID است.
برای مثال:
HDD → MD RAID → LVM → EXT4
یا:
SSD → MD RAID → LVM → XFS
در این حالت، بازیابی اطلاعات باید تمام لایهها را در نظر بگیرد.
ممکن است RAID بهدرستی بازسازی شده باشد، اما Volume Group یا Logical Volume قابل شناسایی نباشد.
بعد از RAID ممکن است فایلسیستمهای مختلفی قرار گرفته باشند، از جمله:
EXT2
EXT3
EXT4
XFS
Btrfs
ReiserFS
سایر فایلسیستمهای لینوکسی
بنابراین فرآیند بازیابی معمولاً به این شکل دیده میشود:
دیسکهای فیزیکی → RAID → پارتیشن/LVM → فایلسیستم → فایلها
هر لایه باید جداگانه بررسی شود.
Linux Software RAID فقط در کامپیوترهای معمولی استفاده نمیشود.
ممکن است در:
سرور لینوکس
NAS
Storage Server
Backup Server
File Server
Web Server
Database Server
Proxmox
سیستمهای اختصاصی Storage
با آن مواجه شویم.
در NAS نیز ممکن است چند لایه ذخیرهسازی روی یکدیگر قرار گرفته باشند و همین موضوع فرآیند بازیابی را پیچیدهتر کند.
یکی از حساسترین حالتها، خرابی همزمان چند دیسک است.
برای مثال:
RAID 5 → 4 دیسک → 1 دیسک از دست رفته
با:
RAID 5 → 4 دیسک → 2 دیسک از دست رفته
یکسان نیست.
همچنین وضعیت واقعی دیسک اهمیت دارد. ممکن است یک دیسک کاملاً از کار افتاده باشد، در حالی که دیسک دیگر فقط دارای تعدادی Sector خراب باشد.
بنابراین پیش از هرگونه Rebuild باید تصویر یا Clone مناسب از رسانههای قابل خواندن و وضعیت واقعی آنها بررسی شود.
Rebuild یک فرآیند مدیریتی عادی در RAID سالم است، اما در شرایط از دست رفتن اطلاعات میتواند پرخطر باشد.
در Linux MD، هنگام اضافه کردن دیسک به یک آرایه دارای افزونگی، ممکن است فرآیند Recovery یا Rebuild آغاز شود. مستندات mdadm نیز به آغاز بازسازی داده روی Spare در چنین شرایطی اشاره میکنند. (Linux Die)
اگر ساختار اولیه RAID هنوز بهدرستی مشخص نشده باشد، نوشتن اطلاعات جدید روی اعضای Array میتواند وضعیت موجود را تغییر دهد.
بنابراین:
مدیریت RAID توسط سیستمعامل و نرمافزار انجام میشود.
نمونه مهم:
Linux MD / mdadm
مدیریت آرایه توسط یک RAID Controller سختافزاری انجام میشود.
در این حالت اطلاعات Configuration و Metadata ممکن است با Controller و معماری سازنده ارتباط داشته باشند.
این ساختارها بین Software RAID و Hardware RAID قرار میگیرند و بخشی از مدیریت توسط Firmware و سیستمعامل انجام میشود.
تشخیص صحیح نوع RAID در ابتدای پرونده بازیابی اهمیت زیادی دارد.
علاوه بر MD، لینوکس میتواند از Device Mapper RAID یا dm-raid نیز استفاده کند.
dm-raid رابط Device Mapper را به قابلیتهای MD متصل میکند و ساختارهایی مانند RAID 0، RAID 1، RAID 4، RAID 5، RAID 6 و RAID 10 را پشتیبانی میکند. (Kernel.org)
بنابراین در یک پرونده حرفهای نباید صرفاً به عبارت «RAID لینوکس» اکتفا کرد؛ باید مشخص شود RAID دقیقاً با چه لایهای پیادهسازی شده است.
فرآیند بررسی در یک پرونده Data Recovery میتواند شامل مراحل زیر باشد:
تعداد دیسکها، نوع HDD یا SSD و وضعیت هر رسانه بررسی میشود.
اطلاعات مربوط به MD Superblock و ساختار RAID بررسی میشود.
مواردی مانند RAID Level، تعداد دیسکها، ترتیب دیسکها و Chunk Size مشخص میشوند.
مشخص میشود کدام دیسک سالم، معیوب، Missing یا دارای خطای خواندن است.
در صورت امکان، ساختار RAID به شکل صحیح و بدون تغییر غیرضروری در رسانه اصلی بازسازی میشود.
LVM، Partition، File System و در صورت وجود ساختارهای مجازیسازی بررسی میشوند.
اطلاعات قابل بازیابی به یک فضای ذخیرهسازی سالم منتقل میشوند.
اگر اطلاعات مهم است، تا قبل از بررسی تخصصی بهتر است:
RAID را Rebuild نکنید.
دیسکها را جابهجا نکنید.
Superblock را پاک نکنید.
--zero-superblock را اجرا نکنید.
Array را بیدلیل Assemble نکنید.
عملیات Repair را اجرا نکنید.
روی دیسکهای اصلی اطلاعات جدید ننویسید.
فایلسیستم را Format نکنید.
دیسک را Initialize نکنید.
روی دیسکهای دارای خطای فیزیکی عملیات سنگین انجام ندهید.
بهخصوص عملیاتهایی که روی Metadata یا وضعیت اعضای RAID نوشتن انجام میدهند باید با احتیاط بسیار بالا انجام شوند. mdadm حتی گزینههایی برای تغییر وضعیت آرایه، Repair و بازنویسی Superblock دارد؛ بنابراین اجرای دستورات مدیریتی روی یک Array آسیبدیده بدون شناخت ساختار میتواند ریسک ایجاد کند. (Linux Die)
برای ارزیابی اولیه، اطلاعات زیر بسیار کمککننده هستند:
تعداد هاردها یا SSDها
ظرفیت هر دیسک
نوع RAID
مدل سرور یا NAS
نسخه Linux
استفاده از mdadm
استفاده از LVM
فایلسیستم
آخرین وضعیت RAID
تعداد دیسکهای از دست رفته
وضعیت چراغهای Disk
خطایی که سیستم نمایش میدهد
اگر اطلاعات دقیق Configuration در دسترس نیست، خود دیسکهای عضو RAID میتوانند اطلاعات مهمی درباره ساختار آرایه در اختیار متخصص قرار دهند.
در بسیاری از موارد، امکان بازیابی وجود دارد؛ اما نمیتوان بدون بررسی رسانهها نتیجه قطعی داد.
شانس بازیابی به عواملی مانند:
سلامت فیزیکی دیسکها
تعداد دیسکهای آسیبدیده
نوع RAID
وضعیت Metadata
ترتیب دیسکها
میزان Overwrite
وضعیت فایلسیستم
انجام یا عدم انجام Rebuild
نوع خرابی
وابسته است.
هرچه عملیات نوشتن و تغییر روی آرایه کمتر باشد، امکان حفظ وضعیت اولیه اطلاعات بیشتر خواهد بود.
RAID نرمافزاری لینوکس یکی از ساختارهای مهمی است که در سرورها، NAS و سیستمهای ذخیرهسازی با آن مواجه میشویم. Linux MD و mdadm امکان مدیریت آرایههایی مانند RAID 0، RAID 1، RAID 5، RAID 6 و RAID 10 را فراهم میکنند. (Linux Kernel Archives)
اما وقتی آرایه دچار خرابی میشود، مسئله دیگر صرفاً «بالا آوردن RAID» نیست.
در بازیابی اطلاعات Linux RAID باید ساختار کامل شامل:
دیسک → Metadata → RAID → LVM/Partition → File System → اطلاعات
بررسی شود.
به همین دلیل، در صورت خرابی RAID، حذف اطلاعات، Missing شدن دیسکها، عدم Assemble شدن Array یا خرابی فایلسیستم، پیش از Rebuild، Repair، Format یا پاک کردن Superblock بهتر است وضعیت آرایه بهصورت تخصصی بررسی شود.
رسانه افزار با تمرکز بر بازیابی اطلاعات RAID، سرور، NAS، HDD، SSD و ساختارهای ذخیرهسازی لینوکس، امکان بررسی تخصصی آرایههای آسیبدیده را فراهم میکند.
اگر Linux RAID شما از دسترس خارج شده، چند دیسک آن خراب شده، Array Assemble نمیشود یا اطلاعات پس از خرابی RAID قابل مشاهده نیست، پیش از انجام هرگونه عملیات تعمیر یا بازسازی روی دیسکها، برای ارزیابی وضعیت آرایه اقدام کنید.