دايركتوريها همان ساختار درختي آشناي سازماندهي فايلها هستند. ساختار هر دايركتوري به صورت زير ميباشد: Inode number entry length file name
Inode numberentry lengthfile name
دايركتوريها همان ساختار درختي آشناي سازماندهي فايلها هستند. ساختار هر دايركتوري به صورت زير ميباشد: Inode number entry length file name
Inode numberentry lengthfile name
مدخلهاي اشارهكننده به Link ها هستند. هر دايركتوري ميتواند شامل فايل يا زيردايركتوري باشد. دايركتوريها نام هر فايل همراه شمارهInode آن را در خود ذخيره ميكنند. هسته سيستمعامل براي يافتن يك فايل ابتدا دايركتوريها را اسكن ميكند و با پيدا كردن شمارهInode فايل آدرس فيزيكي فايل در ديسك توليد ميشود (شكل فوق). از ديگر وظايف دايركتوريها مديريتLink List ها است. Link همانند يونيكس، مفهوم لينك هم درext مطرح و به كار برده شده استLink List . ميتواند يك اشارهكننده به فايل يا دايركتوري يا بلوكهايي از دادهها باشد. شما با ايجاد يك لينك ميتوانيد دسترسي سريع به فايل يا دايركتوري داشته باشيد. خود هسته سيستمعامل هم براي دستهبندي اطلاعات ازLink List ها استفاده ميكندLink .ها در سطح كاربر هم قابل تعريف و بهكارگيري هستند و به لينكهاي سختافزاري و نرمافزاري تقسيمبندي ميشوند. ساختار فيزيكي Ext Fs سيستم فايلext لينوكس ساختار فيزيكي همانند سيستم فايلBSD دارد.
بدينصورت كه حافظه سيستم فايل تماماً بهBlock Group ها تقسيم ميشود. اين بلوكها در اندازههاي 1K، 2K،4K قرار ميگيرند و هر بلوك براي يك سري اطلاعات با كاربردي خاص استفاده ميشود. ساختار حافظه فيزيكي سيستم فايلext به اين شكل است: Boot Sector Block Group 1 Block Group 2 ... Block Group N هر يك از اينBlock Group ها هم ساختاري اين چنين دارند: Super Block FS Description Block Bitmap Inode Table Data Block همانطور كه مشاهده ميشود هرBlock Group در ابتدا شامل يكSuper Block است كه اطلاعات مدير سيستم(Root) به همراه اطلاعات كلي مربوط به بلوك در آن قرار ميگيرد. بخش بعدي اطلاعات مربوط به سيستم فايل است و در ادامه جدولInode ها، دادههاي هر بلوك و بيتهاي كنترلي بلوك وInode قرار ميگيرند. در اين شيوه از ساختاربندي فايل، چون جدولInode ها فاصلهاي بسيار نزديك با بلوك دادهها دارد كارايي سيستم چندين برابر ميشود و سرعت دستيابي به اطلاعات هر بلوك از فايلها افزايش مييابد. همچنين با ايجاد يك ساختار بلوكبندي شده فضاي آدرسدهي منطقي كمتري مصرف ميشود. Ext2 fs سيستم فايل استاندارد گنو / لينوكس پس از به كار گرفته شدن سيستم فايلExt fs در هسته گنو/ لينوكس برخي نواقص و نارساييهاي آن ظاهر شد و بنابراين به سيستم فايل Second Extended fs ارتقاء داده شد. قريب يك دههExt2 fs پيشفرض سيستم فايل لينوكس در كرنل و توزيعهاي تجاري بود. شايد بتوان مهمترين شاخصههايExt2 fs كه باعث متمايز شدن آن از تمامي سيستم فايلهاي قبل از خود شد را بهصورت زير ليست كرد: Ext2 fs توانايي كار و پشتيباني با فايلهايي با فرمتي غير ازExt را هم داراست.
به راحتي با داشتن يكVFS فايلهاي ويندوز و يونيكس و ديگر سيستمعاملهاي تجاري همانندBSD و فرمتV را شناخته و از اين فرمتها در كنارExt استفاده ميكند. Ext2 fs قابليت نامگذاري فايلها تا 255 كاراكتر را ميسر ميكند و حتي در صورت تعريف بلوكهاي بزرگتر باز هم اين اندازه قابل افزايش است. بهصورت پيشفرض، حافظه فيزيكي 2Ext برابر2 گيگا بايت است. اين اندازه از سيستم فايل همراهVFS امكان ايجاد يك پارتيشن بزرگ تا اندازه4 گيگا بايت را ميسر ميكند و ديگر نيازي به تقسيم يك پارتيشن بزرگ به اندازههاي كوچكتر به وجود نميآيد.
Boot SectorBlock Group 1Block Group 2...هر يك از اينBlock Group ها هم ساختاري اين چنين دارند:Block Group
Super BlockFS DescriptionBlock BitmapInode TableExt fs با تخصيص پنجاه درصد بلوكهاي حافظه به حساب ريشه (Root) تواناييهاي بالقوهاي در اختيار مدير سيستم قرار ميدهد. با استفاده از اين بلوكها امكان پيگيري فرايندهاي كاربران به آساني ميسر ميشود. از خصوصيات ويژهExt2 fs امكاندهي به كاربر درset كردن خصوصيات يك فايل در زمان ساخت يا بعد از آن است. حتي يك كاربر ميتواند برخي رفتارهاي سيستم فايل را هم به تناسب خود تغيير دهد. اين اعمال تغييرات بهوسيله ارايه ابزارهاي بسيار سادهاي كه از طرف جامعه اپنسورس به كاربران هديه ميشود، به آساني صورت ميگيرد. اجازه تعريف اندازه بلوكهاي فيزيكي سيستم فايل به مدير سيستم ديگر مزيتExt2 fs است. مدير سيستم ميتواند برحسب نياز بلوكها را به صورت دستي سايزبندي كند. اين امر موجب كارايي هر چه بيشتر سيستم در مواجه با فرايندهاي بلوكه شده ميشود. استفاده ازLink ها درExt2 fs به راحتي امكانپذير است و با يك دستور <>Ln در پوسته فرمان ميتوانيد براي فايلها و دايركتوريها، يكLink درست كنيد. در سيستم فايلExt2 fs ،State هاي سيستم فايل قابل ثبت و نگهداري است. فيلدSuper Block در هر بلوك سيستم فايل وظيفهاي براي نگهداري اين اطلاعات دارد كه قابل بازخواني هستند. و مزيت آخرExt2 fs در دسترس و همگاني بودن توابع كتابخانهاي سيستم فايل است كه اين امكان را ميدهد، هر كاربري با بهكارگيري اين توابع توانايي هرگونه تغيير، اصلاح و بهوجود آوردن و ساخت را در 2Ext بهدست آورد. به همين خاطر ابزارهاي بسياري براي كار باExt2 fs موجود و قابل تهيه هستند. از ابزار پيكربندي سيستم فايل تا ابزار اشكالزدايي آن. مهمترين اين ابزارها عبارتند ازDebugfs :،dump2 fs ،tune fs ،e2fsck ،Mk2 fs . Ext3 fs نسل جديد سيستم فايل گنو / لينوكس در كرنلي كه ازExt2 fs استفاده ميكند اگر عملياتshut down به درستي انجام نشود، به عنوان مثال قطع برق ياCrash كردن سيستم، شاهد بروز دو مشكل عمده هستيم: امكان خرابي و از بين رفتن دادهها و دوم اينكه سيستم براي بوت مجدد نيازمند به استفاده از ابزار اسكن دادهها براي شناسايي و تشخيص داده جهت سازگاري آنها با سيستم فايل است. گاهي در اين موارد مدت زمان زيادي بايد صبر كنيد تا چند گيگابايت اطلاعات توسط سيستم خوانده شوند كه اين بسيار نامطلوب استthree Extended fs . نسل جديدExt2 fs مشكل را برطرف كرده استExt3 fs . با بهرهگيري از تكنولوژي <>journaling يا <سيستم ثبت وقايع فايلها>، امنيت دادهها و سازگاري و انسجام اطلاعات را در هنگام وقوع خطاهاي سختافزاري تظمين ميكند. Ext3 fs توسط آقاي Tweedie (از بنيانگذاران سيستم فايل (Ext fs توسعه يافته و از هسته 15.4.2 به بعد قابل استفاده است. Journaling از روشي در ذخيره و نگهداري دادهها بر روي ديسك استفاده ميكند كه ديگر نيازي به سازماندهي اطلاعات بلوكهاي سيستم فايل و تنظيم كردن آدرسهاي منطقي نيست و هيچ زماني در فرايند بوت براي شناخت دادهها و انسجام آنها با سيستم فايل صرف نميشود. در ضمن امنيت دادهها هم تأمين ميشود. در زمان وقوع يك خطاي سختافزاري، ژورنالينگ از اطلاعات دادهها پشتيباني ميكند و باعث ميشود هيچگونه اطلاعات جديدي بر روي دادهها نوشته نشود. سرعت و بهره توان عملياتيExt3 fs به مراتب بيشتر ازExt2 fs استExt3 fs . از سه روش براي بالا بردن سرعت استفاده ميكند. در روشData = write back ، پس ازCrash كردن سيستم، دادههاي قديمي استفاده ميشود. در اين روش اطمينان صحت دادهها پايين ميآيد ولي سرعت بالا ميرود. در روش Data = ordered (پيشفرض) از هر گونه اضافه شدن اطلاعات به دادههاي بلوكهاي سيستم فايلInode ها جلوگيري ميشود. اين مد بهترين كارايي را دارد. در سومين روشData= journal ، سيستم از يك فايل بزرگjournal براي نگهداري اطلاعات سيستمي ضروري براي ذخيره و بازيابي دادههاي ديسك استفاده ميكند. ميشود گفت كه فايل journal در واقع فايلBackup سيستم است. Ext3 fs باExt2 fs سازگاري كامل دارد و تبديل و ارتقاء به آساني و با چند خط فرماننويسي درshell سيستم صورت ميپذيرد. و اين كار بدون هيچگونه نياز به فرمت كردن يا پارتيشنبندي يا اختلال در بلوكهاي دادههاي سيستم فايل صورت ميپذيرد. يعني شما فقط فايلjournal را به سيستم فايلExt2 fs اضافه ميكنيد. بهكارگيري تكنولوژيjournaling در سيستم فايل علاوه بر مزاياي گفته شده، باعث ايجاد يك تاريخچه از هر فايل در سيستم شده و عمليات پيگيري وقايع هر فايل به آساني امكانپذير ميشود. گذشته از اين ژورنالينگ در ديگر امكانات هسته هم استفاده ميكند. همه اين ويژگيها باعث شدهاند كه بسياري از شركتهاي تجاري سيستم فايل 3Ext را به عنوان پيشفرض توزيع گنو/ لينوكس خود انتخاب كنندRed Hat . از نسخه 2/7،Ext3 fs را در نسخه لينوكس خود بهكار برد. مفاهيم سيستم فايل موازی برای دستيابی به کارآيی بالا، يک سيستم فايل موازی فايل ها را همانند سيستم RAID ميان گره ها قطعه قطعه و تقسيم می نمايد. در اين سيستم، بجای ديسک ها، گره ها سرورهای داده محسوب می شوند. همانگونه که يک RAID چندين کانال را به منظور افزايش کارآيی در يک مجموعه از ديسک های محلی متمرکز می کند، يک سيستم فايل موازی نيز اتصالات شبکه را در يک مجموعه از ديسک هايی که به صورت شبکه در آمده اند متمرکز می نمايد. قطعه قطعه کردن داده در ميان گره ها يک روش ساده برای دستيابی به موازی سازی ميان چندين سيستم ورودی/خروجی سری است. بر خلاف حالتی که چندين گره از يک RAID به صورت اشتراکی استفاده می کنند، يک سيستم فايل موازی قادر به استفاده همزمان از چندين لينک شبکه، با حذف گلوگاه محدودکننده، می باشد. تا زمانی که فايلها به اين روش قطعه قطعه می شوند و برنامه های موازی وادار به کار بر روی نواحی معينی از يک فايل به اشتراک گذاشته شده می گردند، شبکه و محتويات لود شده ديسک ها توانايی گسترش در ميان گره های ذخيره سازی را دارند. در مقابل، سيستم های فايل شبکه ای دارای نقش متفاوتی هستند. امروزه، داشتن يک پيکربندی از چندين ماشين با برخی از انواع ذخيره سازی اشتراکی يا سيستم فايل همچون NFS، Windows Networking يا AppleTalk ديگر امر غير عادی محسوب نمی شود. اين سيستم ها با توجه به پيشرفت های حاصل شده در کارآيی آنها (پيشرفت هايی نظير عمل کش کردن سمت کلاينت) به خوبی home directory ها کار خود را انجام می دهند. کش سازی سمت کلاينت تاريخچه تغييرات محلی فايل را بدون بروزرسانی بيدرنگ در وضعيتی که داده بر روی سرور و يا بر روی حافظه های کش موجود بر روی ساير کلاينت ها ذخيره شده باشد نگه داری می کند. اين رويکرد بطور کلی بارگذاری های شبکه را کاهش داده و سرعت انجام اعمال معمولی از قبيل ويرايش يا کامپايل فايل ها را به روشی که هزينه های شبکه را تقريبا شفاف می سازد افزايش می دهد. در حالی که مزيت کش سازی سمت کلاينت در سيستم های فايل شبکه ای بر کسی پوشيده نيست، برنامه های موازی در صورتيکه داده ارائه شده به آنها ناهماهنگ و متناقض باشد می توانند نتايج نادرستی را توليد نمايند. اگر پردازش ها همواره يک ديد مشترک از داده را به اشتراک گذارند، برنامه های موازی قادر خواهند بود بدون خطا به کار خود ادامه دهند. يک روش، حصول اطمينان از اين مسئله است که حافظه های کش موجود در هر گره همواره حاوی آخرين داده است. تکنيک های گوناگونی برای حفظ هماهنگی و سازگاری وجود دارد، که توسط هر تکنيک به مشخصه های متفاوتی از کارآيی می توان دست يافت. برای مثال، برخی سيستم های فايل کلاستر مسئله سازگاری و هماهنگی داده را با استفاده از قفل های فايل به منظور جلوگيری از دستيابی همزمان به فايل حل می کنند. بطور کلی، قفل ها روشی برای حصول اطمينان از اين مطلب هستند که تنها يک فرايند در يک لحظه قادر به اعمال تغييرات بر روی داده است. در يک سيستم فايل شبکه ای، معمولا يک قفل بايستی از يک مدير قفل مرکزی کسب اجازه نمايد. قفل های فايل نوع Coarse-grained تضمين می کنند که فقط يک پردازش در يک لحظه قادر به نوشتن داده در يک فايل باشد. کارآيی با افزايش تعداد پردازش ها تنزل خواهد يافت. ساير روش ها شامل طرح های قفل فايل fine-grained، همچون قفل محدوده بايت (byte-range)، می باشند که اين امکان را فراهم می آورند که چندين پردازش بصورت همزمان نواحی مختلفی از يک فايل به اشتراک گذاشته شده را بنويسند. به هر حال، آنها با محدوديت های مقياس پذيری ((scalability نيز مواجه می شوند. بالاسری (overhead) ناشی از نگهداری تعداد زيادی از قفل های از اين نوع در نهايت به تنزل کارآيی ختم می گردد. در حالت کلی تر، هر سيستم قفل شبکه ای با يک گلوگاه محدود کننده برای دسترسی داده مواجه می شود. برای دستيابی به مقياس پذيری و کارآيی در مورد درخواست های برنامه هايی که اعمال ورودی/خروجی زيادی دارند، يک سيستم بدون بالاسری قابل توجه (همچون قفل کردن) و بدون عرضه متفاوت داده ميان گره ها (همچون کش سازی سمت کلاينت) مورد نياز است. برنامه های موازی تمايل دارند که هر فرايند را وادار به نوشتن در نواحی مجزايی از يک فايل به اشتراک گذاشته شده نمايند. برای اين نوع برنامه ها، در حقيقت هيچ نيازی به عمل قفل کردن نيست، و ما می خواهيم که تمام اعمال نوشتن بصورت موازی و بدون تاخير موجود در چنين رويکردهايی ادامه يابد. بجای داشتن يک سيستم فايل با کارآيی بالا که زمان زيادی را صرف مجادله برای منابع مشترک يا تلاش برای حفظ سازگاری و هماهنگی حافظه های کش کند، حالت ايده آل اين است که سيستمی را طراحی کنيم که به اشتراک گذاری منابع و سازگاری مناسب را پشتيبانی نمايد. PVFS2 مثالی از يک سيستم فايل موازی نسل آينده است که برای برآورده ساختن اين موارد طراحی شده است. در قسمت بعد به بحث در مورد چگونگی راه اندازی PVFS2 خواهيم پرداخت.Data Block
سيستم PVFS2 PVFS2 نشان می دهد که ساختن يک سيستم فايل موازی که بصورت مجازی با پی ريزی دقيق فوق داده و فضانام و همچنين تعريف معانی دستيابی داده که می تواند بدون قفل کردن در دسترس قرار گيرد سازگاری را حفظ کند، امکانپذير است. اين طراحی به بروز برخی از رفتارهای سيستم فايل که مورد انتظار تعدادی از برنامه های سنتی نيست ختم می شود. اين معانی در زمينه ورودی/خروجی موازی بحث جديدی به شمار نمی روند. PVFS2 بصورت دقيق تر معانی را که توسط MPI-IO، يک API ورودی/خروجی با کارآيی بالا، ديکته می شود پياده سازی می نمايد. PVFS2 همچنين دارای پشتيبانی محلی برای الگوهای انعطاف پذير ناپيوسته دستيابی داده می باشد. اغلب برنامه های سنتی (نظير "cat" و "vi") به نواحی داده پيوسته از فايل های باز شده دسترسی دارند، در حاليکه برنامه های علمی اغلب اوقات نيازمند الگوهای دستيابی هستند که ناپيوسته باشند. برای مثال، شما می توانيد برنامه ای را تصور نماييد که ستونی از عناصر خارج از يک آرايه را می خواند. برای بازيابی اين داده، برنامه ممکن است تعداد زيادی عمل خواندن کوچک و پراکنده را بر روی سيستم فايل انجام دهد. در صورتيکه، اگر بتواند طی يک مرحله تمامی عناصر ناپيوسته را از سيستم فايل درخواست نمايد، هم سيستم فايل و هم برنامه به نحو کارآمد تری وظيفه خود را انجام خواهند داد (شکل زير را ببينيد).
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]علاوه بر کارآيی، ثبات و مقياس پذيری scalability)) نيز اهداف مهم طراحی به شمار می آيند. به منظور کمک به دستيابی به اين اهداف، PVFS2 بر اساس يک معماری مستقل از وضعيت ((stateless طراحی گرديده است. اين به آن معنی است که سرورهای PVFS2 تاريخچه مربوط به اطلاعات سيستم فايل، اطلاعاتی مانند اينکه کدام فايل ها باز شده اند يا موقعيت فايل ها و مواردی از اين قبيل، را نگهداری نمی کنند. همچنين در اين مورد هيچ وضعيت قفل مشترکی برای مديريت وجود ندارد. مزيت اصلی يک معماری مستقل از وضعيت اين است که در آن کلاينت ها قادرند بدون بهم زدن کل سيستم دچار خطا شده و مجددا به کار خود ادامه دهند. اين معماری همچنين به PVFS2 اين امکان را می دهد که در مواجهه با صدها سرور و هزاران کلاينت بدون اينکه تحت فشار بالاسری و پيچيدگی پيگيری وضعيت فايل يا اطلاعات قفل متعلق به کلاينت های مذکور قرار گيرد وظيفه خود را بدرستی انجام دهد.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بر خلاف PVFS نسل گذشته، PVFS2 دارای يک سيستم شبکه ای و ذخيره سازی ماژولار است. يک سيستم ذخيره سازی ماژولار اين امکان را برای چندين back-end ذخيره سازی فراهم می آورد که به راحتی به PVFS2 متصل شوند. اين خاصيت تلفيقی کار افرادی را که در حال تحقيق بر روی ورودی/خروجی به منظور آزمايش و تجربه تکنيک های مختلف ذخيره سازی هستند ساده می سازد. همچنين يک سيستم شبکه ای ماژولار اجازه کار بر روی اتصالی از شبکه های چندگانه را داده و فرايند افزودن پشتيبانی برای انواع ديگری از شبکه ها را آسان می نمايد. PVFS2 در حال حاضر TCP/IP و همچنين شبکه های Infiniband و Myrinet را پشتيبانی می کند.
اين طراحی ها PVFS2 را قادر به انجام وظايف خود به نحو عالی در يک محيط موازی می سازد، اما در وضعيتی که به عنوان يک سيستم فايل محلی مورد استفاده قرار گيرد کار خود را به خوبی قبل انجام نخواهد داد. بدون کش سازی فوق داده سمت کلاينت، برخی اعمال زمان زيادی صرف می کنند.اين امر می تواند مدت زمان انجام برنامه هايی همچون "ls" را بيشتر از حد انتظار افزايش دهد. با وجود اين محدوديت، PVFS2 برای برنامه هايی که دارای اعمال ورودی/خروجی زيادی هستند مناسب تر است، تا اينکه برای ميزبانی يک home directory مورد استفاده قرار گيرد. PVFS2 برای خواندن و نوشتن کارآمد حجم زيادی از داده بهينه شده است، و از اينرو بسيار مناسب برنامه های علمی می باشد.
بسته اصلی PVFS2 شامل سه جزء متفاوت است: يک سرور، يک کلاينت و يک ماژول کرنل. سرور بر روی گره هايی که داده سيستم فايل يا فوق داده را ذخيره می کنند اجرا می شود. کلاينت و ماژول کرنل نيز بوسيله گره هايی که به شکل فعال داده (يا فوق داده) را از سرورهای PVFS2 ذخيره يا بازيابی می کنند مورد استفاده قرار می گيرند.
بر خلاف PVFS اصلی، هر سرور PVFS2 توانايی ايفای نقش به عنوان يک سرور داده، يک سرور فوق داده يا هر دو را بصورت همزمان دارد. همانگونه که قبلا گفته شد، سيستم های فايل موازی از تعدادی گره سود می برند که تمام داده ميان آنها به شکل قابل پيش بينی قطعه قطعه شده است. اين گره ها همان سرورهای داده در PVFS2 هستند. برخی از انواع پيکربندی نيز ممکن است از چندين سرور فوق داده بهره ببرند. ذخيره کردن فوق داده در ميان چندين گره کمکی است به موازنه بارگذاری سرور تحت اعمالی که شامل دسترسی سنگين و زياد به فوق داده هستند (مثلا ايجاد يا تغيير نام تعداد زيادی فايل). اين نوع پيکربندی بطور کامل در PVFS2 پشتيبانی می گردد. بهرحال، تعداد سرورهای فوق داده هيچ فشاری بر روی اعمال خواندن يا نوشتن وارد نمی آورد، و اکثر برنامه های علمی اعمال فوق داده کافی جهت هر گونه بهره برداری از پيچيدگی افزوده انجام نمی دهند.
کلاينت های PVFS2 با سرورهای PVFS2 بر روی اتصال شبکه ارتباط برقرار می نمايند. تمامی ارتباط به صورت اختياری به حالت رمز در می آيند تا اطمينان حاصل گردد که ماشين های دارای معماری های متفاوت توانايی درک يکديگر را دارند. يک کلاستر مختلط شامل گره های x86، Itanium و PowerPC را تصور نماييد. رمزبندی ارتباط ما تضمين می کند که تمامی گره ها قادر به استفاده از يک PVFS2 volume، صرفنظر از ترتيب بايت محلی يا اندازه کلمه خواهند بود.
ماژول کرنل PVFS2 يک درايور کرنل لينوکس است که به يک PVFS2 اجازه نصب را همانند هر نوع سيستم فايل لينوکس ديگری می دهد. وظيفه اصلی آن ترجمه واضح تمامی اعمال سيستم فايل به دستورات کلاينت PVFS2 بر روی PVFS2 نصب شده است.
دو روش جهت دستيابی به سيستم های فايل PVFS2 فراهم گرديده است. روش اول نصب کردن سيستم فايل PVFS2 است. اين روش اعمال تغييرات توسط کاربر و دايرکتوری های ليست، يا انتقال فايل ها و همچنين اجرای باينری ها از سيستم فايل را مجاز می شمارد. اين مکانيزم با برخی بالاسری های کارآيی مواجه می گردد اما مناسب ترين روش جهت دستيابی تعاملی به سيستم فايل می باشد.
برنامه های علمی از روش دوم (MPI-IO) استفاده می نمايند. اينترفيس MPI-IO به دستيابی بهينه به فايل های منفرد توسط تعداد زيادی از پردازش ها بر روی گره های مختلف کمک می کند. آن همچنين اعمال دستيابی غيرپيوسته را فراهم می آورد که جهت دستيابی کارآمد به داده گسترش يافته در سراسر فايل مورد استفاده قرار می گيرد. در مورد تصوير 2 اين کار با درخواست هر عنصر هشتمی که در آفست 0 شروع شده و در آفست 56 پايان می يابد، کلا به عنوان يک عمليات سيستم فايل، صورت می پذيرد.
در اين مقاله ما بر روی روش اول تمرکز کرده ايم.
جهت اجرا بر روی چندين ماشين در نظر گرفته شده است. در هر صورت، برای سادگی کار، ما PVFS2 را بر روی يک ماشين نصب و راه اندازی می کنيم. ما ماشين را با نام "testmachine1" صدا خواهيم زد و نصب را در محل پيش فرض (/usr/local) انجام خواهيم داد. سپس نسخه PVFS2 را در /mnt/pvfs نصب خواهيم کرد. فرايند مربوط به نصب بر روی چندين ماشين کاملا مشابه روند گفته شده است. PVFS2 بر روی اغلب توزيع های جديد GNU/Linux ايجاد شده است، اما اگر شما مايليد از ماژول کرنل استفاده نماييد، شما به کرنل لينوکس نسخه 2.6.0-test4 يا پس از آن نياز خواهيد داشت.
PVFS2 با استفاده از "configure" و "make" ايجاد و نصب گرديده است. در مثال هايی که در ادامه آمده است اينگونه فرض شده که شما به عنوان root وارد سيستم شده ايد. در صورتيکه شما مايل به ايجاد ماژول کرنل باشيد گزينه "--with-kernel" مورد نياز خواهد بود.
./configure --with-kernel=/usr/src/linux-2.6.x
make
make install
اگر شما قصد ايجاد ماژول کرنل اختياری را داريد، اکنون بايد آن را بصورت مجزا کامپايل نماييد. اين کار را با تغيير دايرکتوری ها به دايرکتوری "src/kernel/linux-2.6" و اجرای "make" انجام دهيد. پس از اينکه ماژول ايجاد شد، فايل pvfs2.ko را در محلی به انتخاب خود کپی نماييد (مثلا در /lib/modules/`uname -r`/kernel/fs/pvfs2.ko).
پس از آنکه نرم افزار ايجاد و نصب گرديد، بايستی پيکربندی شود. بسته PVFS2 ابزاری بنام pvfs2-genconfig را جهت ايجاد فايل های پيکربندی برای هر يک از سرورهای شما فراهم آورده است. هر سرور به دو فايل پيکربندی نياز دارد (يکی برای پيش فرض های عمومی، و يکی برای تنظيمات محلی) که بايستی در هنگام اجرای pvfs2-genconfig مشخص گردند. يک مثال دستور خط فرمان می تواند به صورت زير باشد:
pvfs2-genconfig global.conf local.conf
اين فرمان اطلاعات ديگری نيز از شما دريافت می نمايد؛ بهرحال، احتمالا موارد پيش فرض برای اين مثال کفايت می کند. توجه داشته باشيد که فايل های ايجاد شده global.conf و local.conf-testmachine1 خواهند بود.
قبل از آغاز به کار سرور PVFS2، شما بايستی دايرکتوری هايی را که برای عمل ذخيره سازی مورد استفاده قرار خواهند گرفت را تعيين نماييد. اين کار بسيار ساده با آغاز pvfs2-server به همراه يک آرگومان "-f" در کنار نام فايل های پيکربندی صورت می گيرد.
pvfs2-server global.conf local.conf-testmachine1 -f
سرور، فضای ذخيره سازی را آغاز سازی نموده و سپس خارج می شود. حال از اين پس با همين خط فرمان اما بدون آرگومان "-f" می تواند شروع به کار نمايد.
pvfs2-server global.conf local.conftestmachine1
در مرحله بعد، يک فايل با نام /etc/pvfs2tab ايجاد نماييد. اين فايل حاوی خط زير است:
tcp://testmachine1:3334/pvfs2-fs /mnt/pvfs pvfs2 default 0 0
در اين مرحله از کار، اگر شما اينترفيس ماژول کرنل لينوکس را مورد آزمايش قرار نداده ايد، می توانيد بدون هيچ مشکلی به قسمت Testing برويد. در غير اينصورت، همين حالا آن را با استفاده از insmod يا modprobe لود نماييد.
گام بعدی آغاز به کار برنامه کلاينت PVFS2 است. برنامه کلاينت PVFS2 شامل دو برنامه به نام های pvfs2-client-core و pvfs2-client است. در صورتيکه برنامه pvfs2-client-core در PATH سيستم شما نصب شده باشد، برنامه pvfs2-client آن را بصورت خودکار يافته و شما به سادگی می توانيد "pvfs2-client" را اجرا نماييد. در غير اينصورت، شما بايد با استفاده از سوييچ خط فرمان –p محل برنامه pvfs2-client-core را برای pvfs2-client مشخص نماييد.
pvfs2-client -p /usr/local/bin/pvfs2-client-core
mount -t pvfs2 pvfs2 /mnt/pvfs
حالا PVFS2 نصب شده و آماده آزمايش است!
سيستم فايل جديد خود را آزمايش نماييد.
نخستين کار استفاده از ابزار pvfs2-ping به منظور اطمينان از روشن و در حال اجرا بودن سرور است. اين ابزار طی يکسری مراحل تعيين می نمايد که سيستم بدرستی پيکربندی شده و به درخواست هايی که از سوی کلاينت (کلاينتی که بر روی آن نصب شده است) صادر می شود پاسخ می دهد.
pvfs2-ping -m /mnt/pvfs
سپس يک فايل را با استفاده از pvfs2-import بر روی سيستم کپی نماييد. اين ابزار از برخی جهات شبيه "cp" است، اما در هنگام انتقال داده به سيستم فايل از بافرهای بزرگی استفاده می کند. همچنين زمان کپی را محاسبه می نمايد.
pvfs2-import linuxdistro.iso /mnt/pvfs/linuxdistro.iso
برای چک کردن فضای قابل استفاده بر روی سرورها، ما ابزاری بنام pvfs2-statfs فراهم کرده ايم. اين ابزار اطلاعات را مشابه فرمان "df" گزارش می دهد؛ آن در ميان تمامی سرورهای PVFS2 پيکربندی شده شما کار خود را انجام می دهد. همانند "df"، استفاده از گزينه "-h" موجب نمايش خروجی در اندازه خوانا توسط انسان می شود.
pvfs2-statfs -h -m /mnt/pvfs
اگر شما PVFS2 را نصب کرده باشيد، امکان استفاده از ابزارهای سيستمی استاندارد همچون "cp" و "df" برای شما فراهم خواهد بود. در هنگام کار با سيستم فايل آزمايشی تان، اين احتمال وجود دارد که برخی از اعمال بنظر پاسخ دهندگی کمی داشته باشند. مجددا ذکر اين نکته اهميت دارد که سيستم های فايل موازی همچون PVFS2 برای انتقال حجم زيادی از داده بهينه شده اند.
هيچ سيستم فايلی وجود ندارد که راه حل کاملی برای هر نوع از اعمال ورودی/خروجی باشد، و PVFS2 نيز از اين قاعده مستثنی نيست. برنامه های با کارآيی بالا برای دستيابی داده بر روی مجموعه متفاوتی از مشخصه ها تکيه دارند. به طور خاص، PVFS2 جهت برنامه های دارای حجم زيادی از اعمال ورودی/خروجی بسيار مناسب است. اگر شما حجم زيادی از داده داريد و نيازمند دسترسی سريع به آن از ماشين های فراوانی هستيد، ارزش آن را دارد که نگاهی به PVFS2 بياندازيد.
لينوس توروالدز، خالق لينوکس، نسخه جديد هسته لينوکس را منتشر کرد. در نسخه 2.6.12 بازبينيهاي مهمي در جهت ارتقاء اين بخش از سيستمعامل لينوکس انجام شده است. پشتيباني از فناوري TPM (Trusted Platform Modules) و بهبود کارکرد درايورهاي لينوکس از جمله مهمترين تغييرات در نسخه جديد است.
TPM يک فناوري سختافزاري است که براي حفاظت از دادههاي حساس مانند پسورد کاربران بهکارميرود. نسخه جديد کرنل، يک درايور براي پشتيباني از تراشههاي TPM (مانند تراشههاي بهکار رفته در لپتاپهاي ساخت شرکت IBM) افزوده شده است. اين درايور از تراشههاي ساخت شرکتهاي Atmel و National Semiconductor پشتيباني ميکند.
گفته ميشود که توسعه نرمافزاري اين نسخه با استفاده از ابزار جديدي که توروالدز ساخته و نام Git را برآن نهاده، صورت گرفته است. ماه آوريل امسال توروالدز تصميم گرفت نرمافزار BitKeeper را که از سال 2002 براي توسعه لينوکس بهکار ميبرد کنار بگذارد و به ابزار جديد Git روي آورد. اين اقدام به دنبال فشار افکار عمومي در جامعه اپنسورس و نکوهش استفاده از يک ابزار غير آزاد براي توسعه يک پلاتفرم آزاد صورت گرفت. در طي اين مدت جامعه اپنسورس تلاش کرد با روش مهندسي معکوس ساختار BitKeeper را تحليل کند و ابزارهايي براي مقاصد خود بسازد.
برخي تحليلگران معتقدند صرفنظر از بحثهايي که پيرامون توسعه لينوکس با استفاده از يک نرمافزار آزاد يا غير آزاد ممکن است وجود داشته باشد، انتقال روند توسعه کرنل لينوکس از BitKeeper به Git تغيير عمدهاي از نظر فني محسوب نميشود.
از ميان ويژگيهاي جديد و تغييرات اين نسخه ميتوان به اصلاحات مربوط به IPv6 ، قابليت Software Suspend و Device Mapper اشارهکرد. به اين نسخه همچنين قابليت Address Space Randomization افزوده شده است که براي محدودکردن دامنه تاثيرگذاري ويروسها تعبيهشده است. همچنين اصلاحاتي در درايورهاي USB ، تراشههاي صوتي، شبکه و نيز سيستمهاي فايلي CIFS ، JFS و XFS صورت گرفته است.
انتظار ميرود نسخه جديد هسته لينوکس از SELinux پشتيباني کند. SELinux پروژه مشترکي است که با همکاري آژانس امنيت ملي آمريکا (NSA) و جامعه اپن سورس اجرا ميشود. اجراي اين پروژه از سوي شرکت Red Hat و در غالب پروژه Fedora Core حمايت ميشود.
جمع آوري كننده: علي نجف زاده
سلام دوست عزيز من يه هارد
maxtor 160 GB sata دارم
از كاره هارد هم سر در نمي يارم ولي يه مشكلي دارم كه حدس ميزنم از هارد باشه
زمان زيادي طول ميكشه كه يه فايل و كپي و paste كنم البته اين در مقايسه با سيستم هاي ديگه اي مثه سيستم دوستم هست
كه در موارد ديگه سخت افزاري از اون ها بالاتره
ولي سرعت copyو paste اونا سريع تر انجام ميشه .
اين در حاليه كه مثلا براي كپي كردن يه فيلم با حجم 1.5g
از بس طول ميده كه بالا ميارم
امكان داره اصلا مشكلي وجود نداشته باشه و سرعت هارد پايين باشه و من در خريدم اشتباه كرده باشم؟
در ضمن از كجا مي تونم سرعت هارد و چك كنم؟
ممنون
سلام و خسته نباشید
من یه هارد مکستور 160 Ide دارم که خارج از صدای خرخری که بعضی مواقع میده ... برای کپی و پست در موقع که حجم اصلاعات زیاده خیلی بیشتر از حد وقت صرف میکنه . مثلا برای کپی یا کات کردن یه سی دی یه چیزی حدود 20-25 دقیقه وقت صرف میکنه
میخواستم ببینم چی کار کنم ؟؟ مشکل از هارد هست یا از کابل Ide ؟ چه راهنمایی دارید برام؟؟
هم اکنون 6 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 6 مهمان)