שידרוג נפח אכסון ZFS על גבי OpenSolaris

לפני קצת יוצר מחצי שנה קניתי מכונת אכסון, כשהתוכנית היתה להריץ עליה אופן סולאריס כדי להנות מפירות הZFS.
נהנתי מאוד, עד שהתחלתי להרגיש שקצת צפוף לי, אז החלטתי להרחיב את נפח האכסון.
מכיוון שהתצורה של הדיסקים דומה לRAID10 – גם MIRROR וגם STRIP, כל הרחבה צריכה לבוא בזוגות.
קניתי שני דיסקים של של סיגייט, בנפח של 2TB כל אחד, ובפוסט זה אתאר את התהליך של השדרוג.
אחרי הקטע המלכלך של לחבר את הדיסקים, הרצתי את הפקודה הבאה:
[code]
root@iron:~# zpool add storage mirror c10d0 c11d0
[/code]

זהו, השדרוג הסתיים.
הפקודה הזו אומרת, תוסיף לבריכת האיכסון שנקראת storage יחידה וירטואלית חדשה מסוג ראי, שבנויה מהדיסקים c10d0 וc11d0.
הפקודה לקחה שניה, ובתום השניה נוספו לי כ2TB נלנפח האכסון במכונה. לא צריך fdisk ולא צריך לפרמט.
ככה נראה הpool הראשי שלי כרגע, הוא מורכב מארבעה דיסקים מלאים ומשתי מחיצות שתופסות את רוב הנפח של שני הדיסקים הנותרים.
למעשה, אין לי מקום לעוד דיסקים במכונה, מה שאומר שבשדרוג הבא אני אעשה משהו שעדיין לא יצא לי לעשות: להחליף דיסקים קטנים בדיסקים יותר גדולים.

[code lang="bash"]
root@iron:~# zpool status storage
pool: storage
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
mirror ONLINE 0 0 0
c8d0p2 ONLINE 0 0 0
c9d0p2 ONLINE 0 0 0
mirror ONLINE 0 0 0
c9d1 ONLINE 0 0 0
c8d1 ONLINE 0 0 0
mirror ONLINE 0 0 0
c10d0 ONLINE 0 0 0
c11d0 ONLINE 0 0 0
[/code]

ZFS זה כיף.

Facebook Comments

מחשבות על הרי געש עם שם ארוך מדי

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


View Larger Map

ההתפרצות של הר הגעש התחילה ב21 במרץ, לפני כמעט חודש, ולא נראה כאילו היא נרגעת.
לפי וויקיפדיה, ב1100 השנים האחרונות הר הגעש התפרץ ארבע פעמים, כשהפעם האחרונה היתה בין 1821 ל1823, כן – שנתיים.
ההתפרצות הזו גם קדמה להתפרצות של הר געש איסלנדי שכן בשם קטלה, שידוע כעוצמתי יותר מאיג'פג'אלג'וקול וקבור עמוק תחת הקרחון הגדול באיסלנד.
אם הקטלה יתפרץ, הוא יגרום להצפות חמורות באיסלנד.

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

Facebook Comments

אבטחת מידע רגיש נגד מדליפים

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

Facebook Comments

מהפכת האוכל של ג'יימי אוליבר

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

Facebook Comments

Obummer

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

Facebook Comments

מיצי ומוצי, הנקמה

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

Facebook Comments

חלון מהיר

לפני כמה פוסטים שאלתי את השאלה הבאה:

נתון מערך בגודל NxN של פיקסלים כאשר כל הפיקסלים שחורים חוץ מאחוז מסויים מהם שאינו שחור ומפוזר באופן אקראי,
בהינתן קואורדינטה (x,y) מסויימת בתמונה, מצא במהירות את כל הנקודות שנמצאות בתוך חלון בגודל K על K (כאשר K קבוע בבעיה) שמרכזו (x,y), משהו כזה:

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

אז הנה הפתרון שלי:
נחלק את התמונה למשבצות בגודל KxK, ונשמור רשימה של כל הנקודות בכל משבצת.
כאשר מבקשים מאיתנו לתת את רשימת הנקודות בחלון מסויים, נסתכל בארבעת החלונות שהחלון הזה חותך ונסנן את כל הנקודות בארבעת החלונות שלא נמצאות בתוך החלון המבוקש.
זה הכל בעצם.
הביצועים של הפתרון הזה מעולים, כדי להכין את הגריד (Grid) נעבור על כל הפיקסלים בתמונה, ולכל נקודה נמצא בזמן קבוע את המשבצת שאליה היא שייכת.
כשממש מחפשים את הנקודות בחלון מסויים, נבדוק במקרה הגרוע 2K*2K פיקסלים (אם כל הנקודות לבנות) אבל במקרה הרגיל נבדוק הרבה פחות (ואם החלון לא מכיל נקודות כלל נדע את זה מהר מאוד).
זה הקוד של העיבוד המקדים:
[code lang="java"]
private static int [][][] buildgrid(byte[][] image, int width, int height, int gridSize)
{
int grid[][][] = new int[width / gridSize][height / gridSize][];
// count the number of points in each grid cell
int numpoints[][] = new int[width / gridSize][height / gridSize];
for(int x=0;x Byte.MIN_VALUE)
{
numpoints[x/gridSize][y/gridSize]++;
}
}
}

for(int x=0;x Byte.MIN_VALUE)
{
int gy = y/gridSize;
int gx = x/gridSize;
int list[] = grid[gx][gy];
if (list == null)
{
int np = numpoints[gx][gy];
list = new int[np * 2];
grid[gx][gy] = list;
numpoints[gx][gy] = 0;
}

list[numpoints[gx][gy]++] = x;
list[numpoints[gx][gy]++] = y;
}
}
}
return grid;
}
[/code]

הקוד הבא סופר את המספר הנקודות בתוך החלון שמרכזו (x,y)' שימו לב שהלולאות עוברות על ארבעה ריבועים בגריד בלבד:
[code lang="java"]
// window boundaries:
int rx1 = x – grid_size/2;
int ry1 = y – grid_size/2;
int rx2 = rx1 + grid_size;
int ry2 = ry1 + grid_size;

// top left grid cell (out of 2×2 group to be checked)
int gx = rx1 / grid_size;
int gy = ry1 / grid_size;

for(int grid_x=gx;grid_x= 0 && grid_x < gwidth;grid_x++) { for(int grid_y=gy;grid_y= 0 && grid_y < gheight;grid_y++) { int list[] = grid[grid_x][grid_y]; if (list == null) continue; for(int i=0;i= rx1 && dx < rx2 && dy >= ry1 && dy < ry2) { c++; } } } } [/code] יתכן שאפשר לשפר את הביצועים אם נחלק את הגריד לריבועים יותר קטנים ונכלול ריבועים שלמים שנופלים בתוך החלון בלי לבדוק כל נקודה באופן פרטני, אבל לא ניסיתי. הביצועים של הפתרון הזה די מטורפים. על Q6600 במהירות 2.4GHZ, עם תמונה בגודל 500X500 פיקסלים וחלון של 20X20, בדיקה של כמה זמן לוקח לספור את הפיקסלים בכל 250,000 החלונות האפשריים לקחה כ160 מילישניות, מה שנותן מהירות בדיקה של מעל 1500 חלונות במילישניה (או יותר ממליון וחצי חלונות בשניה), בלי תלות בגודל התמונה שנבדקת (על תמונה של 1000X1000 המהירות היתה דומה). האפלט הבאה מדגימה את האלגוריתם. אפשר להוריד אותה מפה. הקוד כלול בתוך הJAR (אפשר לפתוח את הJAR עם תוכנה לפתיחת קבצי ZIP).
בנוסף, האפלט יכולה לרוץ כתוכנית רגילה : java -jar fast_window.jar
אפשר ללחוץ בתוך האפלט כדי לסמן את הנקודות בחלון.


הדפדפן שלך לא תומך בג'אווה, ככה האפלט ניראית (רק שהיא אינטראקטיבית) :


Facebook Comments