ابزار کاربر

ابزار سایت


tutorials:file_system:what_is_superblock

Superblock چیست؟

هنگامیکه یک سیستم فایل (مانند EXT2 یا EXT3 یا EXT4 و یا ZFS در لینوکس را روی هارددیسک ایجاد میکنید آن به چندین بلاک تقسیم بندی میشود. بلاک که به منظور ذخیره سازی داده های کاربران و همچنین به منظور ذخیره سازی فراداده ها یا Metadata استفاده میشوند و Metadat یعنی داده ای درباره داده دیگر که در لینوکس ( و دیگر سیستم عاملهای یونیکسی) اطلاعاتی درباره سیستم فایل را نگه داری میکنند. به عبارت ساده تر Metadat توصیفی از ساختار خود سیستم فایل می باشد که غالبا Metadat رایج Superblock میباشد.
هر سیستم فایل نسبت به سیستم فایل دیگر متفاوت است مانند EXT3 نسبت به EXT4 و هر سیستم فایل (پارتیشن) اندازه مختص خودش را دارد(زمانیکه آن سیستم فایل یا پارتیشن را ایجاد میکنیم).همچنین هر سیستم فایل وضیعت هایی 1) دارد مانند mount بودن یا نبودن آن و بطور خلاصه هر سیستم فایل (پارتیشن) شامل یک Superblock که حاوی اطلاعاتی درباره همان سیستم فایل (پارتیشن) می باشد.
برخی از اطلاعات:

  • نوع سیستم فایل
  • اندازه
  • اطلاعات دیگری درباره ساختار Metadata

اگر این اطلاعات از بین برود شما بسیار دچار مشکل خواهید شد از این رو چندین نسخه اضافی از Superblock ها در هر پارتیشن نگه داری میشود بطور مثال برای پارتیشن sda1 چندین نسخه Superblock خودش بر روی خود sda1 نگهداری میشود در زمان های بحرانی می توانید از این کپی ها برای بازیابی Primary Superblock استفاده کرد.
با استفاده از دستور زیر می توانید محل قرارگیری Primary Superblock و کپی های آن را بر روی پارتیشن مشاهده کنید.

dumpe2fs <نام پارتیشن> | grep -i  Superblock

بطور مثال برای مشاهده Superblock های پارتیشن sda1 از دستور زیر استفاده میکنیم

sudo dumpe2fs /dev/sda1 |grep -i superblock

خروجی دستور به شکل زیر خواهد بود

dumpe2fs 1.43.4 (31-Jan-2017)
  Primary superblock at 0, Group descriptors at 1-1
  Backup superblock at 32768, Group descriptors at 32769-32769
  Backup superblock at 98304, Group descriptors at 98305-98305
  Backup superblock at 163840, Group descriptors at 163841-163841
  Backup superblock at 229376, Group descriptors at 229377-229377

حالا اگر بخواهیم برای فایل سیستمی به غیر از مواردی که ذکر کردیم دستور فوق را اجرا کنیم با خطا روبرو خواهیم شد در مثال زیر ما دستور فوق را بر روی فایل سیستم NTFS تست کردیم که نتیجه جالب بود خروجی دستور را ببینید

dumpe2fs 1.43.4 (31-Jan-2017)
dumpe2fs: No such file or directory while trying to open /dev/sdc1
Couldn't find valid filesystem superblock.

همانطور که در خروجی میبینید با اجرای دستور سیستم به ما اعلام میکند که نمیتواند superblock را پیدا کند

1)
Status
tutorials/file_system/what_is_superblock.txt · آخرین ویرایش: 2019/01/04 09:04 توسط phoenix

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki