DCSIMG
החלפת כתובות IP ב- XenServer - Gadi's Blog

Gadi's Blog

SBC, Application Delivery, Scripting ושאר ירקות

החלפת כתובות IP ב- XenServer

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

רק מה, שלעיתים שינוי כתובות ה- IP של שרתי ה- Host לא עובר ממש חלק, שרתים לא עולים, ה- Pool לא מתפקד ושלל תופעות שונות ומשונות.

המקרה לדוגמא הוא סביבה של 2 שרתי XenServer 5 ב- pool אחד.
מנהלות -  Xen1 10.10.10.1 ו- Xen2 10.10.10.2, שרת Xen1 הוא ה- pool master.
מה נעשה - כל המכונות ב- pool כובו ושונו כתובות ה- Management Interfaces של השרתים מה- XenCenter, שרת Xen1 קיבל 20.20.20.1 ו- Xen2 קיבל 20.20.20.2, השרתים אותחלו ישר אחרי החלפת הכתובות.

לאחר האתחול, שרת Xen1 - שהוא כאמור ה- pool master - עלה כמו שצריך, אבל שרת Xen2 עלה, אבל לא מצליח להתחבר ל- pool.
שני מקומות לבדוק בהם שהכל מוגדר כמו שצריך. ד"א זה לא יהיה, אחרת הכל היה עובד בלי בעיה מלכתחילה.

1. לעתים הכתובת החדשה לא נשמרת כמו שצריך. לשם כך יש להיכנס לקובץ ההגדרות של interface מתוך ה- CLI.
ה- interface הרלוונטי לנו הוא xenbr0, שהוא ה- interface שמגושר ל- eth0 בכדי לאפשר ל- host ול- guests הרצים עליו לצאת לרשת החיצונית.
פותחים לעריכה את הקובץ etc/sysconfig/network-scripts/ifcfg-xenbr0/, מה שתראו בפנים יהיה משהו מאוד דומה לזה:

XEMANAGED=yes
DEVICE=xenbr0
ONBOOT=no
TYPE=Bridge
DELAY=0
STP=off
PIFDEV=eth0
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=10.10.10.2
GATEWAY=10.10.10.245
DNS1=10.10.10.10
DNS2=10.10.10.11
PEERDNS=yes

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

2.  צריך לוודא ששרת ה- slave אכן מחפש את ה- pool master בכתובת הנכונה (במקרה שלנו, בכתובת החדשה של ה- master).
הנתונים נמצאים בקובץ etc/xensource/pool.conf/, בו נראה את השורה מה תפקידו של השרת ב- pool, והכתובת של שרת ה- master.
במקרה שלנו, מה שיהיה כתוב בקובץ זה slave:10.10.10.1. תפקיד השרת הוא slave וכתובת שרת ה- master הוא 10.10.10.1, הכתובת הישנה שלו.
גם כאן, צריך לשנות לנתונים החדשים. הכתובת של שרת Xen1 השתנתה (להזכירכם, הוא ה- master) והכתובת החדשה שלו הוא 20.20.20.1. ומכאן שב- pool.conf נשנה ל- slave:20.20.20.1. נשמור ונסגור את הקובץ.

לאחר איתחול שרת Xen2, כל הנתונים הבעיתיים יסתדרו והוא יוכל להתחבר שוב פעם ל- pool ולהמשיך להתנהג בהתאם. :)

Share this post :

תוכן התגובה

יונתן כתב/ה:

שלום גדי

רשמת ש"לעתים הכתובת החדשה לא נשמרת כמו שצריך"

א. החלפת כתובות IP החל מגרסה 4.1 נעשת בעזרת  

xe pif-reconfigure ולא בעזרת ifcfg-eth בשל העובדה ש xen כיום מנהל את כתובות ה ip ואפילו שומר אותם ב state.db ואף נותן לך את היכולת להחליף כתובות דרך ה xencenter

ב. החלפת כתובות ip ב pool היא אינה פעולה מסובכת אך - צריך להבין את הטכנולוגיה של citrix Xenserver, כאשר slave מתנתק מ master לא ניתן לעשות עליו שינויי קונפיגורציה. ולכן צריך להתחיל את השינויי מה slaves ואחר כך לבצע xe pool-recover-slaves

אל לך לשכוח שבאם הפעלת HA לפני שינויי כזה לבטלו!

יש לנו מספר שנות ניסיון עם המוצר הנ"ל וכמה עשרות הטמעות ב production.

יונתן.

# December 23, 2008 6:02 PM

גדי פלדמן כתב/ה:

הי יונתן,

לא ציינתי את זה, אבל הכוונה שלי היתה שהכתובות אכן שונו מה- XenCenter.

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

מאוד מאוד ואפילו מאוד כדאי לבטל HA לפני על התהליכים האלה. אבל עדיין, אם שוכחים, אפשר לשבור את ה- HA בכוח, xe pool-ha-disable --force.

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

תודה,

גדי

# December 23, 2008 7:48 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 1 and 1 and type the answer here:


Enter the numbers above: