שימוש ב-"noatime" במערכת לינוקס פעילה
כששדרגתי את מערכת האובונטו שלי, קובץ ה-/etc/fstab שלי נדרס בידי תהליך השדרוג. נראה שקובץ ה-/etc/fstab החדש לא שמר על ההעדפות הישנות שלי למערכות הקבצים. לא שמתי לב לכך במשך זמן מה, אבל מה שכן שמתי לב אליו היה שהמערכת שלי איטית. לאחר זמן מה נזכרתי שבעבר השתמשתי ב-noatime כאפשרות עגינה עבור כל הכוננים הקשיחים שלי, מה שהעניק לי מעט יותר מהירות והתייחס לכוננים שלי ביד רכה יותר.
תחילה נסביר מה פירוש noatime. atime, או זמן גישה (Access Time), הוא תכונה שנשמרת בידי כל מערכות הקבצים המתנהגות כשורה ביוניקס עבור כל קובץ וקובץ. זהו אחד משלושה תאריכים הנשמרים: זמן שינוי מטא-מידע — ctime, זמן השינוי האחרון — mtime, וזמן הגישה האחרונה — atime. מבין השלושה, atime הוא השנוי ביותר במחלוקת, שכן משמעותו היא שעל כל קריאה מהדיסק מתבצעת פעולת כתיבה. זוהי אחת מברירות המחדל הגרועות ביותר במערכת היוניקס שלכם.
הפתרון הוא פשוט להשבית את atime לחלוטין. אזהרה — הדבר עלול לגרום ליישומים מוזרים מסוימים המסתמכים על atime להישבר. אם אתם רוצים שהמערכת שלכם תהיה "ברירת מחדל" ככל האפשר, אל תעשו את מה שאני מציע. אם אתם רוצים ביצועים טובים יותר ואורך חיים ארוך יותר לכונן הקשיח, ומצד שני לא אכפת לכם להיפרד מיישום חריג אחד או שניים, אז הטריק הזה מיועד לכם.
איך עושים זאת? פשוט ערכו את /etc/fstab והוסיפו noatime בעמודה הרביעית, שם נמצאות אפשרויות העגינה של מערכות הקבצים, עבור כל מערכת קבצים שברצונכם למנוע בה עדכון של זמן גישה. אתחלו את המערכת. הריצו mount(1) כדי לוודא שכל מערכות הקבצים שלכם עוגנו כראוי. תיהנו.
אילו יישומים נשברים? למען האמת — טרם ראיתי יישום שנשבר בגלל השינוי הזה. אני מריץ עם "noatime" כבר שנתיים וכל היישומים נראים כמתנהגים כשורה. אם ידוע לכם על יישום שנשבר, אנא הודיעו לי...