13Jul

כיצד לשחזר סיטריקס- Xen VMs בחינם עם Xen-Phoenix( בש)

האם אי פעם היה צורך בתפזורת לשחזר את ה- Citrix-Xen VM שלך עבור פתרון התאוששות מאסון( DR), או רק כדי לבדוק שהגיבויים שלך פועלים?HTG מסביר כיצד להשתמש Xen-Phoenix, סקריפט חינם bash, עבור שחזור VM.כפי שציינו ב "כיצד גיבוי סיטריקס Xen VMs בחינם עם Xen-pocalypse", אחד הדברים הנחמדים ב Citrix Xen היא כי רבות מהתכונות שלה הן חינם שללחייב.עם זאת, אם אתה רוצה את "אוטומטי VM הגנה והתאוששות" תכונה, היית צריך להתחיל לשלם עבור "מראש" רישיון.שוב, זה לא שאנחנו ב HTG הם דוחה את הערך של פתרון גיבוי אמיתי, אבל אם אתה על תקציב הדוק, יש כבר gotten תמונות VM מתוך hypervisor והם זקוקים דרך להפוך את "שחזור "/" DR "רענון, אתה עשוי למצוא Xen-Phoenix להיות פתרון הגיוני לחלוטין לפני שתבצע את המחויבות התקציב.

סקירה

"מקרה שימוש": יש לך כמה VMs הדורשים שחזור.ייבוא ​​"מרכז Xen" באמצעות קליקים ימינה עובד בסדר, אבל אתה רוצה את התהליך הזה יקרה באופן אוטומטי על לוח זמנים.זה סקריפט Bash משתמש "XE" הפקודה לבצע את תפקידיה.XE הוא ממשק שורת הפקודה של Xen( CLI), שווה ערך אוטומטית להנפקת "הקליקים הנכונים" במרכז "Xen".אנחנו נהיה קורא את התסריט מ Cron אשר יספק את "תזמון" חלק.בצורתו הפשוטה ביותר, זרימת השחזור היא:

  • מחק את כל * VM הקיימים בעבר בשרת
  • ייבוא ​​VMs מקבצים במיקום הגיבוי.
  • ודא שכל ה- VM הם ניתנים לפעולה על-ידי הפעלתם אחד אחד ולחפש את פעימות הלב של האורח.
  • כבה את ה- VM כאשר נחשף פעימת לב, או שהגיע הזמן הקצוב לתפוגה.

* מחיקת כל ההתנהגות של VM יכולה להיות מושבתת לחלוטין ותומכת בחריגים( ראה להלן).

מאפשר לקבל פיצוח:)

להשיג את התסריט

Xen-Phoenix ניתן להשיג בחופשיות מ github, באמצעות שיטות git רגיל.עם זאת, אם אתה לא בקי ב git עדיין, אתה יכול לתפוס את קובץ ה- zip עם הקישור הזה.כמו סקריפט צריך לרוץ על אחד שרתי Xen שלך, אתה צריך לחלץ אותו שם, כך הרשאות ביצוע נשמרות.

wget https: //github.com/aviadra/ Xen-Phoenix /archive/ master.zip
לפצל יחידת

בעוד האמור לעיל יעבוד, מומלץ להשתמש בשיטת GIT כך שתוכל להפיק תועלת עדכונים עתידיים.

מיקום הייצוא

אנחנו צריכים להגדיר היכן לקחת את היצוא VM מ.

בעוד שאני מציץ באקראי ב- Citrix Xen, גיליתי שמאגרי האחסון( SRs) זמינים לשימוש תחת "/var/run/ sr-mount /% UUID%", כאשר UUID הוא המזהה הייחודי של ה- SR, שניתן לקבל ממנוGUI.

זה אומר שאנחנו יכולים להשתמש הרגיל "הבא - & GT;הבא - & gt;סיים את "אשף" כדי ליצור את "הר" למקום הגיבוי הרצוי, ולאחר מכן יש להשתמש בסקריפט כי הנתיב( כמו apposed להתעסק עם הרכבה משורת הפקודה אשר מעבר לתחום של מדריך זה).

כדי ליצור חדש "הר", לחץ לחיצה ימנית על שם השרת ובחר חדש SR.

בדוגמה זו, נצביע על Xen לשיתוף Windows, לכן בחר "שיתוף קבצים של Windows( CIFS)":

השלם את הבא - & gt;הבא - & gt;סִיוּם.

השגת ה- UUID של SR

כדי לקבל UUID של SR, פשוט לחץ על שמו במרכז Xen ועבור לכרטיסייה "כללי".

כדי להעתיק את ה- UUID, פשוט לחץ עליו לחיצה ימנית ובחר "העתק".

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

קביעת תצורה של קובץ ההגדרות

פרויקט Xen-Phoenix מגיע יחד עם תבנית קובץ "הגדרות".יש לערוך תבנית זו כדי לשקף את ההגדרה שלך ולהעביר אותה כארגומנט הראשון לסקריפט.

קובץ ההגדרות מציין את הפרטים הבאים:

  • מיקום הייצוא של המקור - אם יש לך את המדריך עד לנקודה זו, אתה רק צריך להחליף את% UUID% עם SR של כפי שהושג מלמעלה.
  • מיקום SendEmail - אם בחרת לאפשר אימייל, אתה צריך קלט איפה יש לך חילוץ את Perl ההפעלה כאן.
  • אימות - פעולה זו שולטת בהליך שחזור האימות.אפשרות זו מופעלת כברירת מחדל, שכן "שחזור רמת קובץ" מוצלח אינו בהכרח אמצעי VM פונקציונלי.
  • Server_prep - זה שולט מראש מחיקת של כל VMs בשרת DR.אפשרות זו מופעלת כברירת מחדל מכיוון שמניחים ששרת ה- DR הוא שרת ייעודי למטרה זו.אם תזדקק ל- VM שפועל בשרת זה כדי לא למחוק, הגדר אותו כך שלא ייכלל.אם התנהגות זו אינה מתאימה למצב שלך, פשוט בטל אותה לחלוטין.
  • פרטי דוא"ל - שוב, אם הפעלת דוא"ל, עליך להגדיר פרטים כגון: אל, מאת, Servername / IP &וכו'.
  • Debugging - ברירת המחדל היא לגרום לאיתור באגים עם הערך "0"( אפס).אתה לא צריך להפעיל את זה, אבל אם אתה עושה, מידע נוסף הוא ציין את קטע פתרון בעיות.

ביצוע

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

זה, בצורתו הפשוטה ביותר, תופיע ההעתקה של Xen-Phoenix:

. /Xen-phoenix.sh settings.cfg DevTools

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

דוגמה מורכבת יותר יכולה להיראות כך:

. /Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bd] [bb] [iI] [DD] [ot] ovs [Tt] oss

היכן בדוגמה שלמעלה, קבצים המכיליםאת המילה "devtools" מאוית עם הון "D" ו "T" או אלה שאינם הון, כמו גם "AD" &"BI" עם או ללא שימוש באותיות רישיות, יובא.

תזמון

כפי שצוין לעיל, נשתמש Cron לתזמן את ביצוע.לפני שנכנס לתצורה, מומלץ שתגדיר את חבילת SSMTP המותקנת כבר בשרת Xen.אמנם זה צעד אופציונלי, עושה כך ייתן לך "backwash" אספן.בעקבות כזה "backwash אספן" עשוי להתריע לך דברים סקריפט אינו מסוגל.

היכנס למצב עריכה של cron על ידי הנפקת:

crontab -e

אם יש לך את ההוראות לעיל וברצונך להוסיף גיבוי מתוזמן ליום ראשון בשעה 01:31( 1:31 AM), הזן את הפרטים הבאים:

31 01 * *שמש /root/ Xen-Phoenix-master / Xen-phoenix.sh /root/ Xen-Phoenix-master / settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt] ools

האמור לעיל נכון בהנחהקובץ ה- Script וההגדרות שלך נמצאים תחת "/root/ Xen-Phoenix-master /".

השג SendEmail( אופציונלי)

כתבנו על התוכנית SendEmail perl בעבר, לכן אין צורך לחזור על כך כאן.די לומר, זה עובד באותה דרך על לינוקס כפי שהיא עושה ב- Windows.

בעת הפעלת הדוא"ל הוא אופציונלי, מומלץ מאוד כי אז התסריט יוכל:

  • ליידע אותך כאשר זה התחיל &סיים לפעול.
  • התראה על כל השגיאות שהוא הצליח לזהות ולטפל.

הורד אותו לשרת Xen ולחלץ.

wget http: //caspian.dotconf.net/menu/Software/SendEmail/ שלח דואר אלקטרוני- v1.56.tar.gz
זפת xvzhf שלח אימייל-v1.56.tar.gz

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

הגדרת תווית "מחק חריגה"( אופציונלי)

Xen-Phoenix לוקח דף מאבותיו( Xen-Pocalypse) ונותן לך את היכולת להוציא את ה- VM באופן גרגרי ממחיקת המערכת כולה באמצעות TAG בקרה.כדי לעשות זאת, אתה צריך להגדיר חדש "שדה מותאם אישית".

לשם כך, פתחו את המאפיינים של השרת או אפילו את המאפיינים של VM.בחלונית הניווט, בחר "שדות מותאמים אישית".

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

יצירת שדה "טקסט" סוג עם השם "Phoenix_keeper".

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

לאחר יצירת השדה, עליך לראות:

סגור את החלון.כעת יש למלא את השדה "פניקס_קיפר", כמו בתמונה למטה.

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

רישום

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

פחות + F /var/log/ הודעות

אתה מחפש את מילת המפתח "Xen-Phoenix".

הערה: Citrix קבעה מדיניות שימור של יומיים( 2) עבור syslog של השרתים שלה.ייתכן שתרצה לשמור את זה בחשבון עבור שלאחר המוות.

Debugging

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

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

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