איך אפשר?

הפסקות חשמל, אוף.
איך אפשר לבנות uptime ככה?
ובבקשה, אל תספרו לי על UPSים.

סוף עונת המבחנים

היום היה המבחן בפרולוג, לא היה קשה במיוחד.
המבחן הזה סוגר את עונת המבחנים שלי הסימסטר.
תחושת החופש ממחוייבות שמתלווה לפרק הזמן שבין הסימסטרים היא חסרת מחיר ממש, כיף ללמוד בפתוחה, אבל זה לא קל ללמוד ולעבוד בו זמנית, ופרק הזמן שבין הסימסטרים ממש מרגיש כמו חופש גדול  – למרות שבדרך כלל  הוא חופש רק מהלימודים, ולא מהעבודה.
הפעם, לפחות בחלק מהתקופה, החופש שלי יהיה מוחלט – מחרתיים אני טס לקרנבל בברזיל לשבועיים.
הכל התחיל כשחבר בעבודה אמר, ככה כדרך אגב, "תראה איזה זול הכרטיס הזה לברזיל!".
החופש האחרון שלי (שלא למטרת לימוד למבחן, זה לא חופש), היה בקיץ 2003, לחוף המערבי בארצות הברית, שנתיים וחצי לחוצות ונטולות חופש עברו מאז, ככה שמיד חשבתי לעצמי שזו יכולה להיות הזדמנות יפה לשבור את התבנית. למחרת כבר הזמנתי כרטיס טיסה, עוד כמה ימים עברו, והבנתי שטעיתי בתאריכים של המבחנים שלי (הייתי בטוח שהמבחן בפרולוג היה אמור להיות ב22.2, ושהוא אחרון, אבל הסתבר לי שב22 היה אמור להיות המבחן באלגוריתמים, וב27 המבחן בפרולוג), מה שקצת הלחיץ אותי:
התקשרתי לפתוחה וביקשתי להקדים את המבחנים, ל16.2 ול22.2, הכל עבר חלק, למרות שהיו כמה ימים של אי וודאות עד שקיבלתי אישור סופי על השינוי, ועכשיו שהמבחנים מאחורי, הטיסה לפני.
לא היה לי יותר מדי זמן לתיכנונים, אבל אני מרגיש מוכן לגמרי.
לא ברור לי אם אני אוכל לעדכן פה בשבועיים וחצי הקרובים, אבל נשתדל. 🙂

אגב:
בעיית הקריסות של השרת באה על פתרונה, והשרת כבר לא קרס שישה וחצי ימים, זמן שיא של ממש.
מסתבר ששרת הX שהרצתי שם (למה יש שם בכלל שרת X זה סיפור ארוך, בפעם אחרת) גרם לכל הבעיות, ואחרי שכיביתי אותו היציבות חזרה.

ניטור של שרת

השרת קורס לי לאחרונה בזמנים אקראיים למדי, ואני חושד שיש בעיית חומרה.
כחלק מהבדיקות, אני רוצה לדעת מתי בדיוק הוא קורס, כדי לנסות להצליב את הזמן עם נתונים מהלוג – אולי ככה אני אוכל לשים את האצבע על הגורם.
לשם כך כתבתי סקריפט קטן, שבודק אם יש פינג מהשרת (כשהוא קורס, הוא קורס חזק, גם פינג אין).
יש כלים יותר חזקים מהסקריפט צעצוע שלי, כמובן.
אחד מהם, monit, מיועד לרוץ על השרת עצמו, לבדוק שרותים שונים (שרת דואר, רשת או כל דבר אחר), ואפילו להפעיל אותם מחדש בעת הצורך.
ניסיתי את מונית, ולא ממש הצלחתי לגרום לו לעבוד בזמן בזמן קצר, אז החלטתי לדחות קצת את ההתקנה שלו – כרגע מה שאני צריך זה לפתור את הבעיה של הקריסות.

 

גרגרן

גרגריוס, להלן גרגרן, הוא אספן רסיסים מבוסס רשת (שכתוב בPHP), שמתוכנן לרוץ על השרת שלך, ולאפשר לך גישה נוחה ומאוחדת למקורות הרסס (להלן ממטרות) שלך מכל מקום.
אתמול התקנתי את הגרגרן על פיירפנג, לשימושי הפרטי בינתיים – כי הוא לא תומך עדיין בריבוי משתמשים.
הוספתי את הבלוגים שאני קורא, מקורות חדשות וכו' לשם, ועכשיו אני יכול לקרוא אותם ממקום אחד, בלי מאמץ.
כמו רוב התוכנות, הגרגרן לא מסתדר מי יודע מה עם עברית.
רסיסים בעברית מופיעים בעימוד לשמאל, מה שדי מציק.
התלוננתי בערוץ הIRC של הגרגרן, הסברתי לחבר'ה את הבעיה, הצעתי פתרון, צולע למדי, אבל עדיין התחלה טובה:
לבדוק את המילה הראשונה ברסיס, ואם היא בעברית להניח שזה רסיס עברי ולעמד אותו לימין בעזרת שתילתו בתוך div בעימוד ימני.
אחד המפתחים שם, תחת הכינוי sameerd, הרים את הכפפה וכתב פלאגין קטן שעושה בדיוק את זה ואפילו עובד לא רע (למרות שהזיהוי צריך עוד עבודה).
נפלאות הקוד הפתוח, נראה אותכם מוציאים פיצ'ר חדש ממיקרוסופט תוך שעה.

וסלטה לאחור

הסיבה שהקטנתי את מחיצת השורש היא כדי לפנות מקום ולהעביר אותו לשליטה של LVM.
LVM זה קיצור של Logical volume managment, וזה מאפשר שינוי דינמי של מחיצות (בלי איתחול), וכן יצירה של מחיצות לוגיות שפרושות על פני כמה דיסקים שרוצים.
נשמע טוב, מחיצה אחת גדולה של 350GB, שתכיל את כל הסרטים והמוסיקה שלי.
אז עשיתי את זה, הקטנתי, הגדלתי, פירמטתי, יצרתי, הזזתי, העתקתי ואז הכל עבד.
היתה לי מחיצת ענק של 350GB, שנפרשה על פני שני הדיסקים.
ואז חשבתי, מה אם אחד מהדיסקים ימות?
מסתבר שהתוצאה של דבר כזה, היא שכל המידע במחיצה, גם בחלקים שעל הדיסק שלא ניזוק, ילך קפוט.
הסיבה לזה היא שחתיכות ממערכת הקבצים יעלמו, וגם, אופציונלית, חתיכות מקבצים שעל הדיסק שלא ניזוק. כנראה אפשר לשחזר את זה, אבל ברור שהנזק יהיה גדול יותר מאשר אם המחיצה לא תשב על שני דיסקים.
אז החלטתי לבצע סלטה כמעט מלאה לאחור :
העתקתי, הזזתי, יצרתי, פירמטתי, הגדלתי והקטנתי ועכשיו המצב די דומה למה שהיה לפני כל הסיפור, כל מחיצה על דיסק בודד. אבל יש לי את הגמישות לשחק איתן כן הן תחת LVM.
אז מה יצא מכל הסיפור?
עכשיו אני מכיר את LVM יותר טוב, ובנוסף בזבזתי די הרבה זמן.
בהזדמנות אני אכתוב הסבר על איך מקטינים מחיצות על דיסק קיים בלינוקס.

והוא חזר!

קהל נכבד,
המשימה הוכתרה בהצלחה.
פיירפנג הקטין את מחיצת השורש, ולא ל30 ג'יגה, אלא ל20! (אופס).


Filesystem Size Used Avail Use% Mounted on
/dev/hde2 20G 6.0G 15G 30% /

מחר הסבר על למה זה היה טוב, ואיך זה הלך.

מעשה לולינות אימתני

קהל נכבד, קהל נכבד.
השרת שלפניכם, יבצע מהלך מסוכן מאוד, מהלך בעל השלכות פוטנציאליות קטסטרופליות.
לא רבים השרתים שיסכימו לבצע מהלך שכזה, מהלך מסוכן שעליו לא חלמתם גם בחלומותיכם האפלים ביותר!
פיירפנג האמיץ, הולך להקטין את מחיצת השורש שלו, מ180 ג'יגה בייט, טבין ותקילין (או כ200 ג'יגה בית, בלשון העם), לסך של 30 גי'גה בייט בלבד!
כל זאת, אם ירצה אלוהי השרתים, תוך ביעוט (boot) אחד בלבד.
אפילו השרתים של גוגל לא מעיזים לבצע דבר כזה, ולהם יש אחים רבים רבים שיתפסו את מקומם בלי להחסיר פעימה אם משהו ישתבש.
שימו לב, שימו לב, פיירפנג מתכונן. זה המצב לפני התרגיל המסוכן.


# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hde2 186G 6.0G 180G 4% /

את המצב אחרי תדעו אם פיירפנג יצליח לבצע את המהלך.
החזיקו אצבעות usb, הנה זה מתחיל!