תשתית
צי1.8.1
כל אשכול LexiVirt שהקונסול הזה מנהל, נקרא חי מכל אחד: קיבולת מצטברת, התראות בפיד אחד, וחיפוש שמוצא מכונה וירטואלית בלי לפתוח כל קונסול בתורו. אשכול נרשם עם הכתובת שלו ומפתח API שהוא מנפיק בעצמו, כך שהתפקידים שלו קובעים מה הצי רשאי לעשות ולוג הביקורת שלו מתעד.
מגבלות: קורא ומדווח. אין העברה בין אשכולות, אין מדיניות שנדחפת לעמית, ואין תכנון קיבולת חוצה-אשכולות.
איך משתמשים בזה
- בקונסול של האשכול השני, פתחו את הגדרות ובחרו New key תחת API Keys. תנו למפתח את התפקיד שהצי צריך שם — viewer מספיק לקריאה.
- העתיקו את המפתח. הוא מוצג פעם אחת בלבד.
- חזרה בקונסול הזה, פתחו את Fleet ובחרו Register cluster.
- מלאו Name, Console URL (הכתובת של הקונסול השני) ו-API key from that cluster, ושמרו.
- העמוד מציג עכשיו את השרתים, המכונות וההתראות של אותו אשכול, נקראים בזמן אמת. השתמשו ב-Search כדי למצוא מכונה בכל האשכולות הרשומים.
- כדי לנתק, הסירו את האשכול כאן או בטלו את המפתח שלו בקונסול השני.
אשכולות1.7.0
האשכול של הקונסול הזה: אילו צמתים בו, למה הם מסתכמים, ואיפה כל מכונה וירטואלית יושבת. הבריאות נגזרת ממה שהצמתים מדווחים, לא מוצהרת.
איך משתמשים בזה
- פתחו את אשכולות.
- קראו את הסיכומים: כמה שרתים מחוברים, וכמה מעבד, זיכרון ודיסק יש בהם יחד.
- בדקו איפה כל מכונה וירטואלית יושבת; מצב השרת כאן הוא מה שהשרת עצמו דיווח.
- כדי להוסיף קיבולת בחרו Add Node (הוספת שרת); כדי לשנות שרת בחרו Manage nodes.
צמתים1.0
המכונות שמריצות בפועל מכונות וירטואליות. על כל אחת רץ סוכן קטן שהקונסול מדבר איתו בערוץ מאומת. צומת שמסרב לקונסול אומר איזו משלוש הסיבות זו — סוד שגוי, סוד שהוא ייצר בעצמו, או כזה שהוא לא מצליח לשמור בין הפעלות — כי לכל אחת תיקון אחר.
מה כלול
- מצב תחזוקה: צומת בתחזוקה לא מקבל מכונות חדשות.
- פינוי כל המכונות מהצומת: כל מכונה עוברת לצומת עם הכי הרבה מקום — בהעברה חיה כשהדיסקים משותפים, ובהעתקה כשלא.
איך משתמשים בזה
- פתחו את שרתים ובחרו Add Node (הוספת שרת).
- הריצו על השרת החדש, כ-root, את הפקודה שהחלון מציג. כשהיא מבקשת את סוד הסוכן, הדביקו את הסוד שהחלון נותן.
- מלאו Node Name, IP / Hostname ו-Agent Port (9071 אם לא שיניתם), ובחרו Connect Node.
- השרת מופיע כמחובר. אם לא, הכרטיס שלו אומר למה — סוד שגוי, סוד שהוא ייצר בעצמו, או סוד שהוא לא מצליח לשמור — ולכל אחד תיקון משלו.
- לפני עבודה על שרת, לחצו על כפתור ההפעלה בכרטיס שלו כדי להעביר אותו לתחזוקה (לא ייווצרו עליו מכונות חדשות), והשתמשו ב-Move every VM off this node כדי לרוקן אותו.
- כשהסוכן בשרת ישן מהקונסול, הכרטיס מציע Update agent.
מכונות וירטואליות1.0
יצירה, הפעלה, עצירה, שכפול ושינוי גודל של אורחי KVM. אתחול מ-ISO שהועלה או מתמונת ענן, כמה כרטיסי רשת, טופולוגיית מעבד, וקונסול בדפדפן — כולל הדבקת טקסט לאורחים שאין להם לוח.
מה כלול
- יצירה של מכונה אחת או של עד חמישים במעבר אחד: אצווה מקבלת שמות
web-01, web-02 וכן הלאה, והמתזמן מציב אותן על הצמתים שיש בהם מקום.
- תבניות: שמירה של כל הגדרות יצירת המכונה תחת שם — מהשלב האחרון באשף או מהכלים של מכונה קיימת — ויצירת המכונה הבאה מהן בלחיצה אחת.
- Cloud-init לתמונות ענן: משתמש, סיסמה או מפתח SSH, שם מחשב ופקודה אחת להרצה באתחול הראשון, על דיסק seed קטן שהאורח מוצא בעצמו.
- כמה כרטיסי רשת למכונה, כל אחד ברשת משלו ואפשר עם כתובת קבועה; טופולוגיית מעבד של שקעים × ליבות.
- UEFI או BIOS נבחרים לפי קובץ ההתקנה עצמו: ISO שלא יכול לעלות ב-UEFI מקבל BIOS, כך שהתקנה כלשהי לא נעצרת במסך ריק.
- העברה לצומת אחר: חיה כשכל הדיסקים על אחסון NFS משותף, ואחרת כיבוי, העתקה והפעלה שם — שום דבר לא נמחק עד שהעותק רץ.
- ייצוא מכונה לקובץ
.lexivirt.tar אחד בספריית התמונות וייבוא שלו משם; שכפול מכונה; שינוי מעבד, זיכרון ודיסקים כשהיא כבויה.
- ספריית התמונות מורידה תמונה מכתובת URL לכל הצמתים (עם בדיקת sha256 אופציונלית) וממירה דיסקים של VMware, Hyper-V ו-VirtualBox — VMDK, VHD, VHDX, VDI, OVA — ל-qcow2.
איך משתמשים בזה
- שימו קודם ISO התקנה או תמונת ענן בספריית התמונות: שרתים ← ISO Library, ואז העלו קובץ או תנו כתובת ולחצו Download to all nodes.
- פתחו את מכונות וירטואליות ובחרו Create VM (יצירת מכונה). האשף עובר על Name & placement, Source, Resources, Networking, Guest setup, Project & owner ו-Review.
- תחת Source בחרו Installer ISO או Disk image. עם תמונת דיסק אפשר להגדיר משתמש, סיסמה או מפתח SSH ושם מחשב תחת Guest setup (cloud-init).
- לחצו Create (יצירה). לפני שהיצירה מתחילה, הקונסול בודק שיש שרת עם הרשת, התמונה והמקום שהמכונה צריכה, ואם אין — אומר לכל שרת מה חסר בו.
- ברשימה, השתמשו בכפתורי השורה כדי להפעיל, לכבות או לאתחל, לפתוח קונסול בדפדפן, או לשנות משאבים (שינוי גודל רק כשהמכונה כבויה).
- כפתור המצלמה פותח את כלי המכונה: דיסקים, נקודות שחזור, תצלומי רגע, זמינות גבוהה, פרויקט ובעלים, Move to another node, Export, Save as a template ו-Clone.
הרבה מכונות בבת אחת, ותבניות
- ב-Create VM (יצירת מכונה), תחת Name & placement, קבעו How many — עד 50. יותר מאחת יוצרות
name-01, name-02 וכן הלאה, והמתזמן מציב כל אחת בשרת שיש בו מקום.
- כדי להתחיל מהגדרה שמורה, בחרו אותה תחת Start from a template באותו שלב. היא ממלאת את הכול; השם והכמות נשארים כפי שהקלדתם.
- כדי לשמור תבנית, מלאו Save this configuration as a template (optional) בשלב Project & owner לפני היצירה.
- כדי להפוך מכונה קיימת לתבנית, פתחו את הכלים שלה ובחרו Save as a template.
- Templates בעמוד המכונות הווירטואליות מציג את התבניות ומוחק אותן. תבנית היא רק ההגדרות — הדיסקים נשארים בספריית התמונות — ולכן מחיקה שלה לא נוגעת באף מכונה שנוצרה ממנה.
אתחול ראשון של תמונת ענן (cloud-init)
- שימו תמונת ענן בספרייה: שרתים ← ISO Library, תנו את הכתובת שלה (למשל קובץ .qcow2 של Debian או Ubuntu לענן) ולחצו Download to all nodes.
- ב-Create VM (יצירת מכונה), תחת Source, בחרו Disk image ואת התמונה. Cloud-init מוצע רק עם תמונת דיסק: ISO התקנה מתקין מערכת, ותמונת ענן כבר היא מערכת ומחכה שיגידו לה מי היא.
- תחת Guest setup, סמנו Configure the first boot (cloud-init) ותנו User, Password או SSH public key (לפחות אחד מהם, אחרת אף אחד לא יוכל להיכנס), Host name, ואם רוצים — פקודה תחת Run on first boot (optional).
- צרו את המכונה. היא מוצאת את ההגדרות שלה בעצמה באתחול הראשון; המשתמש יכול להשתמש ב-sudo.
- באצווה, שם המחשב מקבל את אותה סיומת -01, -02 כמו שמות המכונות.
דיסק מ-VMware, Hyper-V או VirtualBox
- פתחו שרתים ← ISO Library והעלו את קובץ ה-.vmdk, .vhd, .vhdx, .vdi או .ova, או תנו את הכתובת שלו ולחצו Download to all nodes. sha256 אופציונלי נבדק כשהקובץ מגיע.
- לתמונת דיסק שמכונה עוד לא יכולה לעלות ממנה יש כפתור המרה בשורה שלה. לחצו עליו ותנו את שם קובץ ה-qcow2 שייווצר; ההמרה רצה כמשימה.
- צרו מכונה עם Source ← Disk image ובחרו את הקובץ שהומר. השאירו את הקושחה שהמכונה הותקנה איתה: אורח שהותקן ב-UEFI לא עולה ב-BIOS.
העברה, ייצוא וייבוא של מכונה
- כדי להעביר מכונה, פתחו את הכלים שלה ובחרו Move to another node ואת היעד. אם כל הדיסקים על מכולת NFS משותפת היא עוברת בזמן ריצה; אחרת היא נכבית, מועתקת, מופעלת ביעד, ורק אז נמחקת מהמקור.
- כדי להוציא מכונה מהשרת כקובץ, בחרו Export בכלים שלה. הייצוא הוא קובץ
.lexivirt.tar אחד בספריית התמונות; עקבו אחריו בעמוד משימות.
- כדי להחזיר אחת, בחרו Import בעמוד המכונות הווירטואליות, ואת קובץ הייצוא, השרת, ואם רוצים — שם חדש.
מכולות1.7.4
מכולות OCI לצד מכונות וירטואליות, על זמן הריצה שכבר קיים בצומת — Podman קודם כי הוא בלי דימון, אחר כך Docker. צומת בלי אף אחד מהם אומר איזו חבילה להתקין במקום להחזיר רשימה ריקה.
מגבלות: תקרת זיכרון ומעבד היא חובה. מכולה בלי גבול יכולה לקחת את המארח, ועל היפרוויזר זה לוקח איתה כל מכונה וירטואלית עליו.
איך משתמשים בזה
- פתחו את מכולות ובחרו Run container.
- בחרו Node ו-Image (למשל docker.io/library/nginx).
- הגדירו Memory limit (MB), CPU limit ו-Process limit. הם חובה: מכולה בלי גבול יכולה להשתלט על השרת.
- אפשר להוסיף Published ports ו-Volumes, אחד בכל שורה, ו-Command.
- לחצו Run. לכל שורה יש אחר כך Stop, Restart, Start, Logs ו-Remove.
- אם אין בשרת לא Podman ולא Docker, העמוד אומר איזו חבילה להתקין.
GPU1.7.2
מגלה את כרטיסי הגרפיקה והחישוב בכל צומת ומעביר כרטיס שלם למכונה וירטואלית אחת. העמוד אומר אילו כרטיסים קשורים לדרייבר העברה ואילו עדיין מוחזקים על ידי המארח.
מגבלות: העברת כרטיס שלם בלבד. אין vGPU, אין חלוקת זמן, ואין שיתוף כרטיס בין אורחים.
איך משתמשים בזה
- פתחו את GPU. כל כרטיס שנמצא בכל שרת מופיע ברשימה; לחצו Rescan אחרי הוספת חומרה.
- כרטיס שהשרת מחזיק לא ניתן להעברה. Why not? אומר מה מפריע ומה לשנות.
- כבו את המכונה: כרטיס מחובר בעלייה, לא בזמן שהמכונה רצה.
- בחרו Assign to VM, בחרו את ה-Virtual machine ואשרו ב-Assign.
- הפעילו את המכונה; הכרטיס כולו שלה עכשיו. Detach (כשהמכונה כבויה) מחזיר אותו.
אחסון
אחסון1.0
איפה חי הדיסק של מכונה וירטואלית בכל צומת: הדיסק של הצומת, ספרייה מחוברת אחרת, ייצוא NFS או קבוצת כרכים של LVM. מכונה בוחרת את המכל שלה בזמן היצירה.
מגבלות: אין אחסון מבוזר. אחסון משותף הוא ייצוא NFS שאתה מספק, וגם זמינות גבוהה וגם העברה חיה דורשות אחד.
איך משתמשים בזה
- פתחו את אחסון ובחרו Add container.
- בחרו Type: Directory on the node, NFS export או LVM volume group.
- לתיקייה תנו Path; ל-NFS את ה-Server, ה-Export ו-Mount options אם צריך; ל-LVM את ה-Volume group ו-Thin pool אם יש.
- תחת Add it on בחרו את השרתים שיקבלו אותו, ולחצו Add. לזמינות גבוהה ולהעברה חיה, הוסיפו את אותו NFS export בכל השרתים.
- בחרו את המאגר תחת Storage כשאתם יוצרים מכונה; גם דיסקים שמוסיפים אחר כך יכולים לשבת בכל מאגר.
כרכים1.6
דיסקים שאינם שייכים למכונה אחת: לחבר אחד לכמה בבת אחת לדיסק קוורום של אשכול או לנתונים משותפים. על מכל משותף זה דיסק אחד שכל צומת רואה.
איך משתמשים בזה
- פתחו את אחסון ובחרו New volume.
- תנו Name, Size (GB) ו-Container שבו הוא יושב. במאגר משותף (NFS) זה דיסק אחד שכל השרתים רואים.
- כדי לחבר אותו, פתחו את כלי המכונה (כפתור המצלמה ב-מכונות וירטואליות), בחרו Add New Disk ובחרו את ה-Shared volume.
- חזרו על זה לכל מכונה שצריכה לשתף אותו. כרכים מציג כל כרך ואיפה הוא מחובר.
תצלומי מצב1.5
עותקים של דיסקי מכונה וירטואלית בנקודת זמן, נלקחים כשהיא כבויה, כולל משתני הקושחה שלה. אפשר לחזור לאחד או לשכפל ממנו.
מגבלות: אופליין בלבד. תצלום של אורח שרץ אינו נלקח, כי דיסק שמועתק באמצע כתיבה אינו עותק שאפשר לסמוך עליו.
איך משתמשים בזה
- כבו את המכונה: תצלום רגע נלקח רק כשהיא כבויה.
- פתחו את הכלים שלה (כפתור המצלמה ב-מכונות וירטואליות). תחת Snapshots, הקלידו שם כמו before-upgrade ולחצו Take.
- כדי לחזור, לחצו Restore ליד התצלום, שוב כשהמכונה כבויה.
- תצלומי רגע בתפריט מציג את כל התצלומים של כל המכונות במקום אחד.
גיבויים ונקודות שחזור1.5
לוח זמנים שלוקח נקודות שחזור לקבוצת מכונות ושומר את ה-N האחרונות. שחזור נעשה מאותו עמוד.
מה כלול
- נקודות שחזור נלקחות בזמן שהמכונה רצה. כש-QEMU guest agent עונה הן עקביות-יישום — האורח מרוקן ומקפיא את מערכות הקבצים קודם; בלעדיו הן עקביות-קריסה, וכל אחת מסומנת בהתאם.
- שמירה לפי מדיניות: N האחרונות נשמרות והישנות נמחקות.
- ייצוא (בכלי המכונה) כותב מכונה שלמה לקובץ אחד שאפשר להעתיק מחוץ לצומת.
מגבלות: נקודות שחזור חיות על הצומת שהן מגנות עליו, אז אובדן הצומת מאבד אותן. אין מאגר מחוץ לצומת ואין אימות שחזור אוטומטי.
איך משתמשים בזה
- פתחו את גיבויים ובחרו New policy.
- תנו Name, בחרו כל כמה זמן Take a recovery point (משעה ועד שבוע), וכמה לשמור ב-Keep the newest.
- סמנו את ה-VMs covered ולחצו Save (שמירה). Protection by VM מציג אז אילו מכונות מוגנות ומתי כל אחת רצה לאחרונה.
- כדי לקחת נקודת שחזור ידנית, פתחו את כלי המכונה ולחצו Take one now תחת Recovery points.
- לשחזור, השתמשו בכפתור השחזור ליד נקודת השחזור בכלי המכונה.
- העתיקו מכונות חשובות גם מחוץ לשרת (Export בכלי המכונה): נקודת שחזור נשמרת על השרת שהיא מגינה עליו.
רשת
רשתות1.0
רשתות גשר ו-NAT בכל צומת, מקטעים מתויגי VLAN, והקצאות DHCP שמצמידות אורח לכתובת קבועה. הממשקים הפיזיים של כל צומת מוצגים כפי שהצומת מדווח עליהם, לא כפי שמישהו הגדיר פעם.
מה כלול
- אפשר לתת כתובת קבועה לכל כרטיס רשת ישירות באשף יצירת המכונה; היא נשמרת בשרת ה-DHCP של אותה רשת, ובאצווה היא עולה באחד לכל מכונה.
- ארבעה סוגי רשת: NAT (יציאה בלבד), מבודדת (אורחים בלבד), LAN (ברשת של הצמתים עצמם) וגשר, אפשר עם תיוג VLAN.
- רשת נבדקת בכל צומת לפני שהיא נוצרת, כך שגשר שחסר במארח אחד מדווח מראש ולא מתגלה אחר כך.
איך משתמשים בזה
- פתחו את רשתות ובחרו Create Network.
- בחרו Type: NAT (יציאה בלבד), Isolated (בין המכונות בלבד), LAN (על הרשת של השרתים עצמם) או Bridged (גשר בשרת, עם VLAN אם צריך).
- תנו Name, ול-NAT או רשת מבודדת גם Subnet (CIDR); לגשר — Host bridge ו-VLAN id אם יש.
- לחצו Validate כדי לראות מה כל שרת יעשה, ואז Create (יצירה). הרשת נוצרת בכל השרתים.
- כדי לקבע כתובת למכונה, לחצו על הכפתור Fixed addresses on this network בשורת הרשת, בחרו את המכונה (או הקלידו MAC), תנו Address ולחצו Reserve.
רשתות על1.7.3
מקטע VXLAN שחוצה צמתים, כך שמכונות על מארחים שונים חולקות רשת שכבה-2 אחת בלי לגעת במתגים הפיזיים. העמיתים מוגדרים מהקונסול וה-MTU מונמך כדי להשאיר מקום לעטיפה.
מגבלות: לא מוצפן. VXLAN נושא את המסגרות כמו שהן, אז הרשת שמתחת צריכה להיות כזו שאתה בוטח בה.
איך משתמשים בזה
- פתחו את SDN ובחרו New overlay.
- תנו Name ו-VNI (מספר הסגמנט); ה-Subnet הוא לתיעוד שלכם. השאירו MTU ו-UDP port בברירת המחדל, אלא אם הרשת שלכם דורשת אחרת.
- שמרו. הקונסול מגדיר את העמיתים בכל השרתים.
- חברו מכונות לרשת כמו לכל רשת אחרת: היא מופיעה ברשימת הרשתות כשיוצרים מכונה או מוסיפים כרטיס רשת.
- אם שרת היה מנותק כששמרתם, לחצו Re-apply to nodes כשהוא חוזר.
חומת אש1.7.2
כללים שפותחים וחוסמים תקשורת בין מכונות וירטואליות, מהודרים ל-ruleset של nftables ונדחפים לכל צומת. כללים נוקבים בשמות מכונות, והשמות נפתרים מול האשכול החי בכל החלה, כי כתובת שנלמדה לפני שעה יכולה להיות של אורח אחר עכשיו.
מגבלות: צומת בלי nftables לא יכול לאכוף, ודוח המוכנות נוקב בו במקום לתת לקונסול להאמין שכלל בתוקף בכל מקום.
איך משתמשים בזה
- פתחו את חומת אש ובחרו Add Rule.
- הגדירו Source ו-Destination — מכונה לפי שם, או Address or range… — Protocol ו-Port or range.
- בחרו Action: Allow, Drop (silent) או Reject (reply), ו-Priority (מספר נמוך רץ קודם).
- שמרו. החוקים מתורגמים ונשלחים לכל השרתים, והעמוד מדווח על כל שרת שלא הצליח לאכוף אותם.
- השתמשו במתג של חוק כדי לכבות אותו בלי למחוק, וב-Re-apply to nodes אחרי ששרת חוזר.
מאזן עומסים1.7.4
כתובת ופורט אחד שמתפזרים על כמה שרתי יעד, כ-NAT יעד במעקב החיבורים של הגרעין. סבב מחזורי או זיקת מקור.
מגבלות: שכבה 4, והעמוד אומר את זה: הוא מאזן חיבורי TCP ו-UDP ולא יודע כלום על בקשות, נתיבים, כותרות או TLS. אין בדיקת בריאות — שרת יעד שנפל עדיין מקבל את חלקו.
איך משתמשים בזה
- פתחו את מאזן עומסים ובחרו New service.
- תנו Name, את הכתובת וה-Port שהוא Listens on, ו-Protocol (TCP או UDP).
- בחרו Method: Round robin מפזר באופן שווה; Source hash משאיר לקוח על אותו שרת יעד.
- רשמו את ה-Backends, אחד בכל שורה, בצורה address:port. שמרו.
- אין בדיקת תקינות: שרת יעד שנפל — הוציאו אותו מהרשימה בעצמכם.
תפעול
ניטור1.4
מעבד, זיכרון ודיסק לכל צומת ולכל מכונה, נרשמים לאורך זמן, עם מסלול קיבולת שנגזר ממה שנמדד בפועל.
איך משתמשים בזה
- פתחו את ניטור למעבד, זיכרון ודיסק בזמן אמת בכל שרת.
- פתחו היסטוריה של מכונה מכפתור הגרף בשורה שלה ב-מכונות וירטואליות, ובחרו טווח — מהשעה האחרונה ועד 30 הימים האחרונים.
- Capacity runway ב-לוח בקרה מחושב ממה שנמדד, אז תנו להתקנה חדשה כמה ימים לפני שסומכים עליו.
- קבעו כמה זמן נשמרת היסטוריה תחת הגדרות (Keep per-minute history ו-Keep hourly history).
התראות1.4
מה לא בסדר עכשיו, החמור ביותר קודם, עם הסיבה והתיקון. הודעה יוצאת פעם אחת לכל בעיה — ושוב אם היא מחמירה — אף פעם לא שוב ושוב על אותו דבר.
מה כלול
- שליחה בדואר אלקטרוני (כל שרת SMTP, STARTTLS או SSL) וב-webhook בפורמט Slack, Microsoft Teams או JSON פשוט.
- חומרה מינימלית קובעת מה נשלח; כל בעיה נשלחת פעם אחת, ושוב רק אם היא מחמירה.
- שליחה שנכשלה מנוסה שוב, ועמוד ההגדרות מראה אם הניסיון האחרון הצליח.
איך משתמשים בזה
- פתחו את התראות. הבעיות מוצגות מהחמורה ביותר, כל אחת עם הסיבה והתיקון.
- לחצו Acknowledge על התראה שאתם מטפלים בה.
- כדי לקבל הודעה במייל או ב-webhook, פתחו את הגדרות, מלאו את Alerts & notifications (שרת SMTP או כתובת webhook) ולחצו Send a test.
- שם גם משנים את הספים: אזהרת דיסק וקריטי, אזהרת זיכרון, וכמה ימים לפני תפוגת תעודה להזהיר.
משימות1.3
כל מה שאיטי — שכפולים, העתקות תמונה, העברות, גיבויים, עדכונים — רץ כמשימה עם התקדמות והיסטוריה, במקום להחזיק בקשה פתוחה.
איך משתמשים בזה
- הפעילו כל פעולה איטית — יצירת מכונות, שכפול, העתקת תמונה, העברת מכונה, גיבוי, עדכון. היא רצה כמשימה והבקשה חוזרת מיד.
- פתחו את משימות כדי לראות התקדמות, מה כל משימה עושה עכשיו וכמה זמן לקחה.
- משימה שנכשלה שומרת את הודעת השגיאה: קראו אותה שם לפני שמנסים שוב.
- לחצו Refresh (רענון) כדי לעדכן את הרשימה.
זמינות גבוהה1.7.3
מכונה המסומנת ל-HA מופעלת מחדש על צומת אחר כשהצומת שלה אובד — אחרי שצומת שני מאשר שהוא לא מצליח להגיע לראשון, כך שקונסול שרק איבד את הרשת שלו לא מעביר הכול. כשהצומת החוזר חוזר, העותק שם נעצר ומוסר מהפעלה אוטומטית לפני שהוא יכול לכתוב לאותם דיסקים. החובה הזו נכתבת לבסיס הנתונים יחד עם ה-failover עצמו, אז היא שורדת הפעלה מחדש של הקונסול.
מגבלות: רק מכונות שהדיסקים שלהן על אחסון משותף, וה-fencing עובר דרך הסוכן של הצומת החוזר — צומת שהסוכן שלו מת אבל האורחים שלו רצים אי אפשר לגדר.
איך משתמשים בזה
- העבירו קודם את הדיסקים של המכונה למאגר משותף (NFS) — ראו אחסון.
- פתחו את כלי המכונה, קבעו עדיפות תחת High availability ולחצו Save (שמירה). מכונה בעדיפות 0 לא מופעלת מחדש.
- פתחו את גיבויים: כרטיס High availability מציג את המכונות המוגנות והאם ההגדרה של כל אחת הועתקה. לחצו Copy the definitions again אחרי שינוי במכונה.
- פתחו את אוטומציה כדי לוודא שה-watchdog ושאר עבודות הרקע רצות, ומתי כל אחת רצה לאחרונה.
- אם שרת אובד, המכונות המוגנות שלו עולות בשרת אחר אחרי ששרת שני מאשר שהוא לא מגיע אליו. המשימה וההתראה אומרות אילו מכונות עברו.
Kubernetes1.7.5
בונה אשכול k3s ממכונות וירטואליות מתמונת ענן — שרתים וסוכנים, עם ההצטרפות ביניהם — ומביא לך בחזרה את ה-kubeconfig דרך סוכן האורח, בלי שתצטרך להיכנס לאף מכונה.
מגבלות: הקמה בלבד. אין תצוגת עומסים, אין מסלול שדרוג ואין התאמה — ברגע שהוא נבנה הוא אשכול k3s רגיל שמנהלים עם kubectl.
איך משתמשים בזה
- שימו קודם תמונת ענן בספריית התמונות: שרתים ← ISO Library.
- פתחו את Kubernetes ובחרו New cluster.
- תנו Name, k3s channel ו-Cloud image, ואז כמה Servers ו-Agents (workers), ו-vCPUs each, Memory each (MB) ו-Disk each (GB).
- לחצו Build cluster. המכונות נוצרות כמכונות רגילות וההתקדמות מוצגת בעמוד.
- כשהוא מוכן, לחצו kubeconfig ואז Copy או Download, והשתמשו ב-kubectl.
- מחיקת האשכול כאן מוחקת את המכונות שלו.
סוכני AI1.8.3
הקונסול הוא שרת MCP, כך ש-Claude Code, Codex, Agent Zero, Hermes, OpenCLAO או כל לקוח Model Context Protocol אחר יכולים לקרוא ולהפעיל אשכול בלי להתקין כלום במחשב של הסוכן: כתובת ומפתח API מספיקים. כפתור אחד יוצר את המפתח ומוריד קונפיגורציה גמורה. כל קריאה לכלי עוברת דרך ה-API של הקונסול עם אותו מפתח, אז התפקיד שלו קובע מה הסוכן רשאי לעשות וכל פעולה מופיעה בלוג הביקורת תחתיו.
מגבלות: קריאה בלבד אלא אם הכתובת מסתיימת ב-?write=1, ואין כלי שמוחק משהו ואין הרצת פקודות בכלל — בבחירה, לא בהשמטה.
איך משתמשים בזה
- פתחו את Agents.
- בחרו את ה-Client (Claude Code, Codex, או כל לקוח אחר שמדבר MCP ב-HTTP) ואת ה-Key role: viewer לקריאה, operator לפעולה.
- לחצו Create a key and download the config. הקובץ מכיל את הכתובת של הקונסול (…/api/mcp) ואת המפתח החדש — לא צריך להתקין כלום במחשב של הסוכן.
- שימו את הקובץ במקום שהלקוח קורא ממנו, כפי שהעמוד אומר לכל לקוח. ב-Codex הגדירו גם את LEXIVIRT_API_KEY למפתח.
- אם לקונסול עדיין יש את התעודה של ההתקנה הראשונה, הורידו מאותו עמוד את רשות התעודות שלו וסמכו עליה במחשב של הסוכן.
- בטלו את המפתח ב-הגדרות ← API Keys כדי לנתק את הסוכן.
קונסול HCI1.9.0
קונסול למי שמפעיל את התשתית ולא את המכונות הווירטואליות, בפורט משלו (9440 כברירת מחדל) כך שאפשר לחסום אותו בחומת אש לרשת הניהול. התקנה או עדכון של LexiVirt מגדירים את הפורט בעצמם. עמוד אחד עונה: האם האשכול תקין, האם הוא יכול לאבד צומת, מתי נגמר לו המקום, מה עושים כל צומת וכל מאגר אחסון, מה מתריע, מה רץ עכשיו ובאיזו גרסה נמצא כל חלק. הוא קורא את ה-API של הקונסול ומשתמש באותה כניסה, למנהלים ולאופרטורים; צופה מקבל הודעה שהעמוד לא מיועד לו. נתון שלא ניתן היה לאסוף מוצג כלא ידוע ולא כאפס, וכשהקונסול מפסיק לענות העמוד שומר את הנתונים האחרונים שהיו לו מתחת לשורה שאומרת זאת.
מגבלות: לקריאה בלבד. בדיקת כשל הצומת עוסקת בזיכרון של האשכול כמכלול: היא לא בודקת דיסקים, מעבד או רשת, ולא בודקת שמכונה וירטואלית מסוימת נכנסת בשארית של צומת אחד. הערכת מקום היא קו ישר דרך ההיסטוריה שנרשמה, לזיכרון ולדיסק המערכת בלבד — לא תחזית. נתוני האחסון הם מה שכל סוכן צומת מדווח על המכולות שלו; אין מאחוריהם מצאי של דיסקים פיזיים. אותו ה-API עונה גם בפורט של קונסול המכונות, ולכן רשימת המקורות המותרים בפורט הניהול מצמצמת את מה שחשוף שם ואינה מחליפה את הכניסה. הגדרת הפורט דורשת root: בהתקנה הרגילה יש, וקונסול שהועבר לחשבון בלי הרשאות מדפיס בלוג העדכון שלו את הפקודה האחת להריץ. העמוד באנגלית בלבד.
איך משתמשים בזה
- היכנסו כמנהל או כאופרטור ובחרו HCI Console בתפריט הצד. צופה לא רואה את הקישור, ואם יפתח את הכתובת יקבל הודעה שהעמוד לא מיועד לו.
- קראו את פסק הדין שבראש העמוד ואחריו את Findings: כל ממצא אומר מה לא תקין ועל מה הוא נשען. פסק דין Unknown פירושו שחלק מהאשכול לא ניתן היה לקרוא — לא שהאשכול תקין.
- רדו לאורך העמוד: Nodes, Storage, Capacity runway, Resiliency & HA, Alerts, Tasks ו-Updates. העמוד מתרענן מעצמו.
- יש לו גם פורט משלו, https://your-server:9440/hci, והתקנה או עדכון של LexiVirt מגדירים אותו בעצמם — בלוג העדכון מודפסת הכתובת. נכנסים עם המשתמש והסיסמה הרגילים, ולא צריך דבר נוסף. כדי לבחור פורט אחר או להגביל מי רשאי להתחבר, הריצו פעם אחת כ-root על מארח הקונסול: bash /opt/lexivirt/console/scripts/hci-port.sh --port 9550 --allow-from 10.0.0.0/24. קונסול שאינו רץ כ-root לא יכול לבצע את ההגדרה הראשונה בעצמו, והלוג מדפיס לו את הפקודה.
- כדי להסיר את הפורט, הריצו את אותו סקריפט עם --remove; עדכונים הבאים משאירים אותו כבוי. כדי שעדכון לא יוסיף אותו מלכתחילה, הריצו לפני העדכון echo 0 | sudo tee /etc/lexivirt/hci-port. העמוד נשאר זמין בפורט של הקונסול עצמו בכל מקרה.
ניהול
פרויקטים1.6
קיבוץ מכונות וירטואליות והאנשים שרשאים לגעת בהן, כך שמכונות של צוות אחד אינן של צוות אחר להפעיל, לעצור או למחוק.
איך משתמשים בזה
- פתחו את פרויקטים ובחרו New project.
- תנו Name ו-Description, ומכסות אם רוצים: VMs, vCPUs, Memory (GB) ו-Storage (GB).
- סמנו את ה-Members — האנשים שמותר להם להפעיל, לכבות ולמחוק את המכונות שלו — ולחצו Save (שמירה).
- שייכו מכונות חדשות תחת Project & owner באשף יצירת המכונה, או העבירו מכונה קיימת מהכלים שלה.
- מחיקת פרויקט משאירה את המכונות שלו פועלות; הן פשוט כבר לא שייכות לפרויקט.
משתמשים ותפקידים1.0
חשבונות מקומיים בשלושה תפקידים — מנהל, אופרטור וצופה — עם אימות דו-שלבי אופציונלי. התפקיד נקרא מבסיס הנתונים בכל בקשה, אז הורדה בדרגה נכנסת לתוקף מיד.
מה כלול
- התחברות דו-שלבית עם כל אפליקציית אימות (TOTP). ההפעלה דורשת קוד תקין, ויחד איתה מונפקים שמונה קודי שחזור חד-פעמיים, שנשמרים מגובבים.
- מנהל יכול לבטל את האימות הדו-שלבי של מי שאיבד גם את הטלפון וגם את קודי השחזור; הפעולה נרשמת בלוג הביקורת.
מגבלות: החשבונות מקומיים להתקנה. אין LDAP, Active Directory או SAML.
איך משתמשים בזה
- פתחו את משתמשים (למנהלים בלבד) ובחרו Add user.
- מלאו Username ו-Email — נכנסים עם כתובת המייל — ובחרו Role: מנהל, מפעיל, או צופה (רואה הכול, לא משנה כלום).
- השאירו את הסיסמה ריקה והקונסול ייצור אחת ויציג אותה פעם אחת. העבירו אותה בדרך בטוחה.
- כדי לשנות תפקיד, השתמשו בכפתור העריכה בשורה; השינוי חל מהבקשה הבאה.
- כל משתמש יכול להפעיל כניסה דו-שלבית ב-הגדרות ← Two-factor authentication ← Set it up.
אבטחה1.6
מפתחות API לסקריפטים ולסוכנים, לכל אחד תפקיד משלו וניתן לביטול בנפרד, והפעילות האחרונה בהתקנה במקום אחד.
מה כלול
- REST API לכל מה שהקונסול עושה, תחת
/api/v1/. התיעוד האינטראקטיבי נמצא ב-/api/docs בקונסול שלכם, לכל מי שמחובר.
- סקריפטים מזדהים במפתח API שנשלח כ-
Authorization: Bearer <key>. נשמר רק גיבוב של המפתח, והוא מוצג פעם אחת.
- לכל מפתח תפקיד משלו — אינטגרציה לקריאה בלבד מקבלת מפתח צופה — וכל אחד ניתן לביטול בנפרד.
מגבלות: אין כלי שורת פקודה של LexiVirt ואין provider ל-Terraform או collection ל-Ansible: אוטומציה קוראת ישירות ל-HTTP API, עם curl או כל ספריית HTTP.
איך משתמשים בזה
- פתחו את אבטחה (למנהלים בלבד).
- עברו על החשבונות ועל הפעילות האחרונה; Full audit log פותח את הכול.
- לסקריפט או לסוכן, בחרו Create an API key: הוא פותח את הגדרות ← API Keys. לחצו New key, תנו Name ואת ה-Role המצומצם ביותר שמספיק.
- העתיקו את המפתח כשהוא מוצג; הוא לא יוצג שוב.
- בטלו מאותה רשימה מפתח שכבר לא צריך. שום דבר אחר לא מפסיק לעבוד.
שימוש ב-REST API
- צרו מפתח: הגדרות ← API Keys ← New key, עם ה-Role המצומצם ביותר שמספיק. העתיקו אותו כשהוא מוצג.
- פתחו את
/api/docs בקונסול שלכם כשאתם מחוברים: כל נקודת קצה, הפרמטרים והתשובות שלה, ואפשרות לנסות כל אחת.
- שלחו את המפתח עם כל בקשה, למשל:
curl -H "Authorization: Bearer $KEY" https://<your-console>/api/v1/nodes
- פעולות איטיות — יצירת מכונות, העתקת תמונות, העברות — עונות מיד עם מזהה משימה. את ההתקדמות קוראים ב-
/api/v1/tasks/<id>.
- כדי לקרוא הגדרות של מכונה מ-Proxmox, VMware או חבילת OVF, שלחו POST עם הטקסט של ה-
.conf, .vmx או .ovf ל-/api/v1/migrate/parse בצורה {"text": "…"}. חוזרים המעבדים, הזיכרון, הדיסקים וכרטיסי הרשת שלה, הצעדים שנשארו, ואזהרה על כל מה שלא יעבור. שום דבר לא נוצר.
יומן ביקורת1.2
מי עשה מה, מתי ומאיפה — נכתב לכל פעולה על ידי הקונסול שביצע אותה. פעולות על צומת נרשמות על ידי אותו צומת ולא מועתקות לכאן: שני יומנים שסותרים זה את זה גרועים מאחד במקום הנכון.
איך משתמשים בזה
- פתחו את יומן פעולות.
- בכל שורה יש Time, User, Action, ה-Resource שעליו נעשתה הפעולה, Details והאם הצליחה.
- הרשומות החדשות ראשונות; השתמשו בחיפוש של הדפדפן (Ctrl+F) כדי למצוא שם.
- פעולות שנעשו על שרת נרשמות בשרת עצמו; חפשו אותן שם.
קבצים1.5
כונן משותף למנהלים: מעלים קובץ ממחשב אחד ומורידים אותו ממחשב אחר, רק עם הכניסה לקונסול. תקליטורי התקנה ותמונות ענן לא נשמרים כאן — יש להם ספרייה משלהם בעמוד השרתים, שמקבלת אותם פעם אחת ומעבירה אותם לכל צומת נתח אחר נתח, כך שהקונסול אף פעם לא מחזיק תמונה שלמה בזיכרון.
איך משתמשים בזה
- פתחו את קבצים (למנהלים בלבד) ולחצו Upload.
- בחרו כל קובץ. הוא נשמר בשרת של הקונסול בשם אקראי, יחד עם מי העלה אותו ומתי.
- היכנסו מהמחשב השני, פתחו את קבצים והורידו אותו מעמודת Actions.
- מחקו אותו כשהגיע. קובצי ISO ותמונות דיסק לא נכנסים לכאן: הם הולכים ל-שרתים ← ISO Library.
טרמינל1.6
מעטפת על מארח הקונסול, בדפדפן, כחשבון שהקונסול רץ תחתיו — לא כ-root, אחרי שהקונסול הועבר לחשבון לא-מיוחס משלו.
איך משתמשים בזה
- פתחו את Terminal (למנהלים בלבד).
- נפתחת מעטפת בשרת של הקונסול, בחשבון שהקונסול רץ בו.
- אם החיבור נופל, לחצו Reconnect.
- השתמשו בו לפקודות שדוח המוכנות וההתראות מציעים; פעולות על שרת עצמו נעשות ב-SSH לאותו שרת.
הגדרות1.4
ספים להתראות, שליחת הודעות, אורך הפעלה, מראה, מה כל צומת מקבל על זמן ושרתי שמות, ומה ההתקנה הזו מדווחת על עצמה.
מה כלול
- רשימת כתובות מורשות לקונסול. היא חייבת לכלול את הכתובת של מי ששומר אותה, כך שאף אחד לא נועל את עצמו בחוץ.
- נעילת אשכול: SSH לכל הצמתים במפתח בלבד. היא נדחית בצומת שלחשבון ה-root שלו אין מפתח מורשה.
- משך התחברות משעה עד 30 יום, אורך סיסמה מינימלי מ-10 עד 72 תווים, כלל אופציונלי שסיסמה משלבת אותיות וספרות, והודעה במסך הכניסה.
איך משתמשים בזה
- פתחו את הגדרות.
- תחת Account Settings משנים סיסמה; תחת Two-factor authentication לוחצים Set it up, סורקים את המפתח, מקלידים את The code it shows ולוחצים Turn it on.
- מנהלים: תחת Console & security קובעים כמה זמן כניסה תקפה, אורך סיסמה מינימלי, שפה, באנר כניסה, ואילו כתובות רשאיות להגיע לקונסול. Save (שמירה).
- תחת Node settings קובעים Time servers ו-Name servers ולוחצים Apply to every node.
- תחת Alerts & notifications קובעים משלוח וספים ולוחצים Send a test.
- תחת API Keys יוצרים ומבטלים מפתחות לסקריפטים ולסוכנים.
- תחת What this installation reports רואים את שני הערכים שנשלחים עם בדיקת העדכונים, ומבטלים את הסימון ב-Report these two values with the update check כדי להפסיק.
עדכונים1.2
מעבר אחד מעדכן את הקונסול וכל סוכן צומת שהוא מצליח להגיע אליו, כל אחד מדווח בשמו. העמוד מראה איזו גירסה רצה מול איזו מותקנת, כי עדכון שסנכרן קבצים ולא הופעל מחדש הוא הכשל שמבטל בשקט כל תיקון שבתוכו.
מה כלול
- גרסאות, מ-1.9.2: התקנה של כל גרסה שפורסמה מ-1.8.0 ואילך, חדשה או ישנה, על כל האשכול, על הקונסול בלבד או על שרת אחד. חזרה אחורה היא אותה פעולה כמו התקדמות.
- לפני כל החלפת גרסה הקונסול שומר תמונת מצב של הקוד שלו ומחזיק את חמש האחרונות; החזרה של אחת מהן עובדת בלי גישה לשרת העדכונים.
- העלאת חבילת גרסה לקונסול שלא אמור להוריד מהאינטרנט. חבילה זהה לגרסה שפורסמה היא אותה גרסה; כל דבר אחר הוא בנייה לא רשמית, שאפשר להתקין רק על הקונסול, אחרי הקלדת מספר הגרסה לאישור.
- שרת שהוחזר לגרסה ישנה מוחזק בה, כך שהמעבר השעתי לא מקדם אותו שוב, עד שמישהו מתקין את החדשה ביותר או משחרר את ההחזקה. חזרה אחורה בקונסול מכבה עדכונים אוטומטיים מאותה סיבה.
מגבלות: סוכני השרתים מתקינים רק גרסאות שפורסמו, ושום דבר ישן מ-1.8.0 לא מוצע. מסד הנתונים לעולם לא מוחזר אחורה: שינויי סכמה רק מוסיפים, כך שקונסול ישן קורא מסד נתונים חדש יותר.
איך משתמשים בזה
- פתחו את עדכונים (למנהלים בלבד). מוצגות הגרסה שרצה, הגרסה המותקנת, והאם יש גרסה חדשה יותר.
- התקינו את העדכון. הקונסול וכל סוכן שהוא מגיע אליו מתעדכנים, כל אחד מדווח בשמו.
- אם העמוד אומר שהגרסה המותקנת חדשה מזו שרצה, לחצו Restart console now — עדכון שהותקן ולא הופעל מחדש עוד לא נכנס לתוקף.
- כדי שעדכונים יותקנו מעצמם, הגדירו Automatic Updates ב-הגדרות: מיד כשגרסה יוצאת (נבדק כל שעה) או בשעה שתבחרו.
חזרה לגרסה קודמת, או התקדמות לגרסה מסוימת
- פתחו את עדכונים וגללו אל Versions. הטבלה למעלה מראה איזו גרסה רצה על הקונסול ועל כל שרת, ואילו שרתים מוחזקים.
- תחת Published releases, בחרו Roll back… (או Upgrade…) ליד הגרסה הרצויה.
- בחלון, בחרו Whole cluster, Console only או One node. What happens מפרט כל צעד לבחירה הזו, שרת אחר שרת, לפני שמשהו רץ.
- אשרו. המשימה שומרת קודם תמונת מצב של הקונסול ואז מתקינה; עקבו אחריה בעמוד משימות.
- כדי לבטל, בחרו Snapshots ו-Restore… לתמונת המצב שנלקחה רגע לפני. כדי ששרת מוחזק יחזור לקבל גרסאות חדשות, בחרו Release hold בשורה שלו.
מוכנות1.0
מה עומד בין ההתקנה הזו לבין הרצת המכונה הווירטואלית הראשונה שלה: כל ממצא עם חומרתו, למה הוא חשוב והפקודה שמתקנת אותו. בדיקה שלא יכולה לומר מה לעשות — לא נכללת.
איך משתמשים בזה
- פתחו את לוח בקרה — זה העמוד שהקונסול נפתח בו אחרי הכניסה.
- קראו את רשימת המוכנות מלמעלה: לכל ממצא יש חומרה, הסבר למה הוא חשוב, והפקודה או העמוד שמתקנים אותו.
- תקנו קודם את הממצאים החוסמים; הם מה שעומד בין ההתקנה לבין המכונה הווירטואלית הראשונה.
- לחצו Create VM (יצירת מכונה) בלוח הבקרה כדי ליצור מכונה, או All VMs כדי לעבור לרשימה המלאה.
העמוד הזה נוצר מהמוצר עצמו. טסט נכשל אם קיים עמוד בקונסול בלי ערך כאן, כך שפיצ׳ר לא יכול לצאת בלי להופיע בעמוד הזה.