איך הצלנו את כבודו של Postgresql

י' היה חולה מזה כמה שבועות, אולם למרבה המזל דבר לא התחרב ועל אף כפל העבודה הצליח ד' להחזיק את המערכת על הרגלים.

ביום בו חזר י', חיוור ורזה בכמה ק"ג נפלה מערכת ה-ERP וכל המפעל הושבת. לא היה ניתן לצפות לקבלת פנים טובה מזו. הדיאגנוזה העלתה ששרת postgresql "איבד" 13 קבצים. לאחר כמה שעות הרים י' ידים ונכנע. את קבצים האובדים הוא לא מצא. בסיס הנתונים שוחזר לזה של היום הקודם וכל עובדי החברה נתבשרו שעבודת יום האתמול הלכה פייפן…

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

שבוע לאחר מכן, שוב נתחרב בסיס הנתונים. הפעם "רק" חצי יום הלך. הלשונות הרעות (כלומר תומכי פתרונות מחברת התוכנה הגדולה בעולם) כבר התחילו לצקצק שזה גדול על postgres וצריך בסיס נתונים עם אבא וכו'.  י' כבר הכין מכתב לפורום עם פירוט מלא של התופעה, השרת / זכרון / גרסאות וכו', ועמד לשלוח. בדיוק אז נפלתי עליו עם בקשה לבדוק מהי מערכת הקבצים האמינה ביותר עבור postgres ולבצע החלפה במידת הצורך. טיפסתי גבוה עד כדי ZFS ,Btrfs (הכל בגלל sml). טענתי בצחוק שאולי אפילו יש שם ext2 וש-ext3 זה כמו ext2 עם גיבנת והוא לא עומד בעומס.

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

י' פתח טרמינל והתחבר לשרת. ואז ראה משהו מוזר. var לא נמצא בכונן הראשי. ג'ון בחר משום מה לשים את var במחיצה נפרדת. ל-י' לא היתה בעיה עם זה, איש איש ושיטתו. אולם השוס האמיתי היה שהוא מצא כי מערכת הקבצים של  var היא… ext2.

עתה הכל היה ברור. ד' לא הבחין בבעיה כי הוא בדק את "/" ולא היה מודע לכך ש-var נמצא במחיצה נפרדת. חיש קל החליף י' ל- ext4  מחק את המכתב לפורום, ובמחי פירמוט שיקם את כבודו האבוד של postgres.

כש-י' שאל אותי איך ידעתי שיש שם ext2, הבהרתי שאמרתי זאת בצחוק כהגזמה אבל נזכרתי בפתגם האומר שגם תרנגולת עיוורת מוצאת לפעמים גרגר (-;

פורסם בקטגוריה כללי. אפשר להגיע לכאן עם קישור ישיר.

2 תגובות בנושא איך הצלנו את כבודו של Postgresql

  1. מאת נדב‏:

    מה הבעיה של ext2 בהקשר זה?

    • מאת Oldie‏:

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

להגיב על נדב לבטל

האימייל לא יוצג באתר. שדות החובה מסומנים *