اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

مفاهیم Journaling و Caching در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    مفاهیم Journaling و Caching در لینوکس

    سوال یکی از دوستان بهانه ای شد برای نوشتن این مطلب :
    سوال یک دوست این بود که سرعت نوشتن دیسک در فایل سیستم های EXT کمتر از فایل سیستم های دیگه هست اما چرا ؟

    فایل سیستم های EXT3-4 از قابلیت journalization و caching استفاده میکنن دقت کنید مبحث کشینک و journalization در EXT3 به بعد ظهور کرد. اما چطور بفهمیم قابلیت کشینگ فعال هست یا نه ؟!؟ قبلش مفهوم جورنال در فایل سیستم را بررسی میکنم.



    در مباحث ذخیره*سازی، سیستم فایل ژورنالی به سیستم فایلی می*گویند که تغییرات را قبل از اعمال کردن در سیستم فایل اصلی در ناحیه مخصوصی به نام ژورنال پیگیری و نگه*داری می*کند. اغلب اوقات، ناحیه ژورنال، ناحیه*ای از سیستم فایل است که وقایع و تغییرات به صورت گردشی در آن ثبت می*شوند. بدین ترتیب، در هنگام پیش*آمدن مشکلی برای سیستم فایل، همانند قطع شدن برق، سیستم فایل با کمترین احتمال خرابی می*تواند به سرعت آماده به کار شود.

    حال چطور میتونیم بفهمیم قابلیت کشینگ فعال هست، و چطور میشه اون را فعال کرد؟


    با دستور زیر میشه پی برد :
    کد PHP:

    hdparm 
    -W 0 /dev/sdX

     
    ---------------- خروجی ---------------------

    /
    dev/sda6:

     
    write-caching =  (on
    برای دانستن اطلاعات درمورد فایل سیستم EXT ما :*
    کد PHP:

    tune2fs 
    -/dev/sdX 
    —----خروجی // اطلاعات زیادی هست ما فقط بعضی از اطلاعات را قرار میدیم ------------
    کد PHP:

    Filesystem features
    :      has_journal ext_attr resize_inode dir_index filetype   sparse_super large_file

    Filesystem flags
    :         signed_directory_hash 

    Default mount options:    user_xattr acl

    Filesystem state
    :         clean

    Errors behavior
    :          Continue

    Filesystem OS type:       Linux

    Inode count
    :              128000

    Block count
    :              512000

    Reserved block count
    :     25600

    Free blocks
    :              494994

    Free inodes
    :              127979

    First block
    :              0

    Block size
    :               4096

    Fragment size
    :            4096

    Reserved GDT blocks
    :      124

    Blocks per group
    :         32768

    Fragments per group
    :      32768

    Inodes per group
    :         8000

    Inode blocks per group
    :   500

    Filesystem created
    :       Sun Dec 15 12:59:05 2013

    Last mount time
    :          Thu Nov  3 13:01:13 2016

    Last write time
    :          Sat Feb  4 12:20:36 2017

    Mount count
    :              66

    Maximum mount count
    :      -1

    Last checked
    :             Sun Dec 15 12:59:05 2013

    Check interval
    :           (<none>)

    Lifetime writes:          1208 kB

    Reserved blocks uid
    :      (user root)

    Reserved blocks gid:      (group root)

    First inode:              11

    Inode size
    :               256

    Required extra isize
    :     28

    Desired extra isize
    :      28

    Journal inode
    :            8

    Default directory hash:   half_md4

    Directory Hash Seed
    :      1aff2a74-3388-4488-b525-ad15cf92a180

    Journal backup
    :           inode blocks 
    برای غیر فعال کردن قابلیت کشینک داریم :
    کد PHP:

    /dev/sda1    /    reiserfs        sync    0   0 
    برای ابن کار میتونبد در فایل /etc/fstab مثل این ساختار را اضافه کرد.


    اما در مورد sync :
    کد PHP:

    sync   All I
    /O to the filesystem should be done synchronously.  In the case of media with a limited number of write cycles (e.gsome

                  flash drives
    ), sync may cause life-cycle shortening.

    ------------------------------------------------------

           
    inode_cache

                  Enable free inode number caching
    .   Defaults to off due to an overflow problem when the free space CRCs  don't 
     fit  inside  a

                  single page.

    —---------------------------------------------------------------------—

    nospace_cache

                  Disable freespace cache loading without clearing the cache.

    —----------------------------------------------------------------------

    clear_cache

                  Force clearing and rebuilding of the disk space cache if something has gone wrong.

    —------------------------------------------------------------------------------

    inode_readahead_blks=n

                  This tuning parameter controls the maximum number of inode table blocks that ext4'
    s inode table readahead 
    algorithm will  pre
    -

                  
    read into the buffer cache.  The value must be a power of 2.  The default value is 32 blocks.

    ---------------------------------------------------------------------------------------

    nodelalloc

                  Disable delayed allocation
    .  Blocks are allocated when data is copied from user to page cache.

    ------------------------------------------------------------------------------------------------- 
    این ساختار ها را میشه بصورت مستقیم با دستور mount وارد کرد. البته پارامتر های زیر را هم میشه در کرنل اعمال کرد :
    کد PHP:
    To free pagecache:

      echo 
    > /proc/sys/vm/drop_caches

    To free dentries 
    and inodes:

      echo 
    > /proc/sys/vm/drop_caches

    To free pagecache
    dentries and inodes:

      echo 
    > /proc/sys/vm/drop_caches 
    نکته دیگه :


    با دستور hdparm هم میشه انجام داد :
    کد PHP:

    hdparm 
    -W0 /dev/sda6

    -----------------------------خروجی---------------------------------

    /
    dev/sda6:

     
    setting drive write-caching to 0 (off)

     
    write-caching =  (off

    من قلبی بزرگ با رویاهایی بزرگ دارم. دانسته هایمان را با هم به اشتراک بگذاریم.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی
در حال انجام ...
X