בואו נהיה ברורים: כאשר מכונות וירטואליות על Proxmox חוות צווארי בקבוק של I/O עקב פעולות דיסק, ויומני Ceph מציגים PGs מתמשכים במצב degraded, זו לא אשמת Ceph—זהו חוסר בתצורה נכונה. מנהלי מערכת רבים מנסים לפרוס אחסון מבוזר על שלושה שרתים עם חיבור ג'יגה-ביט בודד ודיסקים קשיחים זולים, רק כדי לחזות בכישלון האשכול בעת כשל דיסק. הצוות שלנו ניתח עשרות תרחישים כאלה במשך 7 שנות פריסת Ceph בסביבת ייצור. מדריך זה מכסה תצורת Proxmox Ceph עבור סביבות בעלות ביצועים גבוהים. אנו מציעים שירותי מפתח-ביד מאודך ועד ניטור. צרו קשר להערכת פרויקט. אחריות על העבודה—12 חודשים, מהנדסים מוסמכים.
תיעוד רשמי של Ceph: עבור אשכולות ייצור, מומלץ רשת של 25 Gbit/s ומעלה.
תכנון והכנה
Ceph דורש שתי רשתות: ציבורית (תעבורת לקוחות ממכונות וירטואליות ל-Ceph) ואשכול (שכפול בין OSDs). שילובן בממשק אחד מוביל לתחרות בין IO של מכונות וירטואליות לתעבורת שכפול בעומס, ומפחית ביצועים.
תצורת ייצור מינימלית:
- 3 צמתי Proxmox, כל אחד עם כרטיס רשת 10G לרשת ציבורית וכרטיס נפרד 10G או 25G לרשת אשכול
- NVMe/SSD ייעודי עבור OSD—דיסקי מערכת אינם מתאימים. NVMe מספק עד 500,000 IOPS לכל OSD.
- SSD נפרד עבור Ceph WAL/DB (יומן כתיבה מראש ומטא-דאטה) אם משתמשים ב-Bluestore עם BlueStore DB
ללא התקן WAL/DB ייעודי, Ceph ממקם את ה-WAL ישירות על ה-OSD. זה עובד, אבל איטי יותר. עבור SATA SSD, מיקום WAL על NVMe מאיץ כתיבות פי 2-3. Bluestore מהיר פי 3 מ-Filestore המיושן בכתיבות אקראיות ומשתמש בפחות מקום.
התקנה ותצורה
התקנת Ceph דרך ממשק Proxmox
Datacenter → Storage → אל תיכנסו לשם עדיין. קודם: Proxmox host → Ceph → Install Ceph.
בחרו את הגרסה (Quincy או Reef — יציבה נוכחית), ציינו רשתות ציבוריות ואשכול. לאחר התקנה על כל הצמתים, צרו MON ו-MGR. MONs חייבים להיות על מספר אי-זוגי של צמתים (3 או 5) עבור קוורום. באשכול של 3 צמתים, קוורום = 2 MONs. אם צומת אחד נופל, האשכול ממשיך לעבוד.
יצירת OSDs
# Через CLI (то же что делает GUI) pveceph mon create pveceph mgr create בעת יצירה דרך הממשק, בחרו את הדיסק ואופציונלית את התקן ה-WAL/DB. OSDs מעוצבים אוטומטית כ-Bluestore. Bluestore הוא חובה. Filestore מופסק ואינו נתמך בגרסאות חדשות.
תצורת Pools ושכפול
לאחר יצירת OSDs, צרו pool עבור RBD (דיסקי בלוק של מכונות וירטואליות):
# Создание OSD с выделенным WAL/DB
pveceph osd create /dev/nvme1n1 --wal-dev /dev/nvme0n1 --db-dev /dev/nvme0n1
# Если без выделенного устройства
pveceph osd create /dev/sdb# Через CLI (то же что делает GUI) pveceph mon create pveceph mgr create — שלושה עותקים מבטיחים זמינות גבוהה ושכפול נתונים בין צמתים. # Создание OSD с выделенным WAL/DB pveceph osd create /dev/nvme1n1 --wal-dev /dev/nvme0n1 --db-dev /dev/nvme0n1 # Если без выделенного устройства pveceph osd create /dev/sdb — מינימום עותקים לכתיבה. בשלושה צמתים, זו התצורה הסבירה ביותר. pveceph pool create vm-data --pg_autoscale_mode on --size 3 --min_size 2 — Ceph מנהל אוטומטית את מספר ה-PGs.
הקצו את ה-pool כמאגר נתונים של Proxmox. דרך הממשק: Datacenter → Storage → Add → RBD. או דרך CLI:
pveceph pool create vm-data --pg_autoscale_mode on --size 3 --min_size 2 CephFS עבור ISO ותבניות
RBD מיועד לדיסקי מכונות וירטואליות. CephFS מיועד לתמונות ISO, תבניות קונטיינרים, ואחסון משותף בין צמתים. צרו MDS (שרת מטא-דאטה)—נדרש עבור CephFS. על צומת שני, הגדירו MDS במצב standby. צרו את מערכת הקבצים:
pvesm add rbd vm-ceph --pool vm-data --monhost '192.168.20.1,192.168.20.2,192.168.20.3' --keyring /etc/pve/priv/ceph.client.admin.keyring כוונון ביצועים
כדי למנוע ירידת ביצועים, נדרש כוונון קפדני. בעיות נפוצות כוללות תנודתיות באחזור רשת וסטיית שעון. ודאו שהשהייה בין צמתים < 0.5 ms, אידיאלית < 0.1 ms. סטיית שעון חייבת להיות < 500 ms באמצעות chrony או ntpd. עבור מסדי נתונים, השביתו צילומי RBD ברמת Ceph והשתמשו בצילומים דרך סוכן במכונה הווירטואלית כדי למנוע עומס copy-on-write. השתמשו בהתאמת מפת CRUSH להפרדת OSDs לפי תחום כשל. כוונון Proxmox Ceph כולל גם התאמת הגדרות OSD כמו size=3.
מניעת ירידת ביצועים
בעיות נוצרות לעיתים קרובות בעת שימוש בצילומים. עבור מסדי נתונים בייצור, השביתו צילומים ברמת Ceph וקחו אותם דרך סוכן בתוך המכונה הווירטואלית. כמו כן, נטרו את אחזור הרשת—השהייה בין צמתים לא תעלה על 0.5 ms, אופטימלית מתחת ל-0.1 ms. סטיית שעון חייבת להיות לא יותר מ-500 ms, אחרת MONs מאבדים קוורום. זמינות גבוהה של Ceph מובטחת על ידי שכפול וניטור נאותים.
ניטור ופתרון בעיות
pveceph mds create
pveceph fs create --name cephfs --pg_num 64
pvesm add cephfs iso-cephfs --path /mnt/pve/iso-cephfs --content iso,vztmplמצבי PG שכדאי לעקוב אחריהם: min_size=2, pg_autoscale_mode=on, pvesm add rbd vm-ceph --pool vm-data --monhost '192.168.20.1,192.168.20.2,192.168.20.3' --keyring /etc/pve/priv/ceph.client.admin.keyring . הריצו scrub כדי לשחזר עקביות.
מדדי Prometheus זמינים דרך מודול Ceph MGR (הפעילו עם pveceph mds create pveceph fs create --name cephfs --pg_num 64 pvesm add cephfs iso-cephfs --path /mnt/pve/iso-cephfs --content iso,vztmpl , מדדים בפורט 9283). ב-Proxmox, השתמשו בלוחות Grafana עם מזהים 2842 ו-5336. זה מספק שילוב ניטור ceph prometheus מקיף.
בעיות אופייניות
OSD לוקח זמן רב להתחיל לאחר אתחול צומת
זה נורמלי—Bluestore מבצע שחזור WAL. אם ה-OSD לא עולה תוך 5 דקות, בדקו `journalctl -u ceph-osd@אשכול במצב HEALTH_WARN: סטיית שעון
בדקו סנכרון זמן עם ntpd/chrony. הסטייה המקסימלית המותרת עבור Ceph היא 500 ms, אחרת MONs לא יכולים להשיג קוורום.כתיבות מכונה וירטואלית מתדרדרות ברגעי צילום
זהו עומס copy-on-write מצילומי RBD. עבור מסדי נתונים בייצור, השביתו צילומים ברמת Ceph וקחו אותם דרך סוכן בתוך המכונה הווירטואלית, או השתמשו ב-`rbd trash` במקום צילומים רגילים.עלות ושירותים
השוואת תצורות
| רכיב | מינימום | מומלץ | ייצור |
|---|---|---|---|
| רשת ציבורית | 1 GbE | 10 GbE | 25 GbE |
| רשת אשכול | 1 GbE | 10 GbE | 25 GbE |
| דיסקי OSD | SATA SSD | NVMe | NVMe עם WAL נפרד |
| מספר צמתים | 1 | 3 | 5+ |
כיצד להגדיר Ceph ב-5 שלבים
- התקינו Ceph על כל הצמתים דרך ממשק Proxmox.
- צרו MON ו-MGR על כל הצמתים.
- הוסיפו OSDs עם WAL/DB ייעודי על NVMe לביצועים מקסימליים.
- צרו pool מסוג RBD עם PGs בקנה מידה אוטומטי ושכפול 3.
- חברו את ה-pool ל-Proxmox כמאגר נתונים והגדירו ניטור.
מה כלול
- אודיט של התשתית והרשת הקיימת
- תכנון אשכול Ceph (תכנית רשת, בחירת דיסקים)
- התקנה ותצורה של Proxmox VE ו-Ceph
- יצירת pools מסוג RBD ו-CephFS
- הגדרת ניטור (Prometheus + Grafana)
- תיעוד והדרכת צוות
- תמיכה באחריות ל-12 חודשים
לוח זמנים ועלות
| תרחיש | זמן | עלות אופיינית |
|---|---|---|
| 3 צמתים, pool RBD בסיסי | 3 ימים | $5,000 - $7,000 |
| +CephFS, ניטור, לוחות מחוונים | 4-5 ימים | $8,000 - $10,000 |
| 5+ צמתים עם רשתות נפרדות וכוונון | 5-7 ימים | $12,000 - $15,000 |
העלות מחושבת באופן אישי לאחר אודיט תשתית. למהנדסים שלנו ניסיון של 10+ שנים והם השלימו למעלה מ-50 פרויקטים. צרו קשר להערכה מקדימה. מעבר ל-Ceph יכול להפחית עלויות אחסון בעד 40% בהשוואה לפתרונות SAN מסורתיים.







