מערכת הקבצים Bcachefs חדלה רשמית להיות ניסיונית.

קנט אוברסטריט הוציא את מערכת הקבצים Bcachefs 1.38.6 והודיע ​​על הסרה רשמית של תווית הפיתוח הניסיוני מהפרויקט. מספר דיווחי הבעיות ירד לאחרונה, והבאגים שנתקלו בהם הפכו פחות חמורים ועדינים.

הגרסה כוללת שתי חבילות: bcachefs-kernel-dkms, המכיל מודול ליבה שנבנה באמצעות מערכת DKMS (תמיכה במודול ליבה דינמי), ו-bcachefs-tools, המכיל את כלי השירות bcachefs, הפועל במרחב המשתמש ומיישם פקודות ליצירה (mkfs), הרכבה, שחזור ואימות של מערכות קבצים. החבילות מורכבות עבור... Debian, Ubuntu, קשת Linux וצפויים עבור Fedora, openSUSE ו-NixOS. מודול DKMS תומך בליבות. Linux, החל מ-6.16.

למרות מספר הגרסה התמים עקב היעדר שינויים בפורמט המקוון, גרסה 1.38.6 כוללת מספר אופטימיזציות ביצועים משמעותיות. כ-200 שינויים לשיפור ביצועים בוצעו בקוד לעבודה עם מבני btree, רישום יומנים ותמיכה במערכת קבצים. לוגיקת commit טרנזקציות נדחסה ל-4 KB של קוד מכונה, נוספו אופטימיזציות כדי למנוע ניגודי עניינים בעת עבודה עם btrees, ותהליך ריקון היומנים נטול נעילות לחלוטין.

על שרת עם מעבד AMD בעל 48 ליבות, Bcachefs השיג תפוקה של 16.5 ג'יגה-בייט/שנייה בעת הפעלת 48 לקוחות dbench (לשם השוואה, XFS השיג 16 ג'יגה-בייט/שנייה). תיקונים המגדילים את ביצועי dbench ל-19 ג'יגה-בייט/שנייה הוכנו אך נדחו לגרסה הבאה (תיקונים אלה דורשים בדיקות נוספות או שינוי בפורמט הדיסק). בבדיקה עם כלי השירות fio, Bcachefs השיג 700 IOPS עבור כתיבות אקראיות עם בלוקים של 4 קילובייט (XFS משיג מיליון IOPS בבדיקה זו, למרות ש-XFS מגביל את עצמו למיפוי מחדש של בלוקים, בעוד ש-Bcachefs מטפל במחזור CoW (העתקה-בכתיבה) המלא עם אימות בדיקת סיכום ועדכוני מבנה btree).

בנוסף לאופטימיזציות, גרסה 1.38.6 של Bcachefs מציגה תמיכה בחיבור של עד 255 מכשירים למערכת קבצים אחת. חבילות עבור גישה זו החלו להיווצר במאגר apt.bcachefs.org. Ubuntu 26.04 באפריל. תשתית האינטגרציה הרציפה והבדיקות האוטומטיות הועברה לבדיקות בניות מבוססות DKMS. במהלך החודשים הקרובים, אנו מתכננים להתמקד באופטימיזציה של ביצועי מערכת הקבצים עם התקני אחסון מרובים.

בנוסף, העבודה על כתיבה מחדש של קוד Rust נמשכת. יצוין כי תמיכת Rust בליבת הגרעין הגיעה לאבן דרך: כל ההפצות העיקריות אפשרו את ההגדרה CONFIG_RUST כברירת מחדל בעת אריזת ליבת 7.0 לבניית הליבה עם תמיכת Rust. פרויקט Bcachefs כבר כתב מחדש קבוצת כלי עזר ב-Rust.
bcachefs-tools, הפועל במרחב המשתמש, כולל יישום API לעבודה עם מבני btree. בגרסה הבאה, אנו מתכננים לשלב את קישורי Rust שהוכנו לתוך מודול הליבה של DKMS ולהתחיל לכתוב מחדש את קוד Bcachefs הבסיסי. השימוש ב-Rust צפוי לשפר את הגמישות, היציבות וקלות השימוש בקוד, להפוך את הפרויקט למעניין יותר עבור מהנדסים צעירים, ולאפשר יישום של אימות מהימנות פורמלי בעתיד.

פרויקט Bcachefs מפתח מערכת קבצים שמטרתה לשלב את הפונקציונליות המתקדמת של Btrfs ו-ZFS עם הביצועים, האמינות והמדרגיות של XFS. Bcachefs תומך בתכונות כגון מספר התקנים בכל מחיצה, פריסות אחסון רב-שכבתיות (שכבה תחתונה עם נתונים הנגישים לעתים קרובות על סמך SSD מהירים, ושכבה עליונה עם נתונים הנגישים בתדירות נמוכה יותר מדיסקים קשיחים), שכפול (RAID 1/10), אחסון במטמון, דחיסת נתונים שקופה (מצבי LZ4, gzip ו-ZSTD), פרוסות מצב (תמונות), אימות שלמות באמצעות סיכומי בדיקה, קודי תיקון שגיאות ואחסון נתונים מוצפן (באמצעות ChaCha20 ו-Poly1305).

כמה מהתכונות החדשות והמשמעותיות שנוספו ל-Bcachefs בחודשים האחרונים כוללות:

  • מנגנון ה"פיוס" (rebalance_v2), אשר, בניגוד למצב "איזון מחדש", מאפשר איזון מחדש לא רק של נתונים (למשל, שכפול עותקים מרובים לכוננים שונים) אלא גם של מטא-דאטה של ​​מערכת הקבצים (למשל, העברת מטא-דאטה לאחר הוספת כונן נוסף למאגר). פיוס ישים לכל פעולות הקלט/פלט, לא רק העתקה ודחיסה ברקע. פיוס לוקח בחשבון באופן אוטומטי שינויים בהגדרות ההתקן ומשכפל מחדש באופן מיידי נתונים ומטא-דאטה פגומים.
  • תמיכה בקודי תיקון שגיאות, המאפשרים שחזור נתונים בדומה ל-RAID 5/6. המימוש מבוסס על קידוד Reed-Solomon, שיכול לתקן עד N שגיאות לכל פס (Stripe) עם N בלוקים יתירים. ניתן שחזור אוטומטי של פסים פגומים. השימוש בקודי שחזור ישים לתצורות עם כוננים בגדלים שונים.

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster