ניהול שרת OpenVZ (III)

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

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

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

יצירת המכולות

ل מכולות o אתה הן סביבות וירטואליות (מכונות וירטואליות) אשר ניצור וננהל באמצעות השרת שלנו OpenVZ. על מנת ליצור אותם עלינו לקבל תבנית.

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

יש תבניות שונות הפצות de לינוקס. חלקן מתוחזקות רשמית ואחרות הן תרומות מהקהילה.

הדרך הפשוטה ביותר להשיג אותם היא להשתמש באחת מה- תבניות שנוצרו מראש. אלה הושגו על ידי יצירת מכולה מתבנית ואז אריזה בקובץ gzip.

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

http://openvz.org/Download/template/precreated

לאחר ההורדה, אנו שומרים אותו כפי שהוא נמצא בספריה זו בשרת שלנו:

/vz/template/cache

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

כמו כן, המזהה חייב להיות גדול מ 100, מכיוון שהמזהים בין 0 ל 100 משמשים את המערכת.

לניהול מכולות, הפקודה החשובה ביותר היא vzctl. התחביר הבא משמש ליצירת מיכל חדש:

#vzctl create --ostemplate template --config config_file

ב- ostemplate שמנו את שם התבנית שהורדנו קודם. פרמטר התצורה הוא אופציונלי. בו אתה שם את שם הקובץ עם תצורות מוגדרות מראש עבור המכולות.

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

/etc/sysconfig/vz-scripts

למבנים של שמות הקבצים:

ve-nombre_config.conf-sample

הנפוץ ביותר הוא basic (ve-basic.conf-sample). אנו יכולים להשתמש באלו שנוצרו כברירת מחדל או ליצור משלנו. בכל מקרה, ניתן לשנות את כל הערכים שצוינו בהמשך.

לדוגמא, כדי ליצור מכולה עם מזהה 101, מתבנית debian שהורדנו לפני כן ובאמצעות התצורה הבסיסית, אנו מבצעים:

#vzctl create 101 --ostemplate debian-6.0-x86 --config basic

תצורת מיכל

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

#vzctl set --parametro valor --parámetro valor […]

ישנם הרבה פרמטרים שנוכל להגדיר. כדי להתייעץ איתם, כולנו יכולים לעבור למדריך vzctl (#man vzctl) או ל openvz wiki.

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

כאן נסביר כמה מהפקודות הבסיסיות ביותר:

הגדר את הגדרת המכולה שתתחיל כאשר המחשב יופעל או לא.
onboot [yes/no]

ציין את שם המארח של המחשב
hostname

הוסף כתובת IP למכשיר. הם מתווספים באופן מצטבר.
ipadd

אם אנו רוצים למחוק את כל אלה שהוגדרו בעבר עלינו להשתמש:
ipdel dir_ip|all

הגדר את כתובת שרתי ה- DNS. באפשרותך להשתמש באפשרות זו מספר פעמים באותה פקודה כדי להגדיר מספר שרתים. פעולה זו תחליף את כל שרתי השמות שהוגדרו בעבר.
nameserver

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

userpasswd user:password

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

bootorder

לבסוף, אני משאיר אותך כדוגמה ביצוע תצורה בסיסית עבור מיכל 101

#vzctl set 101 - על אתחול כן - hostname virtualhost --ipadd 192.168.1.10 - שרת שמות 8.8.8.8 - שרת שמות 4.4.4.4 - שמור #vzctl set 101 - שורש משתמש passwd: 1234

ניהול מכולות

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

הפעל את המיכל
#vzctl start ID

עוצר את המיכל
#vzctl stop ID

עוצר את המיכל מבלי להמתין שכל התהליכים שלו יעצרו
#vzctl stop ID --fast

זה אומר לנו את מצב המכולה
#vzctl status ID

השמד את המכולה. לפני שיש צורך לעצור את זה.
#vzctl destroy ID

אתה נכנס למכונה דרך שורת הפקודה כאילו ניגשנו באמצעות ssh.
#vzctl enter ID

הפעל פקודה בתוך המכולה.
#vzctl exec ID comando

ציין את המכולות הפעילות בשרת. עם האפשרות -a יש לרשום גם את העצורים.
#vzlist

זה הכל להיום. בכך אנו מסיימים את החלק הבסיסי ביותר בממשל של OpenVZ.

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

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


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

17 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   אלב דיג'ו

    מאמר מעולה !! 😉

    1.    Kamisama666 דיג'ו

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

  2.   Ocz דיג'ו

    מאמרים מעניינים מאוד על OpenVZ. בואו נראה אם ​​תעודדו אותי לנסות את זה, אני שמה עין על העניין כבר הרבה זמן. כאן אני משאיר כמה הערות:

    אני לגמרי לא מודע לאופן הפעולה של OpenVZ, ואחת השאלות הגדולות שיש לי היא מדוע יש צורך להגדיר את תצורת הרשת ביד לכל מכונה. האם אינך יכול לתת לו לקבל אותו משרת DHCP? כלומר, האם ניתן להעניק גשר MAC + ואז המכונות מצליחות בעצמן להשיג את תצורת הרשת? (מכיוון שבמאמרים על OpenVZ שהצלחתי לקרוא הוא מוגדר תמיד עם IPv4, אבל מה לגבי IPv6?)

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

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

    1.    Kamisama666 דיג'ו

      אני מאוד שמח שאתה אוהב את ההודעות ואני ממליץ לך לנסות את OpenVZ. תראה שזה קל להפליא לניהול.

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

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

      לגבי IPv6, שני המצבים תומכים בו. אתה יכול להשתמש בפקודה ipadd עם כתובת ipv6 ללא בעיות. כמובן, עם venet לא כל התכונות עובדות. מכיוון שלכרטיס הוונט אין MAC משויך, דברים כמו גילוי שכנים או פרסומות על נתבים לא עובדים.

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

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

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

  3.   גבריאל דיג'ו

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

    vzdump –suspend ID –mailto root –dumpdir / backups / file

    למארח זה יש את הגרסה הבאה: גרסת vzctl 3.0.22
    עכשיו הרעיון יהיה להיות מסוגלים לשחזר את המכולות האלה בשרת CentOS 6. בעת יצירת מחשבי VM חדשים אין לי בעיות, אבל אני לא יכול למצוא דרך לשחזר את הגיבויים האלה (ב- CentOS יש לי את הגרסה הבאה: גרסת vzctl 4.7.2)

    קראתי את זה:
    https://openvz.org/Quick_Installation_CentOS_6
    http://wiki.centos.org/HowTos/Virtualization/OpenVZ
    http://www.howtoforge.com/installing-and-using-openvz-on-centos-6.4-p2
    וכמובן שזו תהיה פוסט 😉 😀

    ממה שראיתי שרובם מדברים על שימוש ב- vzrestore, או ב- vzdump - שחזור, אבל אני לא מצליח לגרום לשחזור לעבוד. (אין לי vzrestore ב- CentOS 6 ואין לי את דגל ה- restore גם ב- vzdump) אין ספק שמשהו בורח לי בגלל חוסר ניסיון בנושא 😛

    הנה השאלות:
    האם אפשר לעשות את מה שאני רוצה? איזו מניעה?
    מה תהיה הדרך לעשות זאת? האם עלי להתקין את vzrestore איכשהו?
    המלצה? קריאה?

    תודה על תרומתך, ברכותיך

    1.    Kamisama666 דיג'ו

      היי, תודה על תגובתך.

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

      חיים ארוכים ושגשוג.

      1.    גבריאל דיג'ו

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

        אחד הדברים שמושכים את תשומת ליבי הוא שב- CentOS 6.5 שאני מתקין אלה הכלים שהוא מתקין:
        vzcalc, vzcptcheck, vzctl, vzdqdump, vzeventd,-פוסט vzifup, vzmemcheck, vznetaddbr, vzoversell, vzquota, vzstats, vzubc, vzcfgvalidate, vzcpucheck, vzdqqcheck, vzmigt-vzmigplvzpl, vzmig-dsynclist, vzmigczplist, vzmpltvzplist, vzmigzplvznet, vzmig-הרשימה

        על ידי ביצוע השלבים בתיעוד הרשמי: https://openvz.org/Quick_Installation_CentOS_6
        ובדגלים שאני רואה אצל האיש vzdqdump אין לי דגל שחזר. אני גם רואה שבגבר vzctl יש לי כמה דגלים - snapshot * אבל אני לא יודע אם זה מה שאני מחפש או איך להשתמש בהם בדיוק.

    2.    Kamisama666 דיג'ו

      ובכן, לאחר שנלחמתי עם openvz והגבול המרתק של התיעוד שלו, אני חושב שהבחנתי סוף סוף. אתה באמת צריך להשתמש ב- vzrestore, שמגיע יחד עם vzdump. אבל ב- CentOS הם לא מותקנים ואתה צריך לעשות את זה ביד. התהליך קצת מפותל (מספיק מספיק כדי לדפוק את הראש במקלדת) אז אילתרתי מאמר בבלוג שלי שפתחתי לאחרונה.

      כתובת האתר היא: https://kamisama666.github.io/2014/07/instalacion-vzdump-centos6/

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

      חיים ארוכים ושגשוג.

      1.    גבריאל דיג'ו

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

    3.    Kamisama666 דיג'ו

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

      https://blog.desdelinux.net/vzdump-instalarlo-centos-6-5/

      חיים ארוכים ושגשוג

  4.   jcrisdro דיג'ו

    חבר, יש לי בעיה לעקוב אחר שלבי התצורה, השאלה היא שממכונה בה אני מגדיר את ה- VM החדש שלי נראה, אך מקטע הרשת הוא לא, למשל:

    יש לי קטע 1. *, למארח A שלי יש 1.50 ול- VM B החדש יש 1.201, ממכונה A אני יכול לראות B, אבל לא ממחשב אחר המחובר לאותה רשת,

    אתה יכול להמחיש אותי במה שאני נכשל

  5.   דריו דיג'ו

    מאמר מצוין וזה עזר לי מאוד, עכשיו שאילתה, יש לי מיכל כבר בהפקה עם תבנית debian-7 ואני רוצה לעדכן אותו ל- debian-8 אותו מיכל, איך עלי לעשות?

    1.    Kamisama666 דיג'ו

      שלום תודה רבה לך. נותקתי מ- OpenVZ זמן מה אבל אנסה לעזור לך ככל שאוכל.

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

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

      https://www.skelleton.net/2015/05/04/upgrading-debian-guests-on-proxmox-to-jessie/
      http://forum.openvz.org/index.php?t=msg&goto=51280&
      http://justinfranks.com/linux-administration/upgrade-openvz-vps-from-debian-7-wheezy-64-bit-to-debian-8-jessie-64-bit

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

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

      אני מקווה שעזרתי. חיים ארוכים ושגשוג.

    2.    Kamisama666 דיג'ו

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

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

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

      https://www.skelleton.net/2015/05/04/upgrading-debian-guests-on-proxmox-to-jessie/
      http://justinfranks.com/linux-administration/upgrade-openvz-vps-from-debian-7-wheezy-64-bit-to-debian-8-jessie-64-bit
      http://forum.openvz.org/index.php?t=msg&goto=51280&

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

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

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

      1.    דריו דיג'ו

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

  6.   רמונסין דיג'ו

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

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

    העובדה היא שכאשר מנסים לבצע עדכון, למשל: »apt-get update» זה אומר לי שאין לו קשר עם ips של המאגרים ולא מוריד שום דבר, ולכן אני לא יכול לעדכן, או להתקין חבילות חדשות. אם אתה מפקד את ה- ips האלה, האם יש משהו שאני מתגעגע אליו?

    תודה מראש

    1.    רמונסין דיג'ו

      שלום שוב

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

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

      תודה על הקלט ב- OpenVZ, זה עזר לי להגדיר את זה די טוב

      נ.ב: למדתי שעושים עדכונים דרך פורט 80, חשבתי שאשתמש באקראי מ -1000 ...

      ברכה.