שדרוג רשת פנימית ל40Gbit/s

פורום רשתות, IT ומחשוב כללי - רשתות, ראוטרים, מחשבים ניידים, אביזרים וכו'.
avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #1 

היה לי מ2021 שני כרטיסי Mellanox ConnectX-3 CX311A-XCAT שהם SFP+ 10Gbit- אחד בשרת ואחד במחשב.
יש לי סיב אופטי שהשלחתי בקיר בין הסלון לחדר עבודה (בנוסף לכבל נחושת Cat6a): https://www.fs.com/products/130954.html
LC UPC Duplex משני הקצוות, סינגל מוד OS2 (אורך גל 1310/1550nm), עם Short Boot שיתפוס פחות מקום כשמחובר לקיר.

החלטתי לאחרונה לשדרג.
אני יודע שזה Overkill מטורף לרוב השימושים, אבל החלטתי לעשות את זה בשביל העברות קבצים כבדים (בעיקר מכיוון המחשב לשרת).

------------------
הזמנות ומחירים:

1. כרטיסי רשת (NICs)
הדגמים: הוזמנו שני כרטיסי Mellanox ConnectX-4 Lx CX4131A-GCAT (משומשים).
עלות: $60 עבור הכרטיסים + $31 משלוח.
אספקה: הוזמנו ב-13/09, הגיעו ב-16/10 (עיכוב עקב חגי תשרי).
בפועל: חלה טעות במשלוח. התקבל כרטיס אחד מהדגם שהוזמן, וכרטיס שני מדגם ConnectX-4 CX415A-GCAT (ממשק x16).
ה-CX415A יקר יותר ($60-$150) אך פחות יעיל אנרגטית. כנראה נשלח בטעות כי ביקשתי כרטיסים שיוצרו בישראל (Made in Israel).

2. מתאמי אופטיקה (Transceivers)
ניסיון ראשון (בוטל):
דגם: 4 יחידות Finisar FTL4C1QE2C 40GBASE-LR4 (משומשים).
עלות: $20 עבור המוצרים + $29 משלוח.
סטטוס: המשלוח הגיע לארץ ב-17/11, אך הוחזר לשולח ב-08/12 כי eBay שכחו להדביק מדבקת כתובת במרכז הלוגיסטי שלהם.

ניסיון שני (הזמנה חדשה):
דגם: 2 יחידות FTL4C1QL1L (דגם משופר שמתחמם פחות).
עלות: $90 כולל משלוח מהיר ב-FedEx מדרום קוריאה (כדי להימנע משירות המשלוחים של eBay).

3. סיכום עלויות סופי
תכנון מקורי- $140 (כ-460 ₪)
סופי (כולל רכישה חוזרת)- $181 (כ-590 ₪)

בגלל ההבדלים בין הכרטיסים, ביצעתי חלוקה מותאמת לצרכים:
בשרת: הותקן כרטיס ה-Lx (CX4131A) בגלל שהוא צורך פחות חשמל.
במחשב האישי: הותקן כרטיס ה-CX415A. למרות שהוא דורש גרסת דרייבר ישנה יותר (WinOF-2 3.0) שכבר לא מתעדכנת, זה מספיק טוב עבורי.

------------------
הסטאפ:
חיברתי אותם למחשב ועדכנתי את הקושחה.
לקח קצת זמן להבין איך אבל ברגע שעדכנתי אחד השני היה כבר יותר קל.

מפרט השרת (Server Specs)
מעבד: AMD Ryzen 9 5900X
זיכרון: 128GB DDR4 ECC 3200Mhz
אחסון: 9 * WD Ultrastar HC550 18TB (שילוב של Retail ו-White Label)
תצורה: ZFS Pool בתצורת vdev יחיד של Raidz2

הערה לגבי הדיסקים: קיימת שונות קלה (כ-10%) במהירות בין כונני ה-HC550 המקוריים לגרסאות ה-White Label.

אופטימיזציה של פרוטוקול SMB
במהלך ההגדרות גיליתי ש SMB Multichannel לא תפקד כמצופה למרות שהיה מוגדר.
כדי למקסם את רוחב הפס, זה חלק מהשינויים שעשיתי:
הגדרה ידנית: הוספת הגדרות Multichannel ישירות לקובץ הקונפיגורציה של ה-SMB.
RSS (Receive Side Scaling): הגדרת RSS בשני הקצוות (מחשב ושרת) כדי שהעומס של הרשת יתחלק בין כמה ליבות של המעבד ולא ייפול רק על אחת.

מבחני ביצועים ותוצאות
בדיקה ראשונית עם 8 חיבורים ב iperf3:
לאחר אופטמיזציות בשרת ובמחשב, הצלחתי לנצל את רוב המהירות גם בהעברת קבצים מהמחשב לשרת: זה כרגע כותב לRAM כדי להגיע למהירות הזו לפני שהמידע נכתב לדיסקים, ואני בוחן אפשרות להשתמש בSSD של הדוקרים כסוג של קשינג בצד שרת.
הגדרתי שיהיו 50GB מהRAM עבור זה, אז כשעוברים את הכמות הזו (בערך 12 שניות), המהירות יורדת בבת אחת לסביבות 1.4-1.5GB/s שזה מה שהפול מסוגל לתת.
נערך לאחרונה על ידי avob ב 03/01/2026 16:03, נערך 2 פעמים בסך הכל.

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #2 

כאן אני אפרט יותר על המכשולים שהיו לי בדרך, כיוונים שלא עבדו והגדרות ZFS.
"כל הכוכבים צריכים להסתדר" כדי שיהיה ניתן לנצל את כל המהירות.

TL;DR:
  • נקודת המוצא: חשבתי ש-ZFS והרבה RAM יתנו את המהירות המקסימלית "ישר מהקופסה", אבל גיליתי ש-SMB מוגבל לליבה אחת של המעבד ויוצר צוואר בקבוק.
  • שינוי SMB להיות אסינכרוני: צריך היה לשנות את ההגדרות SMB בשרת שיקבלו את המידע בSMB בצורה אסינכרונית כדי שהוא יגיע לZFS RAM Cache.
  • הניסיון עם RSS: הגדרתי SMB Multichannel כדי לנצל כמה ליבות במקביל. לקח זמן למצוא את הסינטקס המדויק להגדרות השרת כדי שזה יעבוד על כרטיס רשת יחיד.
  • התאמות בווינדוס: כדי שהמחשב יזהה את ה-RSS, הייתי צריך לכבות ולהדליק את ההגדרה בכרטיס הרשת ולבצע ריסטרט למחשב.
  • בדיקת כיוונים אחרים: ניסיתי להשתמש ב-RDMA ו-ksmbd. זה דרש ממני לקמפל קרנל לינוקס ולהריץ VM של Windows Server 2025, אבל הבנתי שזה לא פתרון פרקטי עבורי.
  • איתור צוואר בקבוק: הבנתי שמנגנון ה-shfs של unRAID הוא זה שמאט את הכתיבה באופן משמעותי.
  • כיוונון ZFS Write Cache: הגדלת ה-Dirty Data ב-RAM (תחת הגנת UPS) כדי למנוע ירידת מהירות לאחר מילוי הCache הראשוני:
    zfs_dirty_data_max_max: הוגדר ל-60GB.
    zfs_dirty_data_max: הוגדר ל-50GB.
    zfs_delay_min_dirty_percent: הועלה ל-95%.
    zfs_dirty_data_sync_percent: הורד ל-10% לתחילת סנכרון מוקדם.
  • תוצאות: הגעה לקצבים של 2.2-2.5GB/s ליציבות של 12 שניות, ושיאי מהירות של עד 4.0GB/s לאחר הסתגלות המערכת.
-----------------

בהתחלה חשבתי שזה שיש לי ZFS והרבה RAM יעזור להגיע למהירות הזו בלי יותר מדיי שינויים.
טעיתי.
פרוטוקול SMB בדיפולט עובד רק עם סטרים העברת קבצים אחד, שזה אומר שביצועי Single core של המעבד יכולים להוות צוואר בקבוק.
קראתי קצת באינטרנט והגעתי למושג SMB Multichannel - פתיחת כמה ערוצים שונים בSMB לאותו השרת.
אבל, זה מותאם ספציפית למצב שיש לשרת ולמחשב שני כרטיסים רשת (או יותר) כל אחד - למשל, שני חיבורי 1Gbit/s שביחד יכולים לאפשר 2Gbit/s.
בשביל להשתמש בכמה חיבורי רשת עם כרטיס רשת יחיד, הבנתי שצריך להשתמש בRSS (Receive Side Scaling) - שינצל כמה ליבות במקביל בשביל ההעברה.
כדי שRSS יפעל בצד של השרת, היה צורך לשנות את ה SMB settings ולהוסיף:

קוד: בחירת הכל

interfaces = "{SERVER_IP_HERE};capability=RSS,speed=40000000000"
בנוסף, כדי לגרום למידע להיכתב לRAM Cache בZFS צריך להגדיר את ההגדרות הבאות בSMB:

קוד: בחירת הכל

aio read size = 1
aio write size = 1
strict sync = no
sync always = no
בגלל שSMB בדיפולט הוא סינכרוני והקשינג הוא רק עבור מידע שהוא לא סינכרוני, צריך לגרום לSMB בצד שרת לקבל את המידע בצורה לא סיכרונית עם ההגדרות האלה.

ראיתי הרבה כאב של אנשים ברשת על ה-Syntax של ה interfaces (שהיה שונה בין תגובה לתגובה), עד שמצאתי את הSyntax שמתאים ועובד.
הדרך לוודא בווינדווס שהכרטיס עובד עם RSS היא להריץ Powershell בהרשאות Admin ולהריץ את הפקודה:

קוד: בחירת הכל

Get-SmbClientNetworkInterface
תחת העמודה של `RSS Capable` צריך להיות `True`.
אצלי זה היה מבוטל למרות שבהגדרות הכרטיס זה כן היה מופעל. ביטול והפעלה מחדש של ההגדרה הספציפית עזרה (טיפ שראיתי ברשת) ועכשיו במחשב זה היה מופעל.
כדי לבדוק בווינדווס אם הוא מזהה שהשרת גם כן תומך, צריך להעביר קובץ לשרת ואז להריץ בPowershell את הפקודה הבאה:

קוד: בחירת הכל

Get-SmbMultichannelConnection
כאן צריך להיות `True` תחת העמודה `Client RSS Capable` של החיבור הרלוונטי (לפי IP שרת וכרטיס רשת של המחשב).
אחרי הרבה משחקים עם ההגדרה בשרת, עדיין היה אצלי False, עד שחשבתי לעשות ריסטרט למחשב עצמו וזה פתר את הבעיה.

זה עדיין לא היה מספיק. בשלב הזה כבר הייתי בטוח שאי אפשר להגיע למהירויות גבוהות, וקראתי שיש משהו שנקרא RDMA (Remote Direct Memory Access) שבעצם מעביר את המידע בקרנל ועוקף את המערכת הפעלה כדי לצמצם כמה שיותר overhead.
הדרך להשתמש בזה (חוץ מלהפעיל בכרטיס רשת תומך) בלינוקס היא להריץ קרנל עם מודול ksmbd.
אני משתמש בשרת ב unRAID (כבר כמעט עשור איתה), ואין עליו את המודול הזה, אז היה לי side-quest קטן של לנסות לקמפל את הקרנל לינוקס המתאים עם המודולים הספציפיים, ואחרי כמה שעות הצלחתי גם לטעון אותם לשרת.
למרות שהמודולים היו טעונים הם לא זיהו את הכרטיס.
הרמתי VM של שרת Windows Server 2025 (כן, ראש בקיר) כי הבנתי ששם זה מופעל בדיפולט, והעברתי PCI-E Passthrough את הכרטיס אל הVM.
העברתי קובץ ולמרות שהמהירות לא הייתה גבוהה (בכל זאת, VM) - לא ראו כלום בגרפים של ה Task Manager.
נראה שככה זה כשמשתמשים בRDMA והצלחתי לראות אותו עובד באמצעות Performance Monitor של ווינדווס.

בשלב הזה, הבנתי שאני לא אוכל להשתמש בפיתרון הזה, כי הגישה שיש לVM לשרת היא לא ישירה ואיטית יחסית.
נתנו לי טיפ שאפשר לנצל גם 25Gbit/s גם בלי ksmbd ו RDMA.
צדתי את הצוואר(י) בקבוק.

יש מנגנון בunRAID בשם shfs שמחליט לאיזה דיסק במערך הולך להיכתב קובץ ספציפי, והוא מאט את הכתיבה (שגם ככה מוגבלת במערך הרגיל שלו ל20-40MB/s תלוי כמה Parity מגדירים 1 או שניים [ או בלי ואז מוגבלים לכתיבה של דיסק אחד] ).
כשהם הוסיפו בגרסה 7 תמיכה במערכת קבצים של ZFS, יצרו קונספט חדש בשם Exclusive Share שבעצם מדלג על כל המנגנון הזה תחת תנאים ספציפיים.
בגלל שהיו לי כמה תיקיות סוררות שבעבר העתקתי להארדיסק נפרד מהמערך ZFS - זה ביטל את ה Exclusive Share ואיפשר לי להשיג רק 1.3GB/s בערך. מחיקה שלהן מהארדיסק הנפרד פתרה את הבעיה הזו והמערך חזר לעבוד עם Exclusive Share.

כבר ניתן היה לקבל מהירות גבוהה יותר, אבל רק ל2 שניות בערך ואז המהירות ירדה משמעותית- הRAM פשוט לא נוצל עד הסוף.
חקרתי קצת לגבי ZFS והבנתי שההגדרה הדיפולטיבית ל Write Cache היא רק 4GB- אז חיפשתי איך להגדיל את זה.
זה אומר שאם תהיה הפסקת חשמל באמצע העברה אאבד את כל המידע הזה, אבל יש לי אל-פסק אז לא צריכה להיות בעיה.

הגדרתי את ההגדרות הבאות:
zfs_dirty_data_max_max -> המקסימום שניתן לקבוע את ה zfs_dirty_data_max. בדיפולט 4GB. הגדרתי 60GB.
zfs_dirty_data_max -> בדיפולט 4GB. הגדרתי 50GB כדי שיהיה ניתן לכתוב יותר מ4GB לRAM.
zfs_delay_min_dirty_percent -> האחוז מה dirty_data_max שכשמגיעים אליו המידע מפסיק להיכתב לRAM. בדיפולט 60%, הגדרתי 95%.
zfs_dirty_data_sync_percent -> האחוז מה dirty_data_max שכשמגיעים אליו המידע מתחיל לעבור מהRAM לPool. בדיפולט 20%, הגדרתי 10% כדי שהמידע יתחיל לעבור מוקדם יותר.

אחרי ההגדרות האלה הצלחתי להגיע ל 2.2-2.5GB/s למשך 12 שניות לפני שזה יורד בחדות ל1.4GB/s בערך.
לא שיניתי משהו מיוחד, ואחרי כמה זמן המחשב התחיל לכתוב בקצבים של 4.0GB/s, כנראה לווינדווס לקח זמן לזהות את הRSS כמו שצריך.
למרות, שעד עכשיו אני לא בטוח אם זה מופעל כמו שצריך (כל האינדיקציות מראות שכן אבל תחושת בטן).
נערך לאחרונה על ידי avob ב 03/01/2026 19:30, נערך 13 פעמים בסך הכל.

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #3 

שמור #2.

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #4 

שמור #3 (אחרון).

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #5 

הוספתי בתגובה #2 פירוט על כל ההגדרות שעשיתי להן Tuning כדי לטפל בצווארי בקבוק שהיו בדרך.

למישהו יש ניסיון עם מהירויות גבוהות מ 10Gbit/s או אולי RDMA/ksmbd (ומה התצורה)?
מה דעתכם?

DanielGR
סמל אישי של משתמש
גורו רשתות
גורו רשתות
תגובות: 1448
הצטרף: יולי 2023
שם מלא: DanielG
מיקום: Israel
נתן תודות: 217 פעמים
קיבל תודות: 280 פעמים

שליחה #6 

תודה על הפוסט המפורט והמושקע

לי יש ניסיון עם 25Gbps, שרת Truenas scale. אין בעיה לקבל מהירות מקסימלית, גם בקריאה וגם בכתיבה, אבל עדיין שה-Cache מתמלא (ZFS, וגם של ה-SSD) המהירות יורדת.

לכן הצוואר בקבוק איננו הרשת כי iPerf יציב לאורך זמן, ואיננו SMB משום שהמהירות המקסימלית מתקבלת, ויורד רק בגלל מגבלות הכתיבה ל-SSD באחד הצדדים. העניין הוא שכל התצורה הזו אפקטיבית לקבצים גדולים, ובקבצים גדולים מגיעים מאד מהר למגבלות הכתיבה כאשר ה-Cache מתמלא. כל זה כאמור לגבי הבדיקה ב-25G.

התצורה הבאה שתהיה בבדיקה היא 100Gbs עם QSFP28 וסוויץ׳ מתאים - MikroTik CRS812 DDQ, אשתף תוצאות שיהיו.

ב-Truenas scale ניתן להפעיל Multichannel דרך ה-GUI אגב
הפיתרון ההנדסי ״היותר נכון״ הוא RoCE - RDMA Over Converged Ethernet, לא הצלחתי להפעיל, וגם ב-25Gbps ניתן גם לקבל את מלוא המהירות גם בלי זה, כנראה ישפיע על העומסים.
רשימת הציוד: MikroTik CCR2004-1G-12S+2XS |CRS317-1G-16S-RM | CRS504-4XQ-IN

Jabberwock
חבר ותיק
חבר ותיק
תגובות: 1303
הצטרף: יולי 2024
נתן תודות: 68 פעמים
קיבל תודות: 159 פעמים

שליחה #7 

כדאי לשים לב לנפח כונן ה-SSD אשר משמש למטמון. ככל שהנפח גדול יותר הבלאי בכונן קטן יותר. כלומר לא לשים נפחים 128GB ומטה. אלו יתפגרו יחסית מהר.
לכו חזו מפעלות יהוה אשר שם שמות בארץ. משבית מלחמות עד קצה הארץ קשת ישבר וקצץ חנית עגלות ישרף באש.

DanielGR
סמל אישי של משתמש
גורו רשתות
גורו רשתות
תגובות: 1448
הצטרף: יולי 2023
שם מלא: DanielG
מיקום: Israel
נתן תודות: 217 פעמים
קיבל תודות: 280 פעמים

שליחה #8 

התצורה אצלי היא שני SSD 2T ב-RAID1, ועוד דיסקים מכניים בתצורת RAIDZ2. ללא SSD cache.


הדיסקים המכניים לא מגיעים לקריאה / כתיבה היכולה להרוות חיבור של 25G, לכן הכתיבה הראשונית ל-Cache היא במהירות זהה לרשת, וכשה-Cache מתמלא המהירות יורדת.

לגבי ה-SSD, המגבלה שלהם היא PCIE 3.0 , כ-3,50MBps, יותר ממהירות הרשת אבל גם ב-SSD יש DRAM Cache ושהוא מתמלא המהירות יורדת משמעותית.

מכיוון שכך, הגודל של ZFS write cache הוא האלמנט הכי משמעותי שמאפשר לנצל את הרשת בקצבים כאלו
רשימת הציוד: MikroTik CCR2004-1G-12S+2XS |CRS317-1G-16S-RM | CRS504-4XQ-IN

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #9 

@Jabberwock כן, זה נכון. למזלי היה לי כבר Samsung 980 Pro 1TB ומנצל ~70GB מתוכו לדוקרים וVMים כרגע.
כמעט קניתי עוד אחד שלשום ונזכרתי שה-B550 Aorus Pro AC שאצלי מתאים רק ל PCI-E 4.0 יחיד 😅
מצליח לרשום לתוכו בערך 110GB בגלל ה SLC Cache ואז המהירות יורדת לסביבות 2.2GB/s שזה גם טוב יחסית.

@DanielGR איזה כרטיסי רשת 25Gbit/s יש לך? ואיזה כרטיסים אתה מתכנן להשיג עבור 100Gbit/s?
כן על RoCEv2 דיברתי כשרשמתי על RDMA - זה משהו שנתמך from the box על TrueNAS Scale או שאתה צריך לקמפל עבורו מודולים?
לא מצאתי כרגע דרך להשתמש בSSD כ Cache למערך על unRAID ZFS מעבר לליצור סקריפט שמעביר את הדברים, מניח שאני צריך להתעסק קצת יותר שם בהגדרות (אולי באמצעות ה Mover). ב TrueNAS זה משהו שהוא Seamless יחסית?
מניח שהייתי צריך 192GB RAM ומעלה כדי להגיע לכמות קשינג שהSSD מאפשר.

barbour_lavavn
חבר שרק התחיל
חבר שרק התחיל
תגובות: 22
הצטרף: פברואר 2018
נתן תודות: 0
קיבל תודות: 4 פעמים

שליחה #10 

אם אתה רוצה להגיע למהירויות יותר גבוהות , עבור לfreebsd בלי כל הפינוקים .
freebsd 15 מציע כה שיפורים בדיוק היכן שאתה מחפש . שלא נדבר על גרסת zfs ברמת הכיוונון מדהים ללא כיוונון נוסף ( תאמין לי אני מתפרנס מזה )
יש לי כמה וכמה קלאסטרים כבדים עם יותר מ60 vdev שקיבלו בעדכון ל15 16 אחוז בביצועים .

יש מדי פעם כרטיסי אינפיני ebay בפחות מ200 שקלים , אבל צריך להיות ערני .

ואם אתה רוצה מהירות , smb זה לא המקום . nfs4 ומעלה יתנו פתרון הרבה יותר טוב .
כמובן שתוסיף compression נורמלי ( אופטימיזציה ב15 לzstd (
תעשה ניסוי קטן עם ramdisk

שים לב לגרסת הsmb יש לא מעט באגים , 4.16 היא האחרונה שעובדת לי בצורה סבירה .

ziv_r
סמל אישי של משתמש
עורך ראשי HTmag
עורך ראשי HTmag
תגובות: 46322
הצטרף: ינואר 2005
נתן תודות: 1965 פעמים
קיבל תודות: 5065 פעמים

שליחה #11 

02/01/2026 17:44  
avob כתב:
אני יודע שזה Overkill מטורף לרוב השימושים, אבל החלטתי לעשות את זה בשביל העברות קבצים כבדים (בעיקר מכיוון המחשב לשרת).
...
למה צריך להעביר קבצים מהמחשב ואי אפשר שהם יווצרו על השרת?

כל הכבוד על ההשקעה!

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #12 

04/01/2026 14:53  
barbour_lavavn כתב:
אם אתה רוצה להגיע למהירויות יותר גבוהות , עבור לfreebsd בלי כל הפינוקים .
freebsd 15 מציע כה שיפורים בדיוק היכן שאתה מחפש . שלא נדבר על גרסת zfs ברמת הכיוונון מדהים ללא כיוונון נוסף ( תאמין לי אני מתפרנס מזה )
יש לי כמה וכמה קלאסטרים כבדים עם יותר מ60 vdev שקיבלו בעדכון ל15 16 אחוז בביצועים .

יש מדי פעם כרטיסי אינפיני ebay בפחות מ200 שקלים , אבל צריך להיות ערני .

ואם אתה רוצה מהירות , smb זה לא המקום . nfs4 ומעלה יתנו פתרון הרבה יותר טוב .
כמובן שתוסיף compression נורמלי ( אופטימיזציה ב15 לzstd (
תעשה ניסוי קטן עם ramdisk

שים לב לגרסת הsmb יש לא מעט באגים , 4.16 היא האחרונה שעובדת לי בצורה סבירה .
...
נשמע שאתה מתעסק עם FreeBSD לא מעט אם ככה.
ידעת שהפלייסטיישן 4 ו-5 מבוססים על FreeBSD? (פלייסטיישן 4 על FreeBSD 9 ו-5 על FreeBSD 11)
אחת הסיבות שנשארתי עם unRAID היא ספציפית בגלל האפליקציות דוקר שלו שנוח נורא להשתמש בהן.
אני דיי מפחד לעבור למערכת אחרת (גם לא עברתי ל TrueNAS), אבל כנראה שבעתיד לא תהיה ברירה חח

מה הסיבה שבחרתם ליצור 60 vdevים בZFS במקום ללכת במימדים האלה כבר למערכות אחרות דוגמת Ceph?

כרטיסי אינפיני הכוונה ל Infiniband, נכון? כי הכרטיסים שיש לי אמורים לתמוך, פשוט צריך גם לזה מודולים קרנליים ספציפיים (שגם אותם לא הצלחתי להפעיל).
לגבי NFS ניסיתי עם ווינדווס NFSv3 (כן, ישן אבל זה מה שמגיע built-in)- היה איטי מאוד בסביבות 700MB/s, למרות שלא ניסיתי להוסיף מספר חיבורים בmount.
ניסיתי עכשיו להתחבר עם WSL2 אבל משום מה הוא לא מצליח להגיע לשרת (למרות שיש פינג) כי חשבתי לנסות ככה.
אולי אנסה שוב בעתיד. ניסיתי גם להתקין את ה'ms-nfs41-client' שמצאתי בגיטהאב אבל הוא לא חתום אז לא ניתן היה להריץ- אז מעדיף לא לשנות את ההגדרה הזו במחשב.

איזה באגים יש בSMB? אצלי בunRAID 7.2.3 יש גרסה 4.23.4, יכול לפרט קצת?
נ.ב. אני משתמש בcompression של lz4 (לבטל את זה לא שינה כלום), והבנתי שיש רמות שונות לzstd (דיפולט 3?) ולא הייתי בטוח אם זה היה מאט את ה 5900X שאצלי.
04/01/2026 18:28  
ziv_r כתב:
למה צריך להעביר קבצים מהמחשב ואי אפשר שהם יווצרו על השרת?

כל הכבוד על ההשקעה!
...
תודה! ושאלה מצוינת.
בגלל שאני מתעסק באופטימיזציה ודחיסה של תוכן ויזואלי כבד, אני מעדיף לעבוד ככה משתי סיבות עיקריות:

קודם כל, היציבות. לעבוד ישירות על שיתוף רשת זה תמיד קצת הימור – מספיק Packet Loss קטן או "גיהוק" רגעי בחיבור כדי להרוס קידוד שלם ולדפוק את הקובץ. אני מעדיף שהעיבוד ירוץ מקומית ויהיה בטוח ב-100%.

דבר שני, נוחות העבודה. קשה מאוד לבדוק איכות ויזואלית דרך RDP או VNC. אם הייתי עובד ישירות על השרת, הייתי צריך להעביר דגימות למחשב הלוך ושוב כל הזמן רק כדי לראות איך יצא, וזה פשוט קוטע את רצף העבודה ומסרבל הכל.

הרבה יותר קל לי לסיים את העיבוד על המחשב בראש שקט, ואז פשוט "לשבור את הראש" איך להעביר את הקובץ המוכן לשרת הכי מהר שאפשר.

barbour_lavavn
חבר שרק התחיל
חבר שרק התחיל
תגובות: 22
הצטרף: פברואר 2018
נתן תודות: 0
קיבל תודות: 4 פעמים

שליחה #13 

מה הסיבה שבחרתם ליצור 60 vdevים בZFS במקום ללכת במימדים האלה כבר למערכות אחרות דוגמת Ceph?
איזו שאלה נפלאה ,
אני זקן בתחום הזה , התקנתי gluster cepth וgpfs ואפילו קלאסטרים לsgi . אני אוהב פשטות ... ובדרך כלל משיג תוצאות הרבה יותר טובות בהרבה פחות מכונות .
היו מעט מאוד מכונות zfs שלא הצלחתי לשחזר אותן ולהוציא מהן חומר ואם אני מתכנן יתירות , אז המערכת יתירה . לא מזמן פגשתי קלאסטר שהקמתי ב2008 שעדיין עובד .
הסיכוי לקטסטרופות בקלסטרים גדולים גדולות יותר , ואני מכיר את רובם . אם אתה מי שיעירו בלילה או יתקשרו אליו בשבת אתה תרצה שזה יהיה פשוט ואמין . לא בהכרח חדשני .
תוסיף את מנגנוני הסנאפ והסנכרון של zfs ותקבל מערכת שתמיד תעמיד אותך על הרגלים .
הדעה שלי לא מקובלת , אבל ידועה , ומביאים אותי להתווכח ... זה תמיד מייצר עניין ואני תמיד מגיע לתוצאות בהרבה פחות חומרה ...
אגב - עוד מימי הxsan העליזים היינו מעבירים חומר מרונדר לתחנות ... אם זה מה שאתה רוצה והשיתוף פחות חשוב , אתה יכול לעשות san פשוט על zfs ... מאוד דומה לניסיון העלוב של פרוקסמוקס בzfs( לעולם על תשתמש בהגדרות ברירת המחדל שלהם ) אבל לתחנות תלת מימד ועריכת וידאו , נותן אחלה עבודה ( אני עדיין ממליץ על pnfs שמנמן על freebsd )
יש לי כמה דוגמאות מאוד מעניינות של מכונות allinone שמחצינות מכונות וירטואליות עם כרטיסי מסך פיזיים , עובד מצויין במקומות קטנים , עם עבודה מרחוק אפילו בעריכת וידאו , המהירות תהייה פונקציה של הדיסקים והbus .
אני גם לא אוהב כל כך nvme אבל זה דיון אחר שלא נפתח כאן .

DanielGR
סמל אישי של משתמש
גורו רשתות
גורו רשתות
תגובות: 1448
הצטרף: יולי 2023
שם מלא: DanielG
מיקום: Israel
נתן תודות: 217 פעמים
קיבל תודות: 280 פעמים

שליחה #14 

@avob כרטיסי הרשת שברשותי הם:
Mellanox MCX4121A-ACAT PCIE 3.0 x8 dual port


השידרוג המתוכנן:
MCX455A-ECAT PCIE 3.0 x16 single port
100G QSFP28 CWDM4 transceiver
Fiber: Singlemode Duplex SMF
הטרנסיברים משדרים וקולטים בארבעה ערוצים, כאשר כל ערוץ הוא על אורך גל אחר, יחד 4x25G

העלויות גבוהות יותר מ-Setup מקביל של 25G אבל לא בהרבה. כרטיסי רשת בסביבות 70 דולר, והטרנסיברים – 22 דולר ליחידה. סיב כבר יש, וכמו כן רכשתי גם כבלי DAC 100G – שיהיה

לגבי תיכנון ה- Setup, המטרה היא מעבר ל- Point to Point עם שני מחשבים, והיה לי ברור שבסופו של דבר צריך Switch, ובעלות סבירה. מכיוון שאני חובב MikroTik ויש לי הרבה סקריפטים להגדרה שאני משתמש בהם, ו- Router OS היא מצוינת לטעמי בדקתי את ההיצע. יש מספר אפשרויות, התומכות ב- SFP28, ו-QSFP28 (גם DD ) במהירויות של 25, 100, 200, ו- 400 ג'יגה. ה- Setup נבנה למעשה על יכולות ה- Switch. הדגם הוא CRS812-8DS-2DQ-2DDQ-RM שמספק מקסימום גמישות ו- Interoperability בין החיבורים. במקרה הזה שני הפורטים של 200G, תומכים אחורה גם ב- 100G

הוספת SSD cache ל- ZFS Volume ב- Truenas היא דרך ה- GUI, מאד פשוט. עם זאת עם RoCE יש בעיה - זה נתמך, אבל לא בגרסת ה- Community, זה רישיון Enterprise.

@barbour_lavavn :

האם כוונתך - Truenas core המבוסס על FreeBSD? המיקוד של ixsystems הוא על Truenas Scale - לא ה- core, ולדעת רבים גרסת ה- Core היא Dead end, ולא יפותחו לו פיצ'רים חדשים. כמובן שניתן לבנות הכל על FreeBSD ללא מעטפת כזו, אבל זה הרבה יותר התעסקות.

ויש את הדיון הוותיק של FreeBSD מול לינוקס, לא מתיימר לקבוע, הניסיון שלי הוא שיש בעיה של דרייברים. אם הדרייברים כלולים זה בסדר, אבל אם לא - זה מתכון לצרות והרבה עבודה, ואין מה להשוות את תמיכת החומרה של לינוקס לעומס FreeBSD.

ולגבי SMB מול NFS - השימוש ב- SMB הוא בגלל ה- Clients, ונראה עדיף להשתמש ב- SMB מאשר NFS ל- Windows.
רשימת הציוד: MikroTik CCR2004-1G-12S+2XS |CRS317-1G-16S-RM | CRS504-4XQ-IN

barbour_lavavn
חבר שרק התחיל
חבר שרק התחיל
תגובות: 22
הצטרף: פברואר 2018
נתן תודות: 0
קיבל תודות: 4 פעמים

שליחה #15 

דניאל ,
truenas נטשו את freebsd כנראה . אפשר עדיין לקבל גרסאות דומות , ויש כמובן גם את xigma nas
freebsd הרבה יותר מפונקת בדריברים , אבל היא במחלקה ראשונה בתמיכה בzfs .
כאשר התמיכה קיימת ועובדת בדרך כלל מהירות הרשת של freebsd מהירה יותר בתנאים דומים ויש לי לא מעט מערכות מקבילות ( אל תשאל אותי , שאל את הלקוח העיקרי של הפלטפורמה והתורם העיקרי לפיתוח - נטפליקס לצערנו הם פחות בעניין של zfs ) אין כאן דיון ותיק מבחינתי , אני איש יוניקס וגם הראוטר בבית הוא openbsd למרות שיש לי בננה ליד לתרגולים ... ( כן , זה דורש לפץפץ קרנל בשביל ppoe נורמלי ...) אז נשאיר את הדיון הזה בצד .
אין לי ספק שיותר מאתגר לעבוד בnfs בוינדוס אבל אם מדברים על מהירות אז יש מספר קליינטים לpnfs שעושים עבודה טובה .
אגב , להגיע בfreebsd עם zfs לשרת קבצים עובד כולל התקנה זה בערך שעה ואם אתה גונב ansible מתאים , אז אתה גם יכול לשתות קפה חד זני מעולה בנתיים .

DanielGR
סמל אישי של משתמש
גורו רשתות
גורו רשתות
תגובות: 1448
הצטרף: יולי 2023
שם מלא: DanielG
מיקום: Israel
נתן תודות: 217 פעמים
קיבל תודות: 280 פעמים

שליחה #16 

בראש ובראשונה שירשור מאוד מעניין, תודה ל- @avob על היוזמה. רציתי לשתף את הניסיון שלי בקצבים גבוהים על מנת לתעד את הידע לטובת כל מי שישקול Setup דומה לעתיד.

הרשת הרלוונטית כרגע מורכבת ממספר מחשבים המחוברים כולם על 25G באמצעות סוויץ' Mikrotik CRS504, ארבעה פורטים של 100G. מה שיפה בסוויץ' הזה היא האפשרות להשתמש ב- Breakout cable ולפצל כל פורט של QSFP28 לארבעה פורטים של SFP28 25G. לכן, ניתן בעצם ליצור סביבה מעורבת שבה שני מחשבים (לדוגמא - ה- NAS, ומחשב העבודה העיקרי) יחוברו על 100G, וכל השאר על 25G. מעודד מהידיעה עד כמה היה פשוט לעבור מ-10G ל-25G (הכל עבד בלי שום שינויים) ניגשתי לבחור את הציוד.

הרעיון הוא כמובן לא להוציא אלפי דולרים על ציוד High end, ולמעשה החלקים הנוספים אינם יותר יקרים יותר מ-25G.

רשימת כל הדגמים של מאלנוקס נמצאת כאן:
https://github.com/KCORES/100g.kcores.c ... list-en.md

מתוכה בחרתי את MCX455A-ECAT פורט יחיד QSFP28 PCIE 3.0 x 16. נוסף לכך עוד ארבעה טרנסיברים גנריים CWDM4 וסיבים Single mode Duplex LC וזהו.

ההתחלה הייתה מבטיחה מאד: זה דרך הסוויץ'. אגב אחת התכונות הטובות של ציוד Mikrotik היא שניתן לחבר מודולים מכל הסוגים והמינים והכל יעבוד, הסוויץ' לא בררן. במקרה הזה צריך לבטל את ה- Auto Negotiation ולקבע על 100G SR LR, וכמו כן להגדיר - FEC - Forward Error Correction ל- FEC91. החיבור מיידי, גם ב- Windows, על 100G, כאשר כל ה- Offload מאופשרים כברירת מחדל וגם RSS.

ועכשיו לחלק המעצבן:
שיתוף קבצים דרך SMB נתן במקרה הטוב בסביבות 3.0GBps, רק באופן שולי יותר מהיר מ-25G... (לפני שמתחיל לרדת). Multi-channel SMB מאופשר בצד של Truenas (יש GUI לזה), וגם בצד של Windows באמצעות Powershell. הגדרות RSS מאופשרות.

בקיצור - די מבוי סתום. לאחר קריאה נוספת הגעתי למסקנה שצריך פיתרון אחר כמו ksmbd ו-או RoCE. ואז מסתבר:
* גרסת ה- Community של Truenas לא תומכת בזה - צריך רישיון Enterprise עבור RoCE
* מאוד לא רצוי להחליף את Samba ב- Truenas ב- ksmbd כי זה יכול לשבור את כל ההתקנה ולא ישרוד עידכוני גרסה
* אין ב- FreeBSD משהו מקביל ל- ksmbd כאלטרנטיבה

זה שינוי גדול מדי לתצורה הנוכחית, נראה לי שה- NAS הבא יהיה עם מערכת הפעלה נקיה ו-CLI ללא שום "מעטפות" שמבוססות על קוד פתוח חינמי ודורשות תשלום עבור הגדרות מתקדמות.

לנסות בכל זאת ksmbd על התקנה נקיה נפרדת של Debian 13. מסתבר שמודול ksmbd מקומפל אך לא מופעל. השלבים הם:

התקנת ksmbd tools:

קוד: בחירת הכל

apt-get install ksmb-tools
עריכה של קובץ הקונפיגורציה:
etc/ksmbd/ksmbd.conf/ (שם גם יש הגדרה ל- Mult-channel)

הפעלת המודול והתהליכים הנוספים:

קוד: בחירת הכל

modprobe ksmbd
systemctl enable ksmbd.service
systemctl start ksmbd.service
בדיקה:
וכן בדיקה האם ksmbd מקשיב בפורט המתאים: לכאורה הכול בסדר, עובד, ועדיין המהירות לא עוברת את ה- 3.0GBps... להשלמת התמונה - ה- SSD תומכים בקצבים גבוהים בהרבה. חיבור ישיר בין המחשבים הביא לאותה תוצאה כך שזה לא הסוויץ'. כמו כן NFS היא לא אופציה.

הגדרות סוויצ'ים של Mikrotik עבור RoCE וכו' - כאן:
https://help.mikrotik.com/docs/spaces/R ... %28RoCE%29

מגבלה נוספת: כרטיסי הרשת האלו הם PCIE 3.0 x16, מה שאומר שבפלטפורמות ה- Desktop צריך לוותר על כרטיס תצוגה בדיד, ולהשתמש ב-GPU המובנה במעבד, זו בעיה לא קטנה. אחרת אין סלוט פנוי, או שהסלוט לא ייתן את מלוא רוחב הפס. כרטיסי 25G יכולים לעבוד היטב ללא מגבלה גם בסלוטים של PCIE 3.0 x 4, מה שמפשט מאד את ההתקנה. ל-40G צריכים סלוט של x8, עדיין אפשרי אם כי פחות נוח. כרטיסים של PCIE 4.0 יקרים בהרבה.

לסיכום: נראה לי שאעצור כאן, ונחזור ל- 25G שעובד היטב. ניסוי מעניין, סיפור פתוח, נחזור לזה.
רשימת הציוד: MikroTik CCR2004-1G-12S+2XS |CRS317-1G-16S-RM | CRS504-4XQ-IN

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #17 

@DanielGR מתנצל על ההיעלמות לאחרונה. קצת ירד הפוקוס של הפרויקט בגלל התחייבויות IRL.
נראה שבדקת שהksmbd מקשיב בצד של השרת - אבל בדקת גם בקליינט שחיברת אליו? מניח שזה Windows אז אם ראית את התעבורה עוברת ב Task Manager זה אומר שזה לא עבד.
עוד נקודה- אתה חייב שיהיה לך רישיון ל Windows 11 Pro for Workstations, כי Windows 11 Home / Pro פשוט לא מספיק.
מיקרוסופט חסמו את RDMA תחת תשלום נוסף :)
מכאן: https://www.microsoft.com/en-us/windows ... rkstations
נראה שאתה במרחק נגיעה קלה מלהצליח להפעיל את זה (שינוי לייסנס)!

אתה משתמש בסוויץ' כי אתה מתכנן לחבר יותר ממחשב אחד בסופו של דבר לשרת עם רוחב פס גדול מ 10Gb/s?
לגבי הכרטיסים שקנית נשמע שזה פחות או יותר העלות הכללית שיצאה לי עבור 25Gb/s, דיי מרשים.
אגב, אחת הסיבות שנרתעתי מלקנות 100Gbit/s היה בעיקר הסלוט שצריך להקריב כמו שרשמת- זה בסוף דורש הרבה רוחב פס גם מהלוח אם עצמו.
מרגיש שמתאים בעיקר לשרתים עם 4-5 סלוטים מלאים עם מעבד EPYC שיש לו הרבה רוחב פס.

DanielGR
סמל אישי של משתמש
גורו רשתות
גורו רשתות
תגובות: 1448
הצטרף: יולי 2023
שם מלא: DanielG
מיקום: Israel
נתן תודות: 217 פעמים
קיבל תודות: 280 פעמים

שליחה #18 

תודה רבה !
עוד נקודה- אתה חייב שיהיה לך רישיון ל Windows 11 Pro for Workstations, כי Windows 11 Home / Pro פשוט לא מספיק.
...
צודק בהחלט, לא יודע איך נתקבע אצלי שנתמך גם ב-Pro... בכל מקרה עידכנתי, ובדקתי שמאופשר:
וגם בצד השרת מסתבר שהיה צריך להתקין עוד דברים:

קוד: בחירת הכל

apt install rdma-core ibverbs-utils perftest
ולבדוק:

קוד: בחירת הכל

lsmod | grep -E 'ib_core|rdma_cm|mlx4_core|mlx5_core' 
התוצאה: נראה שנטען: התוצאה: כנראה שלא עובד... :oops: אמנם עומס המעבד בעת ההעברה הוא כמעט ב- Idle אבל רואים את התעבורה בתצוגת ה- Ethernet traffic

עריכה: אותה תוצאה בחיבור Point to Point ללא הסוויץ'

לגבי שאלתך:
אתה משתמש בסוויץ' כי אתה מתכנן לחבר יותר ממחשב אחד בסופו של דבר לשרת עם רוחב פס גדול מ 10Gb/s?
...
אכן כן. הכל התחיל מתשתית של 10G שעבדה היטב, ואז הסתבר שכבילה וכרטיסי רשת ל-25G לא עולים הרבה יותר, המחיר דומה. אז למה לא... השלב הבא היה לחבר שתי נקודות ב- Point to Point על 25G וגם עבד היטב, כל רוחב הפס בשיתוף קבצים התקבל ללא צורך בשינוי כלשהו.
מכיוון שכך, מדוע לא לחבר את כל שאר המחשבים... בשביל זה צריך סוויץ', Mikrotik CRS504 הוא מצוין משום שיש לו ארבעה פורטים של 100G שניתן לפצל באמצעות Breakout cable ל- 16 פורטים של 25G. והשלב האחרון - אם כבר יש פורטים של 100G אז למה לא לחבר זוג מחשבים על 100G?

ופה התחילו ה- Hiccups :(
רשימת הציוד: MikroTik CCR2004-1G-12S+2XS |CRS317-1G-16S-RM | CRS504-4XQ-IN

DanielGR
סמל אישי של משתמש
גורו רשתות
גורו רשתות
תגובות: 1448
הצטרף: יולי 2023
שם מלא: DanielG
מיקום: Israel
נתן תודות: 217 פעמים
קיבל תודות: 280 פעמים

שליחה #19 

עוד ספיח אחד לבדיקות שכדאי לשים לב אליו, נשתדל שזה לא יהיה off-topic, מקסימום נפתח שרשור חדש.

הנושא הוא Truenas scale, כאשר בגרסת ה-Comunity אין תמיכה ב- RoCE, ו- ksmbd, ספציפית - תמיכה ב- RoCE דורשת רישיון בתשלום. במהלך החיפושים נתקלתי בפוסט הבא לגבי הגרסה החדשה של Truenas scale, להלן תמצית:

There are some big changes under the hood. As Kris Moore explained in their last interview, TrueNAS is moving to an appliance model. Some of you have noticed where the deb repos are gone. Kris said that that way of handling TrueNAS is effectively dead. In the name if quality and support they mean to make it much harder to modify stock TrueNAS. If you want to modify it, build it from the git repo was the answer. Im not trying to alarm but the shift is going to impact many advanced users.
והפוסט המלא - כאן:
https://forum.level1techs.com/t/truenas ... ges/227424

בשתי מילים - Not cool...

כמובן אי אפשר להתלונן על מה שמקבלים בחינם, וזכותם להרוויח כסף. אם היה מדובר על פיצ'ר שהם פיתחו ייחודית - אז זכותם להגביל אותו. אבל במקרה הזה מדובר על תשתית במערכת הפעלה חינמית (RDMA), הם לא פיתחו את זה, ובכל זאת הגבילו את הגישה. זה לא הרוח החיה מאחורי קוד פתוח.

ה- NAS הבא יהיה מערכת הפעלה נקיה.
רשימת הציוד: MikroTik CCR2004-1G-12S+2XS |CRS317-1G-16S-RM | CRS504-4XQ-IN

avob פותח השרשור
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 155
הצטרף: נובמבר 2016
נתן תודות: 12 פעמים
קיבל תודות: 31 פעמים

שליחה #20 

@DanielGR אם נשאר לך עוד כוח לנסות עוד דבר אחד אחרון כדי להפעיל את הRDMA, תתקין שרת Windows Server 2025 עם GUI ועם כמה קליקים תיצור share לתיקיה חדשה - תוודא שהכרטיס מקונפג בשרת הזה כמו שצריך וזה בוודאות יעבוד, מהניסיון שלי.

לגבי הסוויץ'- המאווררים שלו רועשים? ראיתי שיש שניים וזה נראה מתאים ל Rack בעיקר.
הזמנתי ארון שרתים חצי גובה כדי להתמודד עם הילדים שלוחצים על הכל ומושכים את הקבלים. אמור להגיע עד סוף החודש לכאורה, מרגיש שהתפספסה לי ההזמנה אז מקווה שלא יהיו בעיות.( ואז אולי אקנה מארז שיתאים ואחליף את המארז שרת)

לגבי הTruenas מבאס לשמוע:/ הדבר שהכי מפחיד אותי במערכת נקיה זה כל עניין ההתראות. אני מפחד שיהיה איזה שינוי שיהרוס את ההתראות שאצטרך להגדיר ואז לפספס דיסק שמראה בעיות smart למשל. או לפספס scrub שנה בלי לשים לב בטעות, דברים כאלה. זה לא משהו שיטריד אותך?

שלח תגובה

חזור אל “רשתות, אינטרנט ו- Fiber”