הקמת Cluster מבוסס Xen

כתריאל טראום
27.07.2006
היסטוריית גירסאות
גירסה 1.0 07-01-2005 כתריאל טראום
גירסא ראשונה

תקציר המדריך

במדריך זה אדגים כיצד להקים High Availbility Cluster מבוסס Xen.

מבוא

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

במדריך זה נדבר כיצד ניתן להקים High-Availability Cluster בעזרת heartbeat2 ו- Xen.
למרות ש-heatbeat2 תומך ביותר מ-2 nodes (כבר נבדק ע”י Novell עד 16 nodes), לצורך ההדגמה נתקין ונקנפג רק 2.

זכויות יוצרים ורשיון

כל הזכויות שמורות © 2006, כתריאל טראום,מדריך לדוגמא, הרשות ניתנת להעתיק, לשנות ולהפיץ מדריך זה תחת התנאים של רשיון ה-GFDL

Linux הוא סימן מסחרי רשום של Linus Torvalds.

הסרת אחריות

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

משוב

תגובות, תלונות, הערות והארות לכתובת: katriel@penguin-it.co.iol.

הכנת ה- Nodes

תקציר הפרק

בפרק זה נדגים כיצד להתקין את ה-Cluster Nodes שישמשו אותנו להתקנת heartbeat. נשתמש במערכת קבצים מוכנה של CentOS כבסיס.
אשתמש בספריה /data/xen/cluster כספריית הבסיס שלי.

הרשת תהיה בנויה כך: Domain0 - 192.168.0.10 Node1 - 192.168.0.11 Node2 - 192.168.0.12

שימו לב: סידרת הפעולות שמתוארות להבא, מבוצעות על node1, כמובן שאת אותן הפעולות יש לבצע גם על שאר ה-nodes.

הורדת מערכת הקבצים

את מערכת הקבצים המוכנה הורדתי מהאתר http://jailtime.org. מערכת הקבצים מספקת סביבה עובדת ומינימאלית של CenOS 4.3 שעליה ניתן לעבוד.
אל תשכחו להוריד גם את קובץ ה-md5 הנלווה, על מנת לבדוק את תקינות הקובץ בסיום ההורדה.

cd /data/xen/cluster
mkdir node{1,2}
wget "http://jailtime.org/lib/exe/fetch.php?cache=cache&media=download%3Acentos%3Acentos.4-3.20060325.img.tgz" \
-O centos.4-3.20060325.img.tgz
wget "http://jailtime.org/lib/exe/fetch.php?cache=cache&media=download%3Acentos%3Acentos.4-3.20060325.img.tgz.md5" \
-O centos.4-3.20060325.img.tgz.md5

פריסה

לאחר שהורדנו את מערכת הקבצים המוכנה, נבדוק את תקינות הקובץ:

# md5sum -c centos.4-3.20060325.img.tgz.md5
centos.4-3.20060325.img.tgz: OK

בשלב זה נפרוס את הקובץ:

tar xzf centos.4-3.20060325.img.tgz -C /data/xen/cluster/node1/

קינפוג

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

  • תיקון קובץ הקונפיגורציה של המצורף של Xen.
  • העתקת המודולים המתאימים לתוך מערכת הקבצים.
  • סידור הרשת לפני עליית המערכת.
  • שינוי סיסמאת root.

שימו לב: כל השינויים, למעט השינוי לקובץ הקונפיגורציה של Xen, נעשים תחת מערכת הקבצים הוירטואלית (ב-/mnt), לא במערכת המארחת.

תיקון קובץ הקונפיגורציה של Xen

נערוך את הקובץ centos.4-3.xen.cfg. את השורה

nics = 1

נחליף ב-

vif = ['']

נוסיף הפניה ל-initrd המתאים, ונתקן את הנתיבים לקבצי מערכת הקבצים הוירטואלית. הקובץ המתוקן נראה אצלי כך:

kernel = "/boot/vmlinuz-2.6.17-1.2157_FC5xenU"
ramdisk = "/boot/initrd-2.6.17-1.2157_FC5xenU.img"
memory = 128
name = "node1"
vif = ['']
disk = ['file:/data/xen/cluster/node1/centos.4-3.img,sda1,w', 'file:/data/xen/cluster/node1/centos.swap,sda2,w']
root = "/dev/sda1 ro"

כמה נקודות לתשומת לב:

  • שימו לב שאתם מפנים לקרנל ו-initrd אשר מסומנים ב-xenU (או Unprivileged)
  • שיניתי את ההפניה של הקרנל.
  • שימו לב שאתם מפנים לגירסא האחרונה של הקרנל, כמה שיותר מעודכן, יותר טוב.
  • ניתן להגדיל או להקטין את כמות הזיכרון לפי הצורך.
  • הגודל של centos.4-3.img, שהוא קובץ הבסיס של מערכת הקבצים הוא רק בגודל של 1G, כדי להגדילו במידת הצורך, פנו להסבר הבא
העתקת המודולים

שלב הבא, הוא העתקת המודולים של הקרנל (בגירסא 2.6.17-1.2157_FC5xenU אצלי) לתוך מערכת הקבצים. אנו עושים זאת על מנת שהמערכת תוכל להשתמש בכרטיס הרשת הוירטואלי של Xen. נבצע mount למערכת הקבצים לתוך /mnt:

mount -o loop /data/xen/cluster/node1/centos.4-3.img /mnt

ונעתיק את המודולים:

cp -r /lib/modules/2.6.17-1.2157_FC5xenU /mnt/lib/modules
chroot /mnt /sbin/depmod -a 2.6.17-1.2157_FC5xenU
סידור כרטיס הרשת

מכיוון שבפדורה, רוב מנהלי ההתקנים נבנים כמודולים, נצטרך להגיד למערכת איזה מודול לטעון עבור כרטיס הרשת eth0 בתוך המכונה הוירטואלית. כדי לבצע זאת, נוסיף את המיפוי הנכון בקובץ /etc/modprobe.conf של מערכת הקבצים הוירטואלית:

echo "alias eth0 xennet" >> /mnt/etc/modprobe.conf
שם המכונה

נערוך את הקובץ /mnt/etc/sysconfig/network ונשנה את שם המחשב (HOSTNAME) ל-node1

כרטיס הרשת

נערוך את הקובץ /mnt/etc/sysconfig/network-scripts/ifcfg-eth0 כדי שיראה כך:

TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.11
NETMASK=255.255.255.0
GATEWAY=192.168.0.10
שינוי סיסמאת root
chroot /mnt /bin/passwd root
לסיום, נעשה umount של מערכת הקבצים:
umount /mnt

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

התקנת Heartbeat

תקציר

בפרק זה נתקין ונקנפג את heartbeat2.

תת-פרק ראשון

תוכן תת הפרק הראשון, טקסט נטוי

<? 
echo "PHP Code snipprt";
echo $highlighted_syntax;
?>

בעיות

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

  • שאלה מספר 1
    • תשובה מספר 1
  • שאלה מספר 2
    • תשובה מספר 2

מידע נוסף

מידע נוסף שנוגע למדריך כמו מדריכים נוספים, מסמכי שו”ת, ספרים וקישורים.

מדריכים/הקמת_cluster_מבוסס_xen.txt · שונה לאחרונה ב: 2008/06/19 18:34 (עריכה חיצונית)
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0