הפקודות ה-10 המובילות ב-CLI שכל מנהל צריך לדעת ב-Proxmox

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

קיימות פקודות סטנדרטיות של Linux ופקודות ספציפיות ל-Proxmox כדי לנהל את סביבות הווירטואליזציה של Proxmox. בפוסט הבלוג הזה נדבר על עשרת הפקודות הספציפיות ל-Proxmox ונציג דוגמאות לניהול יעיל.

1. qm

הפקודה qm היא אחת מהפקודות הראשיות ב-CLI של Proxmox, ו- qm מקוצרת ל-QEMU Manager. היא משמשת לניהול מכונות וירטואליות (VMs) בסביבת הווירטואליזציה של Proxmox (Proxmox VE). מכונות וירטואליות ב-Proxmox מבוססות על QEMU/KVM, והפקודה qm מתקשרת איתן. ניתן ליצור, לערוך, להגדיר, להפעיל, לעצור ולהעביר VMs באמצעות פקודה זו.

התחביר הכללי של הפקודה הוא:

qm [options] <command> [arguments]

רשימת מכונות וירטואליות

ניתן לראות את מצב ה-VM ואת ה-ID. ייתכן שתזדקקו ל-ID כדי לנהל את ה-VM הזו ב-CLI של Proxmox.

qm list

יצירת מכונה וירטואלית חדשה

התחביר הכללי:

qm create <vmid> [options]

דוגמה:

qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26

הפקודה הבאה ב-CLI של Proxmox יוצרת מכונת וירטואלית עם המזהה 103 ושמה "DebianVM" עם 2GB זיכרון, 1 סוקט, 2 ליבות וממשק רשת Virtio מחובר ל-vmbr0. סוג המערכת הוא Linux (מסומן על ידי l26).

צירוף דיסק למכונה וירטואלית

qm set 105 --scsi0 local-lvm:32G

מצרף דיסק בנפח 32GB למכונה הווירטואלית באמצעות ממשק SCSI.

צירוף כונן CD-ROM להתקנת מערכת ההפעלה

qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom

הפקודה מצרפת ISO של Debian לכונן CD-ROM של המכונה הווירטואלית להתקנת מערכת ההפעלה אורח או למטרות אחרות.

הגדרת סדר האתחול

qm set 105 --boot order=ide2;scsi0

הפקודה בדוגמה זו מגדירה את המכונה הווירטואלית להתחיל מה-CD-ROM תחילה (IDE2), ואז מהדיסק (SCSI0).

הפעלת מכונה וירטואלית

תחביר:

qm start <vmid>

דוגמה:

qm start 103

מפעיל את המכונה עם המזהה 103

עצירת מכונה וירטואלית

qm stop <vmid>

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

qm stop 103

עצירת המכונה עם המזהה 103.

כיבוי מכונה ב-CLI של Proxmox

qm shutdown <vmid>

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

qm shutdown 101

שולחת סיגנל כיבוי למכונה הוירטואלית עם מזהה 101.

מעבירה מכונה וירטואלית לנוד אחר

qm migrate <vmid> <targetnode>

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

לדוגמה, כדי להעביר מכונה וירטואלית עם המזהה 103 לnode2, ניתן להשתמש בפקודה:

qm migrate 103 node2

לקיחת צילומסך של מכונה וירטואלית

qm snapshot <vmid> <snapshotname>

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

qm snapshot 103 "before_upgrade"

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

שחזור מצב של מכונה וירטואלית מצילומסך

qm rollback <vmid> <snapshotname>

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

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

qm rollback 103 "before_upgrade"

כל שינוי שנעשה מאז שצולם התמונה נדחה (בוטל).

שכפול מכונה וירטואלית

qm clone <vmid> <newid> [--name <newname>] [--full]

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

qm clone 103 104 --name "DebianClone" --full

פקודה זו משכפלת את המכונה עם מזהה 103 למכונה חדשה עם מזהה 104, בשם “DebianClone“. האופציה full יוצרת שכפול מלא, מעתיקה את כל הנתונים.

שינוי גודל הדיסק של מכונה וירטואלית

qm resize <vmid> <disk> <size>

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

qm resize 103 scsi0 +10G

פקודת CLI של Proxmox זו מגדילה את גודל הדיסק scsi0 במכונה עם מזהה 103 ב-10GB.

2. pve-firewall

הפקודה pve-firewall משמשת לניהול הגדרות הגישה בצמתי ה- Proxmox, כולל אשפה של Proxmox. פקודת CLI של Proxmox זו מספקת אפשרויות ידידותיות להגדרת כללי אשפה ומאפשרת למנהלים לשלוט בתעבורת הרשת לצמתי Proxmox, מכונות וקונטיינרים. האשפה של Proxmox משולבת באופן צמוד עם ממשק הניהול של Proxmox והופכת את ניהול האשפה ברחבי הסביבה של Proxmox לנוח יותר. הכלי pve-firewall פותח במיוחד עבור Proxmox VE ומשתמש בהפשטה ברמה גבוהה כדי לנהל כללי אשפה בהשוואה לגישה היותר גרנולרית וידנית המשמשת ב- iptables.

תחביר:

pve-firewall <command> [options]

הפעל את הפקודה pve-firewall כדי לראות את שימוש הפקודה הראשי.

בדוק את המצב

בדיקת מצב שירות האשפה של Proxmox VE:

pve-firewall status

הפלט מציג אם האשפה רצה או לא על הצומת הנוכחית.

הפעל את האשפה

הפעלת שירות האשפה בצומת Proxmox הנוכחית:

pve-firewall start

טען מחדש את האשפה

טעינה מחדש של שירות האשפה והחלפת שינויי הגדרות האשפה בלי צורך לעצור ולהתחיל מחדש את שירות האשפה.

pve-firewall reload

קבל תעבורת SSH

יצירת כלל אשפה שמקבל תעבורת SSH:

pve-firewall create rule -action accept -macro ssh

פקודה זו יוצרת חוק המאפשר גישה SSH לסביבת Proxmox.

איפה: create <object> יוצר אובייקט חומת אש חדש, כגון חוק, קבוצת אבטחה או קבוצת IP.

מחק חוק

כדי למחוק את החוק, השתמש בפקודה:

pve-firewall delete rule <rule-id>

הצג יומן

הצג את יומן חומת האש, המציג תעבורה והתאמות חוק:

pve-firewall log

הפלט מציג את הכניסות האחרונות ביומן חומת האש.

דחה תעבורת HTTP

כדי ליצור חוק חומת אש המדחיק כל תעבורת HTTP, השתמש בפקודה:

pve-firewall create rule -action drop -macro http

3. pvesm

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

תחביר:

pvesm <command> [options]

רשום אחסון

pvesm list <storage>

איפה <storage> הוא שם בריכת האחסון (datastore) שיש לרשום.

בדוק את מצב כל בריכות האחסון או ספציפיות

pvesm status

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

יצירת בריכת אחסון חדשה

pvesm create <type> <storage-id> --options

כאשר:

<type> הוא סוג תחתית של אחסון ליצירה (לדוגמה, dir, lvm, nfs, zfs).

<storage-id> הוא השם או המזהה היחודי של בריכת האחסון.

options מגדיר את האפשרויות הנוספות המיוחדות לסוג האחסון.

דוגמה:

יצירת בריכת אחסון מבוססת ספרייה חדשה בשם new-datastore1 הממוקמת ב-/mnt/storage-name, שיכולה לאחסן תמונות של מכונות וירטואליות וקבצי ISO:

pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso

הוספת תחתית אחסון קיימת ל- Proxmox VE

עקרון פעולת פקודה זו דומה לפקודת pvesm create, אך במקום ליצור אחסון חדש, האחסון שכבר קיים מתווסף לתצורת Proxmox כדי להפוך אותו לזמין.

דוגמה:

הוספת שיתוף NFS קיים הממוקם ב-192.168.101.100 ב-/export/data ל- Proxmox VE בשם test-nfs-storage:

pvesm add nfs test-nfs-storage --server 192.168.101.100 --export /export/data --path /mnt/pve/test-nfs-storage --content images,iso

שינוי תצורת מאגר אחסון קיים

pvesm set <storage-id> --options

דוגמה:

שינוי מאגר local-storage01 כדי לאפשר לו לאחסן תמונות VM, קבצי ISO וקבצי גיבוי:

pvesm set local-storage01 --content images,iso,backup

הקצאת נפח חדש על מאגר אחסון ספציפי עבור VM או קונטיינר

pvesm alloc <storage-id> <vmid> <size>

דוגמה:

הפקודה להקצאת נפח של 10 GB על מאגר local-storage-name עבור VM 100:

pvesm alloc local-storage-name 100 10G

4. pveum

סביבת הווירטואליזציה Proxmox מאפשרת לך ליצור משתמשים מרובים לניהול Proxmox VE. זה יכול להתבצע עם פקודות CLI של Proxmox באמצעות הפקודה pveum (ניהול משתמשים). מנהלי Proxmox יכולים לנהל משתמשים וקבוצות ול konfigur למערכות בקרת גישה והרשאות. זה, בתורו, מגדיר מי יכול לגשת ומורשה לנקוט בפעולה על חלקים שונים בתשתית Proxmox. מנהלים יכולים להקצות הרשאות לגישה לאובייקטים, כגון מכונות וירטואליות, אחסון, צמתים בקלאסטר וכו'.

תחביר:

pveum <command> [options]

הוספת המשתמש החדש ל-Proxmox VE

pveum useradd <userid> --password <password> --comment <comment> --groups <group>

איפה:

סיסמה <password> היא הסיסמה עבור המשתמש החדש.

הערה <comment> היא הערה או תיאור אופציונלי עבור המשתמש.

קבוצות <group> היא הקבוצה (או קבוצות) אליהן המשתמש צריך להשתייך.

דוגמה:

pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – קבוצת מנהלים" --groups admin

פקודה זו משמשת להוסיף משתמש בשם user2 לקבוצת מנהלים עם תיאור ולקבוע את הסיסמה למשתמש זה.

מחיקת משתמש

כדי למחוק משתמש, השתמש בפקודת pveum עם אותה לוגיקה כמו בהוספת משתמש, לדוגמה:

pveum userdel user3@pve

פקודה זו משמשת למחוק את user3 בשרת Proxmox.

יצירת קבוצה

כדי ליצור קבוצה חדשה ב-CLI של Proxmox, השתמש בפקודת groupadd.

תחביר:

pveum groupadd <groupname> --comment <comment>

דוגמה:

pveum groupadd support --comment "קבוצת צוות תמיכה"

פקודה זו יוצרת קבוצה חדשה בשם support עם התיאור “קבוצת צוות תמיכה“.

מחיקת קבוצה

בדומה למחיקת משתמש, אתה יכול למחוק קבוצה. לדוגמה, כדי למחוק קבוצת guests, תוכל להשתמש בפקודה:

pveum groupdel guests

הוספת תפקידים

תפקידים משמשים להגדיר مجموعه של הרשאות עבור משתמשים וקבוצות שאליהם התפקיד הזה משויך.

תחביר:

pveum roleadd <rolename> --privs <privileges>

איפה:

<rolename> הוא השם של התפקיד שברצונך ליצור.

privs <privileges> היא רשימה מופרדת בפסיקים של הרשאות להקצות לתפקיד (למשל, VM.PowerMgmt,VM.Config.Disk).

דוגמה:

pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM

הפקודה הזו יוצרת תפקיד בשם vmmanager עם הרשאות לנהל הגדרות כוח של VM ול konfigur CD-ROMs.

שינוי תפקיד קיים

מנהלנים יכולים לשנות תפקידים וההרשאות הקיימות עם הפקודה rolemod (להוסיף או להסיר הרשאות).

תחביר:

pveum rolemod <rolename> --privs <privileges>

דוגמה:

pveum rolemod vmmanager --privs +VM.Config.Network

הפקודה הזו מוסיפה את ההרשאה VM.Config.Network לתפקיד vmmanager.

שינוי ACL

מנהלני Proxmox יכולים לשנות רשימות בקרת גישה (ACL) על ידי הקצאת תפקידים למשתמשים או קבוצות על אובייקטים ספציפיים של Proxmox.

תחביר:

pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>

איפה:

<path> הוא הנתיב של האובייקט שעליו יש להגדיר את ה-ACL (למשל, /vms/100 עבור VM ספציפי או / עבור כל הקלאסטר).

roles <rolename> היא התפקיד שברצונך להקצות.

users <userid> הוא המשתמש שאליו מוקצה התפקיד.

groups <groupname> היא הקבוצה שאליה מוקצה התפקיד.

דוגמה:

pveum aclmod /vms/104 --roles vmmanager --users user4@pve

פקודה זו מקצה את התפקיד vmmanager ל-user4@pve על VM 104, ומאפשרת למשתמש (user4) לנהל את ה-VM הספציפי הזה בהתאם להרשאות בתפקיד vmmanager. פקודת aclremove משמשת להסרת ACLs מאובייקטים בהתאם.

ניהול תחום אימות

תחום אימות מגדיר כיצד משתמשים מאמתים את עצמם במערכת (למשל, באמצעות PAM, LDAP, או Active Directory). אתה יכול לנהל תחומי אימות באמצעות פקודת realm ב-Proxmox VE.

תחביר:

pveum realm <command> [options]

כאשר הפקודה יכולה להיות:

list לרשום את כל התחומים הזמינים

add להוסיף תחום חדש

modify לשנות תחום קיים

הסרה כדי להסיר ממלכה קיימת

לדוגמה, כדי לרשום את כל ממלכות האימות שהוגדרו ב-Proxmox VE, השתמש בפקודה:

pveum realm list

ניהול משתמשים קיימים

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

תחביר:

pveum user <command> <userid> [אפשרויות]

הפקודות יכולות להיות:

רשימה כדי לרשום את כל המשתמשים

שינוי כדי לשנות פרטי משתמש, כגון שינוי סיסמה או עדכון ההערה

מחיקה כדי למחוק משתמש

לדוגמה, כדי לרשום את כל המשתמשים על מארח Proxmox, השתמש בפקודה:

pveum user list

כדי לראות עוד פקודות ואפשרויות זמינות, הרץ את פקודת pveum help ב-Proxmox CLI.

5. pvesh

באמצעות פקודת pvesh, מנהלים יכולים אינטראקציה עם ה-API REST של Proxmox. כלי שורת הפקודה הזה מאפשר לך לבצע כמעט כל פעולה שניתן לבצע דרך ממשק האינטרנט של Proxmox ישירות מ-Proxmox CLI. פקודת pvesh פועלת כש_shell_ עבור ה-API REST של Proxmox VE, ומאפשרת לך לבצע קריאות API באמצעות פקודות ישירות משורת הפקודה. באמצעות פקודה זו, תוכל לנהל מכונות וירטואליות, אחסון, רשת ואלמנטים אחרים של תשתית הוירטואלית של Proxmox.

תחביר:

pvesh <command> [אפשרויות]

רישום משאבים או נקודות קצה של API

הפקודה הזו דומה לפקודת ls בלינוקס, אבל היא מציגה את הנתיבים או המשאבים הזמינים בסביבת Proxmox VE.

pvesh ls /path

דוגמה:

pvesh ls /cluster/resources

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

שליפת מידע

פקודת get שולפת מידע מנקודת API ספציפית. הפקודה הזו משמשת לשאול משאב על פרטים.

pvesh get /path

כאשר path הוא הנתיב של ה-API שממנו אתה רוצה לשלוף מידע.

לדוגמה, כדי לשלוף את המידע על הסטטוס של הצומת pve-node1, כגון עומס CPU, שימוש בזיכרון וזמן פעולה, אתה יכול להשתמש בפקודה:

pvesh get /nodes/pve-node1/status

שינוי ההגדרות

פקודת set משמשת לשינוי או עדכון ההגדרות של משאב. זה שווה ערך לביצוע בקשת POST או PUT ב-REST API.

תחביר:

pvesh set /path --key value [--key value ...]

key value הם זוגות מפתח-ערך של ההגדרות שברצונך לשנות.

דוגמה:

pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name

הפקודה הזו משנה את השם של מכונה וירטואלית 100 על הצומת pve-node1 ל-new-vm-name.

יצירת משאב

הפקודה create מאפשרת לך ליצור משאב חדש, כמו מכונת VM חדשה או נפח אחסון.

סינטקס:

pvesh create /path --key value [--key value ...]

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

pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2

הפקודה הזו יוצרת מכונת VM חדשה עם מזהה 106 על הצומת pve-node1, עם השם new-vm-name, 2 GB של RAM ו-2 ליבות CPU.

הפעלת מכונות VM

יש פקודה להפעיל מכונת VM או מיכל עם pvesh:

pvesh start /path

למשל, כדי להפעיל את מכונת ה-VM עם מזהה 101 על הצומת pve-node1, אתה יכול להריץ את הפקודה:

pvesh start /nodes/pve-node1/qemu/101

כיבוי מכונת VM

בניגוד לפקודת ה-stop, פקודת ה-shutdown מכבה מכונת VM או מיכל בצורה מסודרת:

pvesh shutdown /path

למשל, כדי לכבות מכונת VM עם מזהה 101 על מארח Proxmox, ששמו pve-node1, השתמש בפקודה:

pvesh shutdown /nodes/pve-node1/qemu/101

הפעלת כל מכונות VM

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

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

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

תחביר:

pvecm <פקודה> [אפשרויות]

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

man pvecm

יצירת אשכול

כדי ליצור אשכול Proxmox VE חדש, ניתן להשתמש בפקודת create . יש להריץ פקודה זו על הצומת הראשונה (צומת ראשית) שתצור את האשכול.

pvecm create <שם-אשכול>

דוגמה:

הפקודה למטה יוצרת אשכול בשם cluster01. הצומת זו (בה אנו מריצים את הפקודה) מתהווה לצומת ראשית של האשכול.

pvecm create cluster01

הוספת צומת לאשכול

השתמשו בפקודת addnode כדי להוסיף צמתים חדשים לאשכול Proxmox קיים. יש להריץ פקודה זו על צומת שברצונכם להוסיף לאשכול.

pvecm add <כתובת-IP-של-צומת-ראשית>

דוגמה:

הוספת המארח Proxmox הנוכחי לאשכול שנשלט על ידי צומת ראשית עם כתובת ה-IP 192.168.101.121:

pvecm add 192.168.101.121

מחיקת צומת מאשכול

הפקודה delnode משמשת ב- Proxmox CLI כדי להסיר צומת מהאשכול.

תחביר:

pvecm delnode <nodename>

דוגמה:

הפקודה להסרת הצומת בשם pve-node2 מהאשכול היא:

pvecm delnode pve-node2

רישום כל הצמתים של אשכול

הפקודה לרשימת כל הצמתים באשכול והצגת מצבם, כולל שמות הצמתים וכתובות IP שלהם, היא:

pvecm nodes

הגדרת הצומת הראשי החדש

ניתן להגדיר צומת אחר להיות ראשי באשכול של Proxmox:

pvecm setmaster <nodename>

כאשר <nodename> הוא שם הצומת שברצונך להזין כראשי.

הצגת מצב האשכול

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

pvecm status

הגדרת מספר הצמתים הצפוי

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

pvecm expected <number>

7. hamanager

הפקודה hamanager משמשת לניהול תכונת הזמינות הגבוהה (HA) עבור מכונות וירטואליות לאחר יצירת אשכול Proxmox. כלי שורת הפקודה הזה מאפשר לך להגדיר זמינות גבוהה עבור מכונות וירטואליות קריטיות ולקבוע כיצד להפעיל אותן מחדש באשכול אם הצומת שבו הן פועלות נכשל. הכלי hamanager ב-Proxmox CLI מתקשר עם מנהל זמינות גבוהה של Proxmox.

תחביר:

ha-manager <command> [options]

צפייה במצב

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

ha-manager status

הפלט מציג מידע על אילו מכונות וירטואליות או CTs מוגדרות ל-HA, המצב הנוכחי שלהן (מתחילות, נעצרות), כולל מצב ה-HA ומצב כישלון, ואיזה צומת הן פועלות עליו.

הפעלת HA עבור VM

תחביר:

ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>

איפה:

<vmid> הוא מזהה של ה-VM או ה-CT שברצונך להוסיף ל-HA.

group <groupname> הוא קבוצת HA שאליה יש להוסיף את המשאב (אופציונלי).

max-restarts <n> הוא מספר הניסיונות המקסימלי להפעיל מחדש אם המשאב נכשל.

max-migrate-tries <n> הוא מספר הניסיונות המקסימלי למעבר לצומת אחר אם המשאב אינו יכול להופעל מחדש.

דוגמה:

הוספת VM עם מזהה 105 למנהל HA עם מקסימום של 3 ניסיונות הפעלה מחדש וניסיון אחד של העברה במקרה של כישלון:

ha-manager add 105 --max-restarts 3 --max-migrate-tries 1

השבתת מצב ה-HA של VM

השתמש בפקודת remove כדי להשבית את מצב הזמינות הגבוהה של מכונה וירטואלית ולהסיר את ה-VM ממנהל ה-HA.

ha-manager remove <vmid>

לדוגמה, כדי להשבית את מצב ה-HA עבור ה-VM עם מזהה 105, הרץ את הפקודה:

ha-manager remove 105

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

העברת VM

אתה יכול להעביר ידנית VM עם זמינות גבוהה node אחר באשכול באמצעות פקודת migrate:

ha-manager migrate <vmid> <targetnode>

לדוגמה, כדי להעביר VM עם מזהה 106 ל-node שנקרא pve-node2, הרץ את הפקודה:

ha-manager migrate 106 pve-node2

8. vzdump

הפקודה vzdump משמשת ליצירת גיבויים ב-Proxmox VE עם כלים מקוריים של Proxmox. פקודה זו תומכת בגיבוי של VMs ומיכלים. גיבויים יכולים להישמר בפורמטים .vma, .tgz או .lzo.

תחביר:

vzdump [options] <vmid> [<vmid2> ...]

איפה:

vmid הוא מזהה של VM או מיכל שברצונך לגבות.

–מצב <מצב> מגדיר את מצב הגיבוי. יש שלושה מצבי גיבוי נתמכים:

  • snapshot – יוצר צילום חי של מכונת וירטואל או תקופה ב־Proxmox. מצב זה משמש כברירת המחדל ומאפשר לך לבצע גיבוי כאשר מכונת הווירטואל או התקופה פועלות.
  • suspend – מצב זה משמש להשעית את מכונת הווירטואל או התקופה לפני ביצוע הגיבוי ומאפשר לך לוודא שהנתונים עקביים. התקופה הקצרה שנגרמת על ידי מצב זה היא חסרון.
  • stop – עוצר את מכונת הווירטואל או התקופה לפני ביצוע הגיבוי. גישה זו מאפשרת לך לשמור על עקביות נתוני הגיבוי אך דורשת זמן השהייה מוארך יותר.

–דחיס <סוג> משמש לציין את שיטת הדחיסה. יש שלושה אפשרויות דחיסה נתמכות:

  • lzo – דחיסה קלה ומהירה עבור גיבוי Proxmox (משמש כברירת המחדל).
  • gzip – זו שיטת דחיסה יעילה יותר אך דורשת יותר זמן לדחוס נתונים (דחיסה איטית יותר).
  • zstd – סוג דחיסה זה משתמש באלגוריתם דחיסה מודרני המציע יחסי דחיסה גבוהים עם ביצועים אופטימליים.

–אחסון <אחסון> מציין את היעד לאחסון של קובץ הגיבוי. זה יכול להיות ספרייה מקומית, שיתוף NFS, או בריכת אחסון של Proxmox.

–קבציםמרביים <n> מגביל את מספר קבצי הגיבוי שיש לשמור. הגיבויים הישנים נמחקים אוטומטית אם המגבלה מתקיימת.

הסרת <mode> מסירה אוטומטית קבצי גיבוי בהתאם למצב שנבחר. המצב כולל:

  • ישן – מסיר גיבויים ישנים כאשר גיבויים חדשים נוצרו.
  • כישלון – מסיר רק גיבויים שנכשלו.

גיבוי מספר מכונות וירטואליות

גיבוי מכונות וירטואליות עם מזהים 101, 102, ו-103 באופן רציף:

vzdump 101 102 103

שמור גיבוי עם דחיסה

vzdump 101 --storage local --compress gzip --maxfiles 3

הפקודה vzdump עם אפשרויות אלו מבצעת את הפעולות הבאות:

  • שומרת את הגיבוי של VM 101 לאחסון הנקרא local. אחסון מקומי יכול להיות תיקייה מקומית על מארח פרוקסמוס או בריכת אחסון.
  • הדחיסה gzip משמשת. יצירת גיבוי מוצפן עם דחיסת gzip עשויה לקחת יותר זמן, אך בסופו של דבר תקבל קובץ גיבוי קטן יותר.
  • שומרים רק את 3 הגיבויים האחרונים ביותר, בעוד שגיבויים ישנים נמחקים אוטומטית.

השמטת קבצי יומן

vzdump 102 --exclude-path /var/log

גיבוי VM 102 אך משמיט את /var/log תיקייה, מה שמפחית את גודל הגיבוי על ידי השמטת קבצי יומן.

הסרת גיבויים ישנים

vzdump 101 --storage nfs-backup --maxfiles 5 --remove old

זהו גיבוי אוטומטי עם הסרת גיבויים ישנים. הוא גיבוי את ה-VM 101, שומר את הגיבוי באחסון nfs-backup, ושומר רק את 5 הגיבויים האחרונים ביותר, תוך מחיקת כל גיבוי ישן באופן אוטומטי.

גיבוי במצב תמונה

vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7

יצירת גיבויים (כגון גיבוי לילי) של כל ה-VMים והמיכלים באמצעות מצב גיבוי תמונה. הגיבויים נשמרים בשיתוף NFS שנקרא nfs-backup. רוחב הפס מוגבל ל-20480 קילובייט לשנייה (20 MBps) כדי למנוע עומס על הרשת. רק 7 הגיבויים האחרונים נשמרים, וגיבויים ישנים מוסרים אוטומטית.

9. qmrestore

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

תחביר:

qmrestore [options] <backupfile> <vmid>

איפה:

<backupfile> הוא הנתיב לקובץ הגיבוי שברצונך לשחזר. קובץ זה נוצר בדרך כלל על ידי הפקודה vzdump ונשמר בתיקיה או על מכשיר אחסון ברשת.

<vmid> הוא ה-ID של ה-VM שברצונך לשחזר. אם ה-ID של ה-VM כבר קיים, ה-VM הקיים יימחק אלא אם ייעשה שימוש באופציות ספציפיות כדי למנוע זאת.

אופציות הפקודה:

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

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

storage <storage> מציין את המיקום המטרה לאחסון תמונות דיסק וירטואליות של המכונה השוחזרת. אם לא צוינה אפשרות זו, אז המכונה הווירטואלית תשוחזר לאחסון המקורי שלה או לאחסון ברירת המחדל.

pool <pool> מאפשר לך להקצות את המכונה השוחזרת לבריכת משאב מסוימת בסביבת הווירטואלית של Proxmox. בריכות משאב משמשות לקיבוץ מכונות וירטואליות לניהול קל יותר.

hostname <name> מגדיר את שם המארח של המכונה השוחזרת. אפשרות זו שימושית אם ברצונך להגדיר שם מארח שונה למכונה השוחזרת מהשם המקורי.

name <name> מגדיר שם מותאם אישית עבור המכונה השוחזרת (שם שמוצג בממשק המשתמש של Proxmox), שונה משם המקורי של המכונה שנגבתה.

שחזור מכונה על ידי ID מקורי

שחזור מכונה למזהה המקורי שלה:

qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101

הפקודה הזו משחזרת את קובץ הגיבוי vzdump-qemu-101-2023_08_27-00_00_00.vma ל-VM עם ה- ID 101. אם כבר קיימת VM עם ה- ID 101, היא תימחק ותוחלף.

שחזור גיבוי ל-VM חדש

משחזרים את הגיבוי ל-VM חדש:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm

הפקודה הזו משחזרת את הגיבוי ל-VM חדש עם ה- ID 102, ושומרת את תמונות הדיסק שלה באחסון local-lvm.

שחזור ושינוי שם מארח ושם VM

משחזרים את הגיבוי ומשנים את שם המארח והשם:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"

משחזרים את הגיבוי ל-VM חדש עם ה- ID 103, משנים את שם ה- VM ל- MyRestoredVM ומגדירים את שם המארח שלה ל- restored-vm.

10. proxmox-backup-client

הפקודה proxmox-backup-client היא כלי שורת פקודה המשמש בשילוב עם Proxmox Backup Server, פתרון גיבוי נייטיבי של Proxmox, המשמש לפעולות גיבוי ושחזור. כלי זה מאפשר למנהלים להגן על מכונות וירטואליות, תוכניות וסוגים אחרים של נתונים. הכלי proxmox-backup-client מתקשר עם שרת גיבוי של Proxmox (PBS) כדי לנהל גיבויים

תחביר:

proxmox-backup-client <command> [options]

תחביר הפקודת הגיבוי הבסיסי

proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]

איפה:

<archive-name> הוא השם שתרצה לתת לארכיון הגיבוי.

<path> מגדיר את הנתיב למדריך או קובץ שתרצה לגבות.

repository <repository> הוא מאגר היעד בשרת הגיבוי Proxmox, בדרך כלל בצורה של user@pbs:datastore

דוגמה:

proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1

פקודה זו מגבה את מדריך /etc למאגר datastore1 בשרת הגיבוי Proxmox הממוקם ב10.10.10.101. הגיבוי נשמר כארכיון בשם etc.pxar.

התחביר הבסיסי של פקודת השחזור

פקודת השחזור עבור הכלים בשורת הפקודה proxmox-backup-client משמשת לשחזור נתונים משרת גיבוי Proxmox למערכת המקומית.

proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]

איפה:

<archive-name> הוא השם של הארכיון שתרצה לשחזר.

<path> הוא הנתיב שבו הנתונים צריכים להיות משוחזרים.

repository <repository> הוא המאגר שבו נשמר הגיבוי.

דוגמה:

proxmox-backup-client restore etc.pxar /restore/etc --repository root@[email protected]:datastore1

הפקודה הזאת משחזרת את הארכיון etc.pxar מdatastore1 על שרת הגיבוי של Proxmox ב10.10.10.101 לתיקייה המקומית /restore/etc.

סיכום

פקודות ה-CLI של Proxmox הן סט רב עוצמה של כלים לניהול הסביבה הווירטואלית של Proxmox, כולל אחסון, מכונות וירטואליות, אשכולות, גיבוי מכונות וירטואליות וכו'. אם אתה רוצה ליישם אסטרטגיית גיבוי כוללת למכונות וירטואליות, התקן את NAKIVO Backup & Replication והשתמש ביכולת הגיבוי ללא סוכן עבור מכונות ה-VE של Proxmox.

Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands/