Selectel dedicated: למה פרודקשן נתקע בחומרה
מכונה וירטואלית כמעט תמיד חולקת משאבים עם שכנים: ערוץ קלט/פלט ומערך דיסקים פועלים על מאגר משותף, לכן בשעת שיא תעבורה זרה הופכת לעיכובים שלכם. גרפים ממוצעים בפאנל נראים רגועים, אבל בעומס ייצור מופיעים פרצי תגובה — ואין במה לקשור אותם לצומת ספציפי.
הידרדרות תחת עומס כאן נובעת לא מתקרת המעבד, אלא מחלוקת משאבים בלתי נשלטת. הדיסק צונח כשבסמוך מתבצעת כתיבה זרה, וממשק הרשת נתקל במגבלת הספק לפני שהוא נתקל ביכולות האפליקציה.
לבדוק זאת מצד השוכר כמעט בלתי אפשרי: מדדים מטושטשים, החומרה מחוץ לקווי המתאר שלכם, והגדרות ההיפרוויזור סגורות.
המגבלות של מכונה וירטואלית נקבעות בעת היצירה ולא זזות בהתאם למשימה שלכם. כשמסד הנתונים גדל מעבר לקלט/פלט שהוקצה או תור הכתיבה התארך מעבר לסביר, לא כיוונון שאילתות עוזר, אלא העברת העומס. מכאן גם כשלים בדיוק בשיא: הרפליקה לא מדביקה, המתזמן לא מספיק, הדיווח מתחרה בקליטת הזמנות.
Selectel dedicated מסיר את השכבה הכי לא נעימה של אי-הוודאות הזו: מעבד, זיכרון ודיסקים של שרת ייעודי לא משותפים עם שוכרים אחרים, לכן העומס שלכם לא מתערבב עם שום דבר. בהמשך נפרט כיצד להעביר שירות ממכונה וירטואלית לחומרה ייעודית ולא לקבל צוואר בקבוק חדש של התשתית כבר בשלב הפריסה.
מה משתנה לאחר מעבר לשרת ייעודי
מעבר לשרת ייעודי משנה לא את המדדים הממוצעים, אלא את התנהגות השירות בשיא וברגע כשל. בווירטואליזציה משותפת המשאב מתחלק עם עומסים זרים, לכן זמן התגובה משתנה, ותקלה אצל שוכר אחד מורגשת אצל כולם.
להלן רשימת בקרה של מה שאנחנו מודדים ב-Selectel לפני ואחרי מעבר, כדי שהאפקט יאושר במספרים ולא בהבטחות.
- זמן תגובה יציב. האחוזון ה-95 וה-99 נשארים באותו טווח גם ביום וגם בשעת שיא ערב — הפיזור בין בקשות מהירות לאיטיות מצטמצם.
- ביצועים בשיא. מעבד, דיסקים ורשת לא משותפים עם עומסים זרים: גידול במספר הסשנים במקביל לא הופך לתור.
- היעלמות סוג הכשל בגלל שכנים. צניחות במערכת הדיסקים ופרצי רשת מפעילות זרה לא מתרחשים יותר.
- צמצום זמן השבתה. עבודות מתוכננות מתבצעות בהעברה לצומת גיבוי, ולא בעצירת השירות למשתמשים.
- עמידות בתקלות. גיבוי חשמל, דיסקים ויציאות רשת באתר בתוספת גיבוי חם לתפקידים קריטיים.
- גיבוי נתונים. צילומי דיסק לפי לוח זמנים ונוהל שחזור עם זמן שנמדד בתרגיל אימון.
את תוצאת המעבר מאמתים לפי מדידות: זמן תגובה, שיעור בקשות מוצלחות, זמן שחזור. אם בנקודה מסוימת אין הבדל — אומרים זאת ישירות.
פורמטים של פריסה ב-Selectel dedicated והמגבלות שלהם
צורת הפריסה נבחרת לא לפי כוח שיא, אלא לפי סוג הכשל המותר בפרודקשן. שרת ייעודי אחד נותן שליטה מלאה על הליבה ומערכת הדיסקים, אבל החלפת חומרה או דיסק היא עצירת השירות.
אשכול שרתים מסיר את המגבלה הזו במחיר של סיבוך: צריך איזון עומסים, רפליקציה של מצב והוצאת צומת מפעילות בלי לאבד בקשות.
תכנית היברידית מוסיפה קו מתאר גיבוי בענן — הוא לא מחזיק עומס קבוע, אלא מקבל תעבורה בעת הידרדרות האתר הראשי. להלן האפשרויות שביניהן באמת בוחרים בהתחלה.
| אפשרות | מתי מתאימה | מגבלות |
|---|---|---|
| שרת אחד, bare metal | פרודקשן ראשון, מסד נתונים בעומס יציב, שירותים ללא דרישות עמידות בתקלות | נקודת כשל יחידה: עבודות מתוכננות ושדרוג חומרה מתבצעים עם השבתה |
| אשכול שרתים | עומס שאסור לעצור, התרחבות אופקית | נדרשים רפליקציה של מצב, קוורום בהצבעה והוצאה אוטומטית של צומת; ניפוי באגים מורכב יותר |
| תכנית היברידית עם גיבוי ענן | דרישה לשחזור תוך דקות, שיאי עומס צפויים | את קו המתאר לגיבוי יש להחזיק במצב תקין: נוהל מעבר וסנכרון נתונים |
| מכונות וירטואליות על מארח ייעודי | מתקני בדיקה, סביבות בדיקה, שירותי עזר | צפיות נמוכה יותר של דיסק ורשת, חלק מהמשאבים נלקחים על ידי ההיפרוויזור |
משנים את צורת הפריסה בהתאם לצמיחה: שרת בודד עובר לאשכול, האשכול מצטייד בקו מתאר גיבוי. את תכנית המיעון, הגיבוי ותפקידי התצורה כדאי לתכנן כך שהמעבר בין אפשרויות לא יהפוך לפרויקט נפרד.
שלבים בהעברת תשתית לשרת ייעודי
העברה לשרת ייעודי היא לא מיגרציה חד-פעמית, אלא רצף עם נקודות בקרה. שלב שהוחמץ לא נעלם: הוא צף בפרודקשן ככשל שעולה יותר מאשר לתכנן את התכנית מחדש. לכן העבודות מתבצעות בקפדנות לפי שלבים, וכל שלב נסגר בארטיפקט — תכנית, תצורה או דוח בדיקה.
רצף העבודות
- אבחון תשתית. אוספים מפת שירותים ותלויות, פרופיל עומס לפי שעות ושיאים, דרישות לדיסק, לרשת ולגיבוי. בפלט — רשימת צווארי בקבוק ומגבלות שאי אפשר להעביר 'כמו שהם'.
- תכנית פריסה. מפזרים תפקידי צמתים, מקטעים את הרשת, מתכננים אחסון, גיבוי מחוץ לאתר ונקודות כשל. התכנית מאושרת לפני רכישת התצורה.
- הכנת חומרה ואתר. חלוקת דיסקים ורמות RAID, מערכת קבצים, גישה מרחוק, הגדרות רשת וכללי סינון תעבורה. מתעדים את המצב הבסיסי של כל צומת.
- אוטומציה של פריסה. מתארים את התשתית באופן הצהרתי, שומרים תצורות במערכת בקרת גרסאות, מבצעים פריסה באופן חזרתי — מאפס אותה תכנית משוחזרת בלי תיקונים ידניים.
- פריסה ובדיקה על מתקן בדיקה. מעבירים עומס, משחזרים שירותים מגיבויים, מדמים כשל צומת ומודדים זמן שחזור. תיקונים בתכנית מוכנסים רק לפי תוצאות המדידות.
- בדיקות קבלה. מריצים רשימת בדיקה: שחזור נתונים, התנהגות בעת כשל, ניטור והתראות, הפרדת הרשאות, יומני אירועים. פערים מתקנים עד להוצאה לקו המתאר הקרבי לפי חישוב אישימסירה לתפעול. מוסרים תיעוד, נהלי תחזוקה ותפקידי גישה, מקיימים הדרכה לצוות התורן. מלווים את מחזורי העדכון הראשונים עד שהתהליכים הופכים לשגרה.
תצורות, תכניות רשת ונהלי תפעול
חבילת המסירה היא לא ארכיון עם לוגים, אלא סט מסמכי עבודה שלפיהם ניתן לתפעל את התשתית בלי כותבי העבודות. אנחנו מרכיבים אותה במקביל להגדרה על שרתים ייעודיים של Selectel: כל סעיף נבדק בכשל אימון לפני המסירה. להלן מה שנשאר אצל הלקוח לאחר המסירה.
- תצורת שרתים — הרכב חומרה, חלוקת דיסקים, פרמטרי אתחול, רשימת שירותים והגדרותיהם: הצומת משוחזר מחדש לפי התיאור, בלי לפרק את הפעיל.
- תכנית רשת — מיעון, מקטעים ונתיבים ביניהם, כללי סינון תעבורה, נקודות חיבור של ערוצים חיצוניים.
- מדיניות גישה — תפקידים והרשאות, הנפקה וביטול מפתחות, אחסון סודות, חשבונות נפרדים לאנשים ולשירותים.
- נוהל שחזור — מה ובאיזו תדירות מגובים, זמני שמירה, סדר פעולות מדויק להרמה והזמן שנבדק בכשל אימון.
- ניטור והתראות — רשימת בדיקות, ספי הפעלה, נתיבי התראות, מי מגיב ובאילו זמנים.
- הוראות לתורן — פעולות אופייניות: הפעלה מחדש של שירות, החלפת דיסק, סבב מפתחות, הוצאת צומת לתחזוקה.
- דרכון תשתית — מפת צמתים, תלויות בין שירותים, יומן שינויים.
מסמכים מעבירים לבסיס הידע של הלקוח, ולא להערות אישיות: שינויים עוברים דרך אישור רגיל, ובעת החלפת קבלן החבילה נקראת בלעדינו.
מקרה בוחן: כיצד הסרנו השבתות משירות עמוס
התכנית המקורית נראתה עובדת: שרת ייעודי אחד, גיבוי יומי של מסד הנתונים לדיסק נפרד והעברה ידנית לפי הוראות. תחת עומס שיא השירות נשאר חי, אך הגיב באיחור, וכשל של דיסק או ערוץ רשת עצר את הפרודקשן לחלוטין. שחזור מגיבוי ארך שעות, וכל אותו זמן המשתמשים ראו שגיאה — הניטור תיעד את עצם הנפילה, אך לא את סיבתה.
מה שינו
העברנו את העומס לשני אתרי bare metal אצל Selectel עם רפליקציה סינכרונית של נתונים וצומת נפרד לגיבויים. את התעבורה מפזר מאזן עומסים עם בדיקות תקינות אקטיביות: צומת שלא הגיב מוצא מהסבב אוטומטית, בלי מהנדס תורן.
הגיבויים הפכו אינקרמנטליים כל 15 דקות, הוספנו בדיקת שחזור קבועה על קו מתאר בדיקה וכללי lifecycle לצילומי מצב, כדי שהאחסון לא יגדל ללא בקרה. בנפרד הגדרנו התראות על הידרדרות — עליית זמן תגובה, שגיאות רפליקציה, התמלאות דיסק — לפני שהמשתמש מבחין בכך.
מה התקבל
זמן השחזור הצטמצם מ-4-6 שעות ל-10-15 דקות, וברוב התרחישים המעבר מתבצע בלי התערבות ידנית. זמינות השירות עלתה מ-99.2% ל-99.95% בתקופת התצפית. סוג הכשל השתנה: במקום אי-זמינות מלאה — הידרדרות של צומת בודד, שהמשתמש לא מבחין בה. שמונה תקלות מתוך עשר נסגרות על ידי האוטומציה, התורן מתחבר רק לאלו שדורשות אבחון ידני.
במה שרת ייעודי שונה ממכונה וירטואלית
ההבדל מתחיל ברמת הגישה לחומרה. מכונה וירטואלית מקבלת משאבים דרך שכבת וירטואליזציה וחולקת מארח פיזי עם שוכרים אחרים, בעוד ששרת ייעודי ניתן כולו ללקוח אחד — בין מערכת ההפעלה למעבד אין מתווך.
בידוד משאבים הוא קו פרשת המים המעשי העיקרי. במארח משותף פרץ עומס זר לוקח את מטמון המעבד ורוחב הפס של הדיסק, לכן זמן התגובה של השירות 'צף' דווקא בשעות השיא, כשזה יקר ביותר. בצומת ייעודי פיזור זמן התגובה מצטמצם, ופעולות כבדות מפסיקות להשפיע על שירותים שכנים.
צפיות עומס קריטית עבור מסדי נתונים, תורים ועיבוד באצוות: שם חשובה ההתנהגות בשיא, לא המדד הממוצע. גם השליטה שונה במהותה — מכונה וירטואלית מתרבה ומועברת מהר יותר, שרת פיזי נותן שליטה על הליבה, המתזמן והגדרות האחסון.
| קריטריון | שרת ייעודי | מכונה וירטואלית |
|---|---|---|
| בידוד משאבים | מלא: החומרה לא משותפת | חלקי: מארח משותף עם שכנים |
| צפיות | תגובה יציבה בשיאים | ייתכנו צניחות מעומס זר |
| שליטה | ליבה, מתזמן, אחסון | התרבות מהירה, צילומים, העברה |
| התרחבות | אנכית, בצעדי צמתים | גמישה, בגבולות המארח |
| מתי בוחרים | מסדי נתונים, תורים, עיבוד | שכבת ווב, סביבות בדיקה, שיאי ביקוש |
הבחירה לעתים רחוקות בינארית. לשכבת הווב ולסביבות בדיקה נשארות מכונות וירטואליות, למסדי נתונים, broker הודעות ועיבוד נתונים — צמתים פיזיים; ב-Selectel אלו ואלו חיים באותה רשת ותחת ניטור משותף.
ספקות טכניים: מה מבררים לפני ההתחלה
מעבר לחומרה ייעודית כמעט תמיד נתקל באותם ספקות: איך לעבור בלי חלון אי-זמינות, מה יקרה בכשל צומת, איך לאחר מכן להוסיף משאבים והיכן עובר גבול האחריות בינינו לבין צוות הלקוח. להלן תשובות קצרות כיצד זה נסגר בפועל בקו המתאר של Selectel.
האם באמת אפשר לעבור בלי השבתה?
כן. קו המתאר היעד מוקם במקביל לפעיל: חומרה, רשת, אחסון והרשאות מוגדרים מראש, הנתונים מועברים ברפליקציה, והסנכרון הסופי אורך חלון קצר. העברת התעבורה מתבצעת ברמת DNS או מאזן העומסים, ועד לאימות התקינות קו המתאר הישן נשאר חם — החזרת הרשומה מבטלת את המעבר תוך דקות.
מה יקרה בעת כשל ציוד?
כשל של דיסק, ספק כוח או צומת שלם לא הופך לתקלה: איסוף מדדים והתראות מתעדים הידרדרות לפני שהמשתמשים מבחינים בה, העומס עובר לצומת גיבוי, והתצורה משוחזרת מתיאור התשתית, ולא נבנית ידנית מהזיכרון. החלפת חומרה בצד האתר — לא בתחומנו ולא בתחומכם.
איך להתרחב כשהעומס יגדל?
אנכית — מוסיפים משאבים לצומת, אופקית — מכניסים שרתים חדשים ומכלילים אותם באיזון העומסים. התכנית מתוארת מראש, לכן גידול בעומס לא דורש תכנון מחדש: חיבור צומת חדש אורך שעות, ולא שבועות של אישורים.
היכן מסתיימת האחריות שלכם?
אנחנו אחראים לחומרה, לרשת, למערכת ההפעלה, לניטור, לעדכונים ולגיבוי. האפליקציה, הגדרותיה והנתונים שבתוכה — באחריות צוות הלקוח. הגבול נקבע בכתב לפני ההתחלה, כדי שבמקרה של תקלה לא לחפש אשמים.
איך מאורגן הגיבוי?
צילומים ודמפים לוגיים לפי לוח זמנים, אחסון בקו מתאר נפרד, סבב לפי מדיניות. העיקר — בדיקת שחזור קבועה: גיבוי שלא פרסו אותו, לא נחשב גיבוי.
אם נותרו ספקות לגבי התכנית שלכם — תארו את המשימה, נחזור עם הערכה ותכנית עבודה.נדון במשימה שלכם ונחזור עם תכנית
ניתוח המשימה מתבצע במספר שלבים: אתם מתארים מה צריך לקבל מחומרה ייעודית ב-Selectel, אנחנו מבררים את החסר בשאלות וחוזרים עם הערכת המשימה ותכנית עבודה. אין צורך במפרט טכני מוכן — די בהקשר, את השאר נחלץ בעצמנו. סדר הניתוח זהה לכל היקף: קודם גבולות, אחר כך עומס, אחר כך תכנית.
כדי שההערכה תהיה מדויקת, שלחו את הרכב נתוני המוצא — לפי סעיפים:
- תכנית קו המתאר הנוכחי: מה כבר עובד, היכן ממוקם, מה עובר ומה נשאר במקום;
- פרופיל עומס: ערכי שיא, תנודות יומיות ועונתיות, התנהגות בפרצים;
- דרישות לזמינות: השבתה מותרת, זמן שחזור יעד, נקודות גיבוי;
- רשימת שירותים והתלויות שלהם: מסדי נתונים, תורים, מאזני עומסים, אינטגרציות חיצוניות;
- דרישות רשת: מיקוטוע, כתובות ציבוריות, גישות מהנדסים, ערוצים מאובטחים;
- מגבלות על עבודות: חלונות תחזוקה, נהלים לגישות ותיעוד.
לאחר אישור התכנית אתם מקבלים תכנית עבודה עם שלבים, אזורי אחריות ונקודות בקרה: לפני ההתחלה רואים מה ובאיזה סדר עושים והיכן נדרשת השתתפותכם. תארו את המשימה — נחזור עם הערכה ותכנית.







