Try HWzone in English English
עבור לתוכן
  • צור חשבון
  • מי אנחנו?

    שלום אורח/ת!

     
    שים לב - על מנת להשתתף בקהילה שלנו, להגיב ולפתוח דיונים חדשים, עליך להצטרף כחבר רשום.

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

    לא אוהבים שמציקים לכם במייל? ניתן להירשם לאתר אך לוותר על הרישום לעידכוני המייל השבועיים.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

KoM

הכפלת מחשב פעיל בזמן אמת, איך ניתן לעשות באמצעים ביתיים ?

Recommended Posts

השאלה בכותרת, מהם האופציות העומדות לרשותי אם אני רוצה להכפיל מחשב פעיל, כלומר לשים שתי מכונות שבעצם יהיו זהות בזמן אמת (דרך רשת), למקרה שמכונה אחת נשרפת\מושבתת כליל ?

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

אני יכול ספר לך איך זה מתבצע במחשבי mainframe :

למעשה אין דבר כזה שני מחשבים זהים לחלוטין.

לדוגמא: את מערכת ההפעלה צריך להתקין פעמיים - בכל אחד לחוד.

כמובן שאם כל הקונפיגורציה של ה-HW כולל מערכי דיסקים channels ותקשורת זהים (מצב תיאורטי בלבד, כמעט אף פעם זה לא קיים במציאות)

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

כך גם עם האפליקציות: כל אחת מותקנת בנפרד בכל מחשב.

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

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

כך למשל לקוח שמושך כסף בבנק, יוצר שרשרת פעולות ב database על מחשב א.

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

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

למעשה ההכפלה היא רק ב data החשובה ביותר ולא ברמת המערכת.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

אוקייף מעניין מאד...

יש איזשהי אפשרות לבצע דבר כזה ברמה מיחשוב ביתי ? לפעילות SQL למשל ?

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

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

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

זה בוודאי קיים במערכות UNIX אבל אין לי מושג אם זה קיים ברמת מחשב ביתי פשוט. בדר"כ מדובר בסרברים.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

השאלה באה ללימוד תיאורטי על משהו שעניין אותי, הסמיילי " :nixweiss:" אומר שזה משהו בסיסי שכל אחד יודע ? ::)

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

השאלה בכותרת, מהם האופציות העומדות לרשותי אם אני רוצה להכפיל מחשב פעיל, כלומר לשים שתי מכונות שבעצם יהיו זהות בזמן אמת (דרך רשת), למקרה שמכונה אחת נשרפת\מושבתת כליל ?

אני לא מבין מה המטרה של זה ? תוכנה שתרוץ כל מחשב אחד ואז פתאום אם הוא ימות תמשיך לעבוד על מחשב אחר ?

מה זה "מחשב כפול" ? יש תוכנות שמיועדות לעבוד על שני מחשבים וזה נקרא High Availability כמו FIREWALL לדוגמה או מה שיבגני אמר, אבל המטרה שונה.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

במסד נתונים שהוא SQL מצב cluster אומר שכל transaction נרשם בכמה מקומות במקביל ויש log shipping בין המכונות שמריצות את הDB.

זה נשמע בדיוק מה שאתה מתאר.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

במסד נתונים שהוא SQL מצב cluster אומר שכל transaction נרשם בכמה מקומות במקביל ויש log shipping בין המכונות שמריצות את הDB.

זה נשמע בדיוק מה שאתה מתאר.

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

הבנתי גם את עניין הקלאסטר, וכי מדובר במערכת מסובכת יחסית שעושה שימוש ברשת חיצונית, ופנימית בין שני המחשבים ועובדת מול STORAGE מרכזי המאחסן בזמן אמת את ה-DATA, מעבר לכך שיש צורך בוינדוס SERVER וקינפוג מתקדם שלא נראה לי שאפשרי לעשות באמצעים ביתיים, האם אני צודק ?

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

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

מה שמפעיל את זה זה NLB בין השרתים.

הבנתי גם את עניין הקלאסטר, וכי מדובר במערכת מסובכת יחסית שעושה שימוש ברשת חיצונית, ופנימית בין שני המחשבים ועובדת מול STORAGE מרכזי המאחסן בזמן אמת את ה-DATA, מעבר לכך שיש צורך בוינדוס SERVER וקינפוג מתקדם שלא נראה לי שאפשרי לעשות באמצעים ביתיים, האם אני צודק ?

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

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

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

אבל כל לקוח שאני עובד מולו יש לו שרת פיצה כזה עם כפל וריבוי מערכות המיועדות לWINDOWS SERVER 2003 לדוגמה ואז לך תנסה לעשות את זה בבית . . .

http://www-03.ibm.com/systems/x/hardware/rack/x3650m2

תכלס אני מתקין לפעמים 2003 וXP על כמה לפטופים ובונה סביבת HIGH AVAILABILITY עם כמה DOMAINים אבל זה לא יחזיק במקרה אמת בסביבה אמיתית מה קוראים לזה PRODUCTION.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

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

אבל כל לקוח שאני עובד מולו יש לו שרת פיצה כזה עם כפל וריבוי מערכות המיועדות לWINDOWS SERVER 2003 לדוגמה ואז לך תנסה לעשות את זה בבית . . .

http://www-03.ibm.com/systems/x/hardware/rack/x3650m2

תכלס אני מתקין לפעמים 2003 וXP על כמה לפטופים ובונה סביבת HIGH AVAILABILITY עם כמה DOMAINים אבל זה לא יחזיק במקרה אמת בסביבה אמיתית מה קוראים לזה PRODUCTION.

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

בכל מקרה מה שאתה מחפש נקרא cluster, כאשר כל מחשב בקבוצה הזאת נקרא node ויש לא מעט תצורות של זה.

ברמה הבסיסית יש 2 סוגים Active-Passive וActive-Active.

ולפני שנמשיך אני אגיד שHigh Availability זה לא מושג טכני, זה מושג קונספטואלי, cluster בתצורה מסויימת יכול לענות על צרכי HA של מערכת מסויימת, ושם נגמר הסיפור.

הסוג הפשוט ביותר של Clusterים הוא A-P כלומר בכל רגע נתון יש רק Node אחד פעיל(בקלאסטרים מורכבים כל Node כמובן יכול להיות מורכב ממספר מחשבים, אבל לא נכנס לזה). בנוסף לזה בקלאסטר A-P לא יכול להיות מצב של סימטריה ברמת הnodes כלומר לא יהיה מספר זוגי של Nodeים אף פעם מהסיבה הפשוטה שאם התקשורת בינהם נופלת הם לא יכולים לדעת בוודאות מי מהם צריך לקחת את ההגה. את הדבר הזה ניתן לפתור ע"י הוספת "צד ג'" שהוא לא Node מלא כמו מחיצת\קובץ Quorum או צופה חיצוני על גבי התקן אחסון משותף, או על גבי מחשב אחר שנמצא ברשת שלא קשור לCluster. אם הקלאסטר הוא קלאסטר טיפש כלומר לא נשמר מידע על גבי "השרת" והוא מספק רק שרותים פשוטים כמו למשל שרת Web פשוט, או שרת FTP, או כל דבר דומה אחר אין צורך באחסון משותף, בקלאסטרים אפליקטיביים מורכבים יותר כמו שרת DB מוסיפים התקן אחסון משותף או מסנכרנים מידע בין הNodes על גבי הרשת המשותפת שלהם, שנותנות פתרונות קלאסטרינג יודעות גם לסנכרן דברים אחרים כמו TCP sessions ואפילו את הRAM.

קלאסטרינג שהוא A-A הוא קלאסטר מורכב יותר, או לפחות באימפלמנטציות הנפוצות שלו(קרי לא NLB של מיקרוסופט) שהיום זה רוב הCloud Computing, בצורה מאוד כללית יש לך 2 סוגים של Nodes בקלאסטר הזה Workers וManagers, כאשר הManagers הם הFront End שאליו פונים הצרכנים, והWorkers עושים את העבודה עצמה, המנהלים מחלקים את כל הבקשות לפי שיטות חלוקת עומס שונות כמו Round Robin או ALB או כל דבר אחר, ואחראים על סנכרון ושמירת אחידות המידע באפליקציה שלך. הקונפיגורציה הפשוטה של זה שבחלונות למשל נקראת Network Load Balancing זה סה"כ בסופו של דבר כפילות IP ברשת שלך, לכל המחשבים יש IP נוסף שמשותף אליהם, ויש עוד שרת נוסף שאחראי על חלוקה לפי RR, התצורה הזאתי לא מאפשרת סנכרון מידע בין השרתים(למרות שעם DFSR למשל אפשר לסנכרן שרתי קבצים בNLB) ובד"כ שמישה רק לשרותים טיפשים כמו שרתי WEB שלא מריצים מעבר לדפים פשוטים ושרותי שאחידות המידע בהם לא רלוונטית.

מעבר בין Node לNode נקרא Fail Over, כאשר ישנם רמות של זה, ברוב המקרים יש נפילה של הSessionים הפתוחים מול האפליקציה, ואיבוד חלקי של המידע, בפתרונות יותר מורכבים(מה שמושג בד"כ בעזרת פתרונות צד שלישי) במקרים אידיאליים הלקוח לא מרגיש את הנפילה כלל וכלל.

כיום קלאסטרינג משנה קצת כיוון ומקלאסטרינג של Nodeים טהורים מלאים, כלומר שאתה צריך להקדיש שרת ומערכת הפעלה לכל Node, עוברים לווירטואליזציה שבה אפשר להעביר בזמן אמת ברגע שמזהים כשלון קרב, או לאחר הכשלון את המכונה הווירטואלית לHost אחר, פתרונות יותר מתקדמים מאפשרים ווירטואליזציה וHA של הגדרות גם ברמת החומרה(העתקת MACים WWNים, הגדרות RAID, הגדרות סוויצ'ים ותקשורת) בין רכיבים שונים במערכת, לסיסקו למשל יש פתרון מאוד מאוד High end לזה ביחד עם VMWare.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

×
  • צור חדש...