سیستم فایل اندرو

**سیستم فایل اندرو** (Andrew File System یا به اختصار AFS) یک سیستم فایل توزیع شده است که از تعدادی از سرورهای مورد اعتماد برای در اختیار گذاشتن فضای نام فایل همگن و شفاف مکانی (location-transparent) به تمام ایستگاه‌های کاری سرویس گیرنده (client workstations) استفاده می‌کند. این نوع سیستم فایل توزیع شده، که بخشی از پروژه اندرو نیز بود، توسط دانشگاه کارنگی ملون توسعه یافته‌است. «اندرو» (نام اصلی آن vice بود) به اندرو کارنگی و اندرو ملون اشاره دارد. این سیستم فایل بیشتر در محاسبات توزیع شده کاربرد دارد.

## امکانات
سیستم فایل اندرو مزایای بیشتری نسبت به سیستم‌های فایل شبکه ای سنتی دارد، به ویژه در زمینه‌های امنیت و مقیاس پذیری. یکی از سازمان‌های مستقر در مورگان استنلی که سیستم فایل اندرو در آن مورد استفاده قرار می‌گیرد از بیش از ۲۵۰۰۰ سیستم سرویس گیرنده تشکیل شده‌است. سیستم فایل اندرو از پروتکل احراز هویت کربروس (Kerberos) استفاده می‌کند و لیست‌های کنترل دسترسی را برای کاربران یا گروه‌ها، در فهرست‌هایی پیاده‌سازی می‌کند. هر سرویس گیرنده برای سرعت بخشیدن به درخواست‌های بعدی برای همان فایل، فایل‌ها را در سیستم فایل محلی ذخیره می‌کند. این همچنین امکان دسترسی محدود به سیستم فایل را در صورت خرابی سرور یا قطع شدن شبکه فراهم می‌کند.

سیستم فایل اندرو از مدل انسجام ضعیف بهره می‌برد. عملیات خواندن و نوشتن روی یک فایل باز تنها روی نسخه محلی ذخیره شده انجام می‌پذیرند. هنگامی که یک فایل اصلاح شده بسته می‌شود، بخش‌های تغییر یافته به سرور فایل کپی می‌شوند. انسجام حافظه نهان با مکانیسم تماس برگشتی حفظ می‌شود. هنگامی که یک فایل ذخیره می‌شود، سرور متوجه این امر می‌شود و اگر فایل توسط شخص دیگری تغییر کند، به مشتری اطلاع می‌دهد. درصورت پدیدار شدن هر گونه خرابی در سرویس گیرنده، سرور یا شبکه، از جمله وقفه زمانی، تماس‌های برگشتی کنار گذاشته می‌شوند و باید دوباره برقرار شوند. برقراری مجدد تماس برگشتی مستلزم بررسی وضعیت است و نیازی به خواندن مجدد خود فایل ندارد.

یکی از نتایج به کار بردن روش قفل کردن فایل این است که سیستم فایل اندرو از پایگاه داده‌های مشترک بزرگ پشتیبانی نمی‌کند و اطلاعات ذخیره شده بر روی فایل‌هایی که بین سیستم‌های کلاینت مشترک هستند را به روز رسانی نمی‌کند. تصمیم به طراحی چنین روشی از روی اخیتار شکل گرفت و متجه آن نیازهای محیط محاسباتی دانشگاه بود. به عنوان مثال، در سیستم ایمیل اصلی پروژه اندرو، سیستم پیام اندرو، از یک فایل در هر پیام، مانند maildir، به جای یک فایل در هر صندوق پستی، مانند mbox استفاده می‌شود. توصیه می‌شود که سیستم فایل اندرو و مشکلات ورودی/خروجی بافر را برای مدیریت پایگاه‌های داده مشترک ببینید.

از مهم‌ترین ویژگی‌های ای اف اس می‌توان به حجم، درختی از فایل‌ها، زیر پوشه‌ها و نقاط اتصال (پیوند به سایر حجم‌های AFS) آن اشاره کرد. حجم‌ها توسط مدیران ایجاد می‌شوند و در یک سلول AFS، در یک مسیر نامگذاری شده خاص پیوند داده می‌شوند. پس از آنکه AFS به کار گرفته شد، کاربران سیستم فایل می‌توانند به‌طور معمول پوشه‌ها و فایل‌ها را بدون نگرانی نسبت به مکان فیزیکی حجم ایجاد کنند. این امکان وجود دارد که به یک حجم به منظور محدود کردن مقدار فضای مصرف شده، سهمیه ای اختصاص داده شده باشد. در صورت نیاز، مدیران AFS می‌توانند آن حجم را به سرور و مکان دیسک دیگری بدون نیاز به اطلاع کاربران منتقل کنند. این عملیات حتی می‌تواند در حالی رخ دهد که فایل‌های موجود در آن حجم در حال استفاده باشند.

حجم‌های ای اف اس را می‌توان به نسخه‌هایی شبیه به خود کپی کرد که فقط قابلیت خوانده شدن دارند. هنگام دسترسی به فایل‌ها در یک حجم فقط خواندنی، یک سیستم سرویس گیرنده داده‌ها را از یک کپی فقط خواندنی خاص بازیابی می‌کند. اگر در آن زمان، آن کپی در دسترس نباشد، سیستم‌های سرویس گیرنده به دنبال هر یک از کپی‌های باقی مانده می‌گردند. اکنون نیز، کاربرانی که از آن داده استفاده می‌کنند از محل کپی فقط خواندنی اطلاع ندارند. مدیران می‌توانند چنین کپی‌هایی را در صورت نیاز ایجاد یا جابه‌جا کنند. مجموعه دستورهای ای اف اس تضمین می‌کند که تمام حجم‌های فقط خواندنی حاوی کپی‌های دقیقی از حجم اصلی خواندن-نوشتن در زمان ایجاد کپی فقط خواندنی هستند.

در ایستگاه کاری اندرو، فضای نام فایل به یک فضای نام *مشترک* و یک فضای اسم *نام* تقسیم می‌شود. فضای نام مشترک که معمولاً به صورت ای اف اس در سیستم فایل یونیکس نصب می‌شود، در تمام ایستگاه‌های کاری یکسان است. فضای نام محلی مختص به هر ایستگاه کاری است و تنها شامل فایل‌های موقتی است که برای مقداردهی اولیه ایستگاه کاری و همچنین مقدار دهی اولیه پیوندهای نمادین به فایل‌ها در فضای نام مشترک لازم است.

سیستم فایل اندرو تأثیر بسزایی بر نسخه چهارم سیستم فایل شبکه (NFS) محبوب، متعلق به شرکت Sun Microsystems داشت. علاوه بر این سیستم فایل توزیع شده دی اس ای (DCE distributed file system)، نوعی از ای اف اس، توسط بنیاد نرم‌افزار باز در سال ۱۹۸۹ به عنوان بخشی از محیط محاسباتی توزیع‌شده آن‌ها به کار گرفته شد. سرانجام سیستم فایل Coda پس از ای اف اس (نسخه دو) به میدان آمد.

## پیاده‌سازی‌ها
چند نسخه دیگر نیز علاوه بر نسخه اصلی پیاده‌سازی شدند. OpenAFS از منبع منتشر شده توسط Transarc (توسط شرکت IBM در سال ۱۹۹۴ خریداری شد) در سال ۲۰۰۰ توسعه یافت. نرم‌افزار Transarc از رده خارج شد و دیگر مورد حمایت قرار نگرفت. Arla یک پیاده‌سازی مستقل از AFS بود که در اواخر دهه ۱۹۹۰ و اوایل دهه ۲۰۰۰ در موسسه سلطنتی فناوری در استکهلم توسعه یافت.

چهارمین پیاده‌سازی یک سرویس گیرنده ای اف اس در کد منبع هسته لینوکس از نسخه ۲٫۶٫۱۰ به بعد وجود دارد. این پیاده‌سازی نسبتاً ساده که توسط Red Hat انجام شده‌است، از تاربخ ژانویه سال ۲۰۱۳ هنوز ناقص مانده‌است.

## مجوزهای موجود
مجوزهای فهرست کنترل دسترسی (access control list یا ACL) زیر را می‌توان اعطا کرد:

; جستجو (l)
: به کاربر اجازه می‌دهد تا محتویات دایرکتوری AFS را فهرست کند، ACL مرتبط با فهرست را بررسی کند و به زیر شاخه‌ها دسترسی پیدا کند.
; درج (i)
: به کاربر اجازه می‌دهد تا فایل‌ها یا زیر شاخه‌های جدیدی را به فهرست اضافه کند.
; حذف(d)
: به کاربر اجازه می‌دهد تا فایل‌ها و زیر شاخه‌ها را از فهرست حذف کند.
; اداره (الف)
: به کاربر اجازه می‌دهد تا ACL را برای فهرست تغییر دهد. کاربران همیشه این حق را در فهرست اصلی (home directory) خود دارند، حتی اگر به‌طور تصادفی خود را از ACL حذف کنند.

مجوزهای زیر بر فایل‌ها و زیر شاخه‌ها اثر گذارند:

; خواندن (r)
: به کاربر این امکان را می‌دهد که به محتویات فایل‌ها در یک فهرست بخواند و فایل‌ها را در زیر شاخه‌ها فهرست کند. فایل‌هایی که قرار است برای هر کاربری، از جمله مالک، قابل خواندن باشند، باید مجوز استاندارد یونیکس «خواندن مالک» را داشته باشند.
; نوشتن (w)
: به کاربر اجازه می‌دهد تا فایل‌های موجود در یک فهرست را تغییر دهد. فایل‌هایی که قرار است برای هر کاربری، از جمله مالک، قابل نوشتن باشند، باید مجوز استاندارد یونیکس «نوشتن مالک» را داشته باشند.
; قفل کردن (k)
: به پردازنده اجازه می‌دهد تا برنامه‌هایی را اجرا کند که نیاز به مجتمع کردن فایل‌ها در دایرکتوری دارند.

علاوه بر این، AFS حاوی (A)-(H) برنامه‌های ACL است که دارای هیچ تأثیری بر دسترسی به فایل‌ها نیستند.

## جستارهای وابسته
* فایل سیستم جهانی

## منابع

*
*
*
*
*
*
* OpenAFS
* آرلا

رده:فایل‌سیستم‌های شبکه‌ای