أهم 10 أوامر لواجهة سطر الأوامر Proxmox التي يجب على كل مسؤول معرفتها

يمكن إدارة بيئة Proxmox الافتراضية (VE) من خلال واجهة رسومية سهلة الاستخدام في متصفح الويب. ومع ذلك، في سيناريوهات محددة، من الأفضل استخدام واجهة سطر الأوامر (CLI). توفر واجهة سطر الأوامر مزايا مثل التكوين الأكثر تفصيلاً، المعالجة الدفعة، البرمجة النصية والأتمتة.

هناك أوامر لينكس القياسية وأوامر محددة لـ Proxmox لإدارة بيئات Proxmox الافتراضية. تتناول هذه المدونة أفضل 10 أوامر محددة لـ Proxmox مع أمثلة للإدارة الفعالة.

1. qm

أمر qm هو أحد الأوامر الرئيسية في واجهة سطر أوامر Proxmox، وqm هو اختصار لمدير QEMU. يُستخدم لإدارة الآلات الافتراضية (VMs) في بيئة Proxmox الافتراضية (Proxmox VE). الآلات الافتراضية على Proxmox تعتمد على QEMU/KVM، وأمر qm يتفاعل معها. يمكنك إنشاء، تعديل، تكوين، بدء، إيقاف وترحيل VMs باستخدام هذا الأمر.

الصيغة العامة للأمر هي:

qm [options] <command> [arguments]

قائمة الآلات الافتراضية

يمكنك رؤية حالة VM وID. قد تحتاج إلى ID لإدارة هذه VM في واجهة سطر أوامر Proxmox.

qm list

إنشاء آلة افتراضية جديدة

الصيغة العامة:

qm create <vmid> [options]

مثال:

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

الأمر النصي 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.

إيقاف تشغيل آلة افتراضية في Proxmox CLI

qm shutdown <vmid>

يقوم هذا الأمر بإيقاف تشغيل جهاز افتراضي بسلام، مما يسمح لنظام التشغيل الضيف بإغلاق الملفات وإنهاء العمليات بشكل صحيح.

qm shutdown 101

إرسال إشارة إيقاف تشغيل إلى الجهاز الافتراضي الذي يحمل المعرف 101.

نقل جهاز افتراضي إلى عقدة أخرى

qm migrate <vmid> <targetnode>

يقوم هذا الأمر بنقل جهاز افتراضي من عقدته الحالية إلى عقدة أخرى داخل نفس مجموعة Proxmox.

على سبيل المثال، لنقل جهاز افتراضي يحمل المعرف 103 إلى node2، يمكننا استخدام الأمر:

qm migrate 103 node2

أخذ لقطة لجهاز افتراضي

qm snapshot <vmid> <snapshotname>

يخلق هذا الأمر لقطة للجهاز الافتراضي، تلتقط حالته الحالية، بما في ذلك الذاكرة، القرص وحالة الأجهزة.

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

هذا الأمر من واجهة سطر الأوامر Proxmox يزيد من حجم قرص scsi0 على الآلة الافتراضية التي تحمل المعرف 103 بمقدار 10 جيجابايت.

2. جدار حماية pve

تستخدم الأمر 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 في واجهة سطر الأوامر 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 للسماح لها بتخزين صور الأجهزة الافتراضية، وملفات ISO، وملفات النسخ الاحتياطي:

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

تخصيص حجم جديد في مجموعة تخزين محددة لجهاز افتراضي أو حاوية

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

مثال:

الأمر لتخصيص حجم 10 جيجابايت في مجموعة local-storage-name لجهاز افتراضي 100:

pvesm alloc local-storage-name 100 10G

4. pveum

تسمح بيئة Proxmox الافتراضية بإنشاء عدة مستخدمين لإدارة Proxmox VE. يمكن القيام بذلك باستخدام أوامر Proxmox CLI من خلال استخدام الأمر pveum (إدارة المستخدمين). يمكن لمشرفي Proxmox إدارة المستخدمين والمجموعات وتكوين ضوابط الوصول والأذونات. وهذا، بدوره، يحدد من يمكنه الوصول ومن يُسمح له باتخاذ إجراء على الأجزاء المختلفة من بنية 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 – admin group" --groups admin

تُستخدم هذه الأمر لإضافة مستخدم اسمه user2 إلى مجموعة admin مع وصف وتعيين كلمة المرور لهذا المستخدم.

حذف مستخدم

لحذف مستخدم، استخدم أمر pveum بنفس المنطق المستخدم في إضافة مستخدم، على سبيل المثال:

pveum userdel user3@pve

تُستخدم هذه الأمر لحذف user3 على مضيف Proxmox.

إنشاء مجموعة

لإنشاء مجموعة جديدة في واجهة سطر الأوامر Proxmox، استخدم الأمر groupadd.

الصيغة:

pveum groupadd <groupname> --comment <comment>

مثال:

pveum groupadd support --comment "Support Team Group"

تُستخدم هذه الأمر لإنشاء مجموعة جديدة تُسمى support مع الوصف “Support Team Group“.

حذف مجموعة

مماثل لحذف مستخدم، يمكنك حذف مجموعة. على سبيل المثال، لحذف مجموعة 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 مع أذونات لإدارة إعدادات طاقة الأجهزة الافتراضية وتكوين محركات الأقراص المدمجة.

تعديل دور موجود

يمكن للمسؤولين تعديل الأدوار والأذونات الموجودة باستخدام الأمر rolemod (إضافة أو إزالة الأذونات).

الصيغة:

pveum rolemod <rolename> --privs <privileges>

مثال:

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

هذا الأمر يضيف إذن VM.Config.Network إلى دور vmmanager.

تعديل قائمة التحكم بالوصول

يمكن لمشرفي Proxmox تعديل قوائم التحكم بالوصول (ACL) عن طريق تعيين الأدوار للمستخدمين أو المجموعات على كائنات Proxmox معينة.

الصيغة:

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

Where:

<path> هو مسار الكائن الذي يتم تعيين ACL عليه (على سبيل المثال، /vms/100 لجهاز VM محدد أو / للمجموعة بأكملها).

roles <rolename> هو الدور المراد تعيينه.

users <userid> هو المستخدم الذي سيتم تعيين الدور له.

groups <groupname> هو المجموعة التي سيتم تعيين الدور لها.

Example:

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

تعيين الدور vmmanager للمستخدم user4@pve على جهاز VM 104، مما يسمح للمستخدم (user4) بإدارة تلك الجهاز الافتراضي الخاص وفقًا لصلاحيات الدور 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> [options]

يمكن أن تكون الأوامر:

إدراج لإدراج جميع المستخدمين

تعديل لتعديل تفاصيل المستخدم، مثل تغيير كلمة المرور أو تحديث التعليق

حذف لحذف مستخدم

على سبيل المثال، لإدراج جميع المستخدمين على مضيف Proxmox، استخدم الأمر:

pveum user list

لرؤية المزيد من الأوامر والخيارات المتاحة، قم بتشغيل الأمر pveum help في واجهة سطر أوامر Proxmox.

5. pvesh

باستخدام الأمر pvesh، يمكن للمسؤولين التفاعل مع واجهة برمجة تطبيقات Proxmox REST. تتيح لك هذه الأداة من سطر الأوامر القيام تقريبًا بأي إجراء يمكن القيام به عبر واجهة الويب الخاصة بـ Proxmox مباشرة من سطر أوامر Proxmox. يعمل الأمر pvesh كصدفة لواجهة برمجة تطبيقات Proxmox VE REST، مما يسمح لك بإجراء مكالمات API باستخدام الأوامر مباشرة من سطر الأوامر. مع هذا الأمر، يمكنك إدارة الأجهزة الافتراضية، والتخزين، والشبكات، وعناصر أخرى من البنية التحتية الافتراضية لـ Proxmox.

الصياغة:

pvesh <command> [options]

إدراج الموارد أو نقاط نهاية API

هذا الأمر مشابه لأمر ls في نظام لينكس، ولكنه يعرض المسارات أو الموارد المتاحة في بيئة Proxmox VE.

pvesh ls /path

مثال:

pvesh ls /cluster/resources

يعمل هذا الأمر على عرض جميع الموارد في مجموعة Proxmox، بما في ذلك الأجهزة الافتراضية، والحاويات، والتخزين.

استرجاع المعلومات

يسترجع أمر get المعلومات من نقطة نهاية API معينة. يُستخدم هذا الأمر لاستعلام مورد للحصول على تفاصيل.

pvesh get /path

حيث path هو مسار API الذي تريد استرجاع المعلومات منه.

على سبيل المثال، لاسترجاع معلومات الحالة للعقدة pve-node1، مثل تحميل وحدة المعالجة المركزية، واستخدام الذاكرة، ووقت التشغيل، يمكنك استخدام الأمر:

pvesh get /nodes/pve-node1/status

تعديل التكوين

يستخدم الأمر set لتعديل أو تحديث تكوين مورد. هذا يعادل إجراء طلب POST أو PUT في API REST.

الصيغة:

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.

إنشاء مورد

تسمح لك أمر الإنشاء بإنشاء مورد جديد، مثل جهاز افتراضي جديد أو وحدة تخزين.

الصيغة:

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

على سبيل المثال، يمكنك إنشاء جهاز افتراضي جديد مع معلمات محددة باستخدام الأمر:

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

يتم إنشاء جهاز افتراضي جديد مع ID 106 على العقدة pve-node1، بالاسم new-vm-name، وذاكرة 2 جيجابايت و 2 نواة CPU.

بدء الأجهزة الافتراضية

هناك أمر لبدء جهاز افتراضي أو حاوية باستخدام pvesh:

pvesh start /path

على سبيل المثال، لبدء الجهاز الافتراضي مع ID 101 على العقدة pve-node1، يمكنك تشغيل الأمر:

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

إيقاف تشغيل الجهاز الافتراضي

على عكس أمر الإيقاف، يقوم أمر الإيقاف بإيقاف تشغيل الجهاز الافتراضي أو الحاوية بشكل سلس:

pvesh shutdown /path

على سبيل المثال، لإيقاف تشغيل جهاز افتراضي مع ID 101 على مضيف Proxmox، الذي اسمه pve-node1، استخدم الأمر:

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

بدء جميع الأجهزة الافتراضية

للبدء أو الإيقاف لجميع الأجهزة الافتراضية على عقدة أو في الكتلة بأكملها، يمكنك استخدام الأمر المقابل:

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

يعتبر أمر pvecm أداة لإدارة عنقود Proxmox تُستخدم لإدارة وتكوين عنقود Proxmox. يمكنك استخدام هذه الأداة لإنشاء عنقود بالإضافة إلى الانضمام وإدارة العُقد داخل عنقود Proxmox. يتم إدارة العنقود ككيان واحد مع ميزات تكوين مثل التوافر العالي، وهجرة آلية للآلة الظاهرية، والتخزين المشترك، إلخ.

الصيغة:

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 لإزالة عقدة من الكتلة.

الصيغة:

pvecm delnode <اسم_العقدة>

مثال:

الأمر لإزالة العقدة المسماة pve-node2 من الكتلة هو:

pvecm delnode pve-node2

قائمة بجميع العقد في الكتلة

الأمر لعرض جميع عقد الكتلة وعرض حالتها، بما في ذلك أسماء العقد وعناوين IP، هو:

pvecm nodes

تعيين العقدة الرئيسية الجديدة

يمكنك تعيين عقدة أخرى في الكتلة لتكون رئيسية في كتلة Proxmox:

pvecm setmaster <اسم_العقدة>

حيث <اسم_العقدة> هو اسم العقدة التي تريد تعيينها كرئيسية.

عرض حالة الكتلة

يمكنك عرض حالة كتلة Proxmox، بما في ذلك معلومات حول النصاب، وعدد العقد، وأدوارها.

pvecm status

تعيين العدد المتوقع من العقد

يمكنك التحقق من عدد العقد المتوقع لتحقيق النصاب في الكتلة باستخدام أمر expected. قد تحتاج إلى استخدام هذا الأمر عندما تكون بعض العقد في الكتلة غير متصلة مؤقتًا لتجنب الانقطاعات. يُستخدم النصاب لتجنب حالات “الانقسام العقلي” عندما تحتوي عقد الكتلة المختلفة على معلومات متضاربة حول حالة الكتلة.

pvecm expected <رقم>

7. hamanager

يتم استخدام أمر hamanager لإدارة ميزة التوفر العالي (HA) لآلات الافتراضية بعد إنشاء مجموعة Proxmox. يسمح هذا الأداة سطر الأوامر بتكوين التوفر العالي لآلات الافتراضية الحرجة وتحديد كيفية إعادة تشغيلها في مجموعة إذا فشل العقد الذي يعمل عليها. تتفاعل أداة hamanager في واجهة سطر الأوامر لـ Proxmox مع مدير توفر العالي لـ Proxmox.

الصيغة:

ha-manager <command> [options]

عرض الحالة

لعرض الحالة الحالية لموارد التوفر العالي يمكنك استخدام الأمر:

ha-manager status

يعرض الإخراج معلومات حول الآلات الافتراضية أو CTs التي تم تكوينها للتوفر العالي، حالتها الحالية (مشغلة، متوقفة)، بما في ذلك حالة التوفر العالي وحالة الفشل، والعقد الذي تعمل عليه.

تمكين التوفر العالي لآلة افتراضية

الصيغة:

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

حيث:

<vmid> هو معرف الآلة الافتراضية أو CT التي تريد إضافتها إلى التوفر العالي.

group <groupname> هو مجموعة التوفر العالي التي يجب إضافة المورد إليها (اختياري).

max-restarts <n> هو الحد الأقصى لمحاولات إعادة التشغيل إذا فشل المورد.

max-migrate-tries <n> هو الحد الأقصى لمحاولات التهجير إلى عقد آخر إذا لم يمكن إعادة تشغيل المورد.

مثال:

إضافة جهاز افتراضي بالمعرف 105 إلى مدير HA مع حد أقصى لإعادة التشغيل 3 مرات ومحاولة هجرة واحدة في حالة الفشل:

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

تعطيل حالة HA لجهاز افتراضي

استخدم الأمر remove لتعطيل حالة التوفر العالي لجهاز افتراضي وإزالة الجهاز الافتراضي من مدير HA.

ha-manager remove <vmid>

على سبيل المثال، لتعطيل حالة HA لجهاز الافتراضي بالمعرف 105، قم بتشغيل الأمر:

ha-manager remove 105

بعد تشغيل الأمر، سيتم عدم إدارة الجهاز الافتراضي بوصفه موردًا متاحًا بشكل عالي.

هجرة الجهاز الافتراضي

يمكنك نقل جهاز افتراضي متاح بشكل عالي يدويًا إلى عقدة أخرى في العنقود باستخدام الأمر migrate :

ha-manager migrate <vmid> <targetnode>

على سبيل المثال، لنقل جهاز افتراضي بالمعرف 106 إلى عقدة تسمى pve-node2، قم بتشغيل الأمر:

ha-manager migrate 106 pve-node2

8. vzdump

يتم استخدام الأمر vzdump لإنشاء نسخ احتياطية في Proxmox VE باستخدام أدوات Proxmox الأصلية. يدعم هذا الأمر نسخ احتياطية لجهاز الافتراضي وحاوياته. يمكن حفظ النسخ الاحتياطية بتنسيق .vma، .tgz أو .lzo.

الصيغة:

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

حيث:

vmid هو معرف جهاز افتراضي أو حاوية تريد عمل نسخ احتياطية لها.

الوضع <mode> يحدد وضع النسخ الاحتياطي. هناك ثلاثة أوضاع نسخ احتياطي مدعومة:

  • لقطة – تأخذ لقطة حية من آلة افتراضية أو حاوية Proxmox. يتم استخدام هذا الوضع افتراضيًا ويسمح لك بإجراء النسخ الاحتياطي عندما تكون VM أو الحاوية قيد التشغيل.
  • إيقاف مؤقت – يتم استخدام هذا الوضع لتعليق VM أو الحاوية قبل النسخ الاحتياطي مما يسمح لك بالتأكد من أن البيانات متسقة. الوقت القصير من التوقف الناتج عن هذا الوضع هو عيب.
  • إيقاف – يوقف الآلة الافتراضية أو الحاوية قبل إجراء النسخ الاحتياطي. هذه الطريقة تسمح لك بالحفاظ على اتساق بيانات النسخ الاحتياطي ولكن تتطلب فترة توقف أطول.

ضغط <type> يستخدم لتحديد طريقة الضغط. هناك ثلاثة خيارات ضغط مدعومة:

  • lzo – ضغط خفيف وسريع لنسخ Proxmox الاحتياطية (يستخدم افتراضيًا).
  • gzip – هذه طريقة ضغط أكثر كفاءة ولكنها تتطلب مزيدًا من الوقت لضغط البيانات (ضغط أبطأ).
  • zstd – يستخدم هذا النوع من الضغط خوارزمية ضغط حديثة تقدم نسب ضغط عالية مع أداء مثالي.

تخزين <storage> يحدد هدف التخزين لملف النسخ الاحتياطي. يمكن أن يكون هذا دليلًا محليًا، أو مشاركة NFS، أو مجموعة تخزين Proxmox.

الحد الأقصى للملفات <n> يحدد عدد ملفات النسخ الاحتياطي التي يجب الاحتفاظ بها. يتم حذف النسخ الاحتياطية الأقدم تلقائيًا إذا تم الوصول إلى الحد.

تقوم بإزالة <mode> تلقائياً يزيل ملفات النسخ الاحتياطي وفقًا للوضع المحدد. تتضمن الأوضاع:

  • old – يزيل النسخ الاحتياطية القديمة عند إنشاء نسخ جديدة.
  • fail – يزيل النسخ الاحتياطية الفاشلة فقط.

نسخ احتياطية لعدة آلات افتراضية

نسخ احتياطية للآلات الافتراضية بالمعرفات 101، 102 و 103 بشكل متتالي:

vzdump 101 102 103

حفظ النسخة الاحتياطية مع الضغط

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

يقوم الأمر vzdump بهذه الخيارات بالإجراءات التالية:

  • يحفظ نسخة احتياطية للآلة الافتراضية 101 في التخزين المسمى local. يمكن أن يكون التخزين المحلي مجلدًا محليًا على مضيف Proxmox أو مجموعة تخزين.
  • يتم استخدام ضغط gzip. قد يستغرق إنشاء نسخة احتياطية مشفرة بضغط gzip وقتًا أطول، ولكن ستحصل في النهاية على ملف نسخ احتياطية أصغر.
  • يتم الاحتفاظ بالملفات النسخ الاحتياطية الثلاثة الأحدث فقط، بينما يتم حذف القديمة تلقائياً.

تجاهل ملفات السجلات

vzdump 102 --exclude-path /var/log

يقوم بنسخ الآلة الافتراضية 102 ولكن يستبعد المسار /var/log، مما يقلل من حجم النسخة الاحتياطية من خلال تجاهل ملفات السجلات.

يزيل النسخ الاحتياطية القديمة

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

هذا نسخة احتياطية تلقائية مع إزالة النسخ الاحتياطية القديمة. تقوم بعمل نسخة احتياطية من الآلة الافتراضية 101، وتخزن النسخة الاحتياطية في تخزين nfs-backup، وتحتفظ فقط بأحدث 5 نسخ احتياطية، مع حذف أي نسخ احتياطية قديمة تلقائيًا.

النسخ الاحتياطي في وضع اللقطة

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

إنشاء نسخ احتياطية (مثل النسخة الاحتياطية الليلية) لجميع الآلات الافتراضية والحاويات باستخدام وضع النسخ الاحتياطي باللقطة. يتم حفظ النسخ الاحتياطية في مشاركة NFS تسمى nfs-backup. يتم تحديد عرض النطاق الترددي إلى 20480 كيلوبايت في الثانية (20 ميغابايت في الثانية) لمنع التحميل الزائد على الشبكة. يتم الاحتفاظ فقط بأحدث 7 نسخ احتياطية، ويتم إزالة النسخ الاحتياطية القديمة تلقائيًا.

9. qmrestore

يتم استخدام الأمر qmrestore لاستعادة الآلات الافتراضية من النسخ الاحتياطية التي تم إنشاؤها باستخدام الأمر vzdump في بيئة Proxmox الافتراضية. هذه الأوامر vzdump و qmrestore هي أدوات أصلية من Proxmox للنسخ الاحتياطي واستعادة الآلات الافتراضية. يمكن استعادة النسخة الاحتياطية إلى آلة افتراضية جديدة أو موجودة.

الصيغة:

qmrestore [options] <backupfile> <vmid>

حيث:

<backupfile> هو مسار ملف النسخة الاحتياطية التي ترغب في استعادتها. يتم إنشاء هذا الملف عادةً بواسطة الأمر vzdump وتخزينه في دليل أو على جهاز تخزين شبكة.

<vmid> هو معرف الآلة الافتراضية التي ترغب في استعادتها. إذا كان معرف الآلة الافتراضية موجودًا بالفعل، سيتم الكتابة فوق الآلة الافتراضية الموجودة ما لم يتم استخدام خيارات معينة لمنع ذلك.

خيارات الأمر:

force يُستخدم لاستبدال جهاز افتراضي موجود بنفس المعرف، ولا يوجد سؤال تأكيد. يمكنك استخدام هذا الخيار لاستعادة جهاز افتراضي عندما لا تمانع في فقدان الحالة الحالية للجهاز الافتراضي بنفس المعرف.

unique يُستخدم لإنشاء معرف جهاز افتراضي جديد وفريد لجهاز افتراضي مستعاد. يُفضل استخدام هذا الخيار لاستعادة نسخة احتياطية عن طريق إنشاء جهاز افتراضي جديد دون استبدال أي أجهزة افتراضية موجودة.

storage <storage> يحدد موقع التخزين المستهدف لصور الأقراص الافتراضية للجهاز الافتراضي المستعاد. إذا لم يتم تحديد هذا الخيار، فسيتم استعادة الجهاز الافتراضي إلى موقع تخزينه الأصلي أو إلى التخزين الافتراضي.

pool <pool> يسمح لك بتعيين الجهاز الافتراضي المستعاد إلى مجموعة موارد محددة في بيئة Proxmox الافتراضية. تُستخدم مجموعات الموارد لتجميع الأجهزة الافتراضية لتسهيل إدارتها.

hostname <name> يحدد اسم المضيف للجهاز الافتراضي المستعاد. هذا الخيار مفيد إذا كنت ترغب في تعيين اسم مضيف مختلف للجهاز الافتراضي المستعاد عن الاسم الأصلي.

name <name> يحدد اسمًا مخصصًا للجهاز الافتراضي المستعاد (اسم يظهر في واجهة مستخدم Proxmox)، يختلف عن اسم الجهاز الافتراضي الأصلي الذي تم نسخه احتياطيًا.

استعادة الجهاز الافتراضي إلى المعرف الأصلي

استعادة جهاز افتراضي إلى معرفه الأصلي:

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 إلى الجهاز الافتراضي الذي يحمل ID 101. إذا كان هناك جهاز افتراضي يحمل ID 101 بالفعل، فسيتم الكتابة فوقه.

استعادة النسخة الاحتياطية إلى جهاز افتراضي جديد

استعادة النسخة الاحتياطية إلى جهاز افتراضي جديد:

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

هذا الأمر يستعيد النسخة الاحتياطية إلى جهاز افتراضي جديد يحمل ID 102، مع تخزين صور القرص الخاصة به على التخزين local-lvm.

استعادة وتغيير اسم المضيف واسم الجهاز الافتراضي

استعادة النسخة الاحتياطية وتغيير اسم المضيف والاسم:

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

يستعيد النسخة الاحتياطية إلى جهاز افتراضي جديد يحمل ID 103، ويعيد تسمية الجهاز الافتراضي إلى MyRestoredVM ويضبط اسم المضيف إلى restored-vm.

10. عميل النسخ الاحتياطي بروكسيموكس

أمر proxmox-backup-client هو أداة سطر أوامر تُستخدم بالتزامن مع خادم النسخ الاحتياطي بروكسيموكس، وهو حل نسخ احتياطي أصلي لبروكسيموكس، يُستخدم لعمليات النسخ الاحتياطي والاستعادة. تتيح هذه الأداة للمسؤولين حماية الآلات الافتراضية والحاويات وأنواع البيانات الأخرى. تتفاعل أداة proxmox-backup-client مع خادم النسخ الاحتياطي بروكسيموكس (PBS) لإدارة النسخ الاحتياطية

الصيغة:

proxmox-backup-client <command> [options]

الصيغة الأساسية لأمر النسخ الاحتياطي

proxmox-backup-client backup <اسم-الأرشيف> <المسار> --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 <اسم-الأرشيف> <المسار> --repository <المستودع> [خيارات]

حيث:

<اسم-الأرشيف> هو اسم الأرشيف الذي تريد استعادته.

<المسار> هو المسار حيث يجب استعادة البيانات.

المستودع <المستودع> هو المستودع الذي تم تخزين النسخة الاحتياطية فيه.

مثال:

proxmox-backup-client استعادة etc.pxar /restore/etc --مستودع root@[email protected]:datastore1

يقوم هذا الأمر بإستعادة الأرشيف etc.pxar من datastore1 على خادم النسخ الاحتياطي Proxmox عنوان الـ 10.10.10.101 إلى الدليل المحلي /restore/etc.

الاستنتاج

أوامر واجهة سطر الأوامر في Proxmox هي مجموعة أدوات قوية لإدارة بيئة Proxmox الافتراضية، بما في ذلك التخزين، وحدات التخزين الافتراضية، التجمعات، نسخ الاحتياطي للوحدات الافتراضية، وما إلى ذلك. إذا كنت ترغب في تنفيذ استراتيجية نسخ احتياطي شاملة للوحدات الافتراضية، قم بتثبيت NAKIVO Backup & Replication واستخدم قدرة النسخ الاحتياطي بدون وكيل لوحدات الافتراضية Proxmox VE.

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