يمكن إدارة بيئة بروكسيموكس الافتراضية (VE) من خلال واجهة رسومية سهلة الاستخدام في متصفح الويب. ومع ذلك، في سيناريوهات معينة، من الأفضل استخدام واجهة سطر الأوامر (CLI). توفر واجهة سطر الأوامر مزايا مثل تكوين أكثر تفصيلاً، ومعالجة دفعات، والبرمجة النصية، والتشغيل التلقائي.
هناك أوامر لينكس القياسية وأوامر خاصة ببروكسيموكس لإدارة بيئات بروكسيموكس الافتراضية. تتناول هذه المدونة أفضل 10 أوامر خاصة ببروكسيموكس مع أمثلة للإدارة الفعالة.
1. qm
أمر qm هو أحد الأوامر الرئيسية في واجهة سطر الأوامر لبروكسيموكس، وqm هو اختصار لمدير QEMU. يُستخدم لإدارة الآلات الافتراضية (VMs) في بيئة بروكسيموكس الافتراضية (Proxmox VE). الآلات الافتراضية على بروكسيموكس مبنية على QEMU/KVM، ويتفاعل أمر qm معها. يمكنك إنشاء، تحرير، تكوين، بدء، إيقاف، وترحيل الآلات الافتراضية باستخدام هذا الأمر.
التركيب العام للأمر هو:
qm [options] <command> [arguments]
قائمة الآلات الافتراضية
يمكنك رؤية حالة الآلة الافتراضية ورقم التعريف (ID). قد تحتاج إلى رقم التعريف لإدارة هذه الآلة الافتراضية في واجهة سطر الأوامر لبروكسيموكس.
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” مع 2 جيجابايت من الذاكرة العشوائية، وموصل واحد، و2 نواة، وواجهة شبكة Virtio متصلة بـ vmbr0. نوع نظام التشغيل هو لينكس (كما هو موضح بـ l26).
إرفاق قرص بآلة افتراضية
qm set 105 --scsi0 local-lvm:32G
يتم إرفاق قرص سعة 32 جيجابايت بالآلة الافتراضية باستخدام واجهة SCSI.
إرفاق قرص مضغوط لتثبيت نظام التشغيل
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
هذا الأمر يرفق صورة ISO لنظام Debian بمحرك الأقراص المضغوطة IDE للآلة الافتراضية لتثبيت نظام تشغيل ضيف أو لأغراض أخرى.
تكوين ترتيب التمهيد
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
qm shutdown <vmid>
يقوم هذا الأمر بإيقاف تشغيل جهاز افتراضي (VM) بشكل سلس، مما يسمح لنظام التشغيل الضيف بإغلاق الملفات وإنهاء العمليات بشكل صحيح.
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-firewall
يتم استخدام أمر pve-firewall
لإدارة إعدادات جدار الحماية في بيئة Proxmox الافتراضية، بما في ذلك مجموعات Proxmox. يوفر هذا الأمر في واجهة سطر الأوامر (CLI) خيارات سهلة لتكوين قواعد جدار الحماية ويسمح للمسؤولين بالتحكم في حركة مرور الشبكة إلى ومن عقد 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> هو اسم مجموعة التخزين (مخزن البيانات) التي سيتم سردها.
التحقق من حالة جميع أو مجموعات التخزين المحددة
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. يمكن القيام بذلك باستخدام أوامر CLI الخاصة بـ Proxmox من خلال استخدام الأمر 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 – مجموعة الإدارة" --groups admin
يتم استخدام هذا الأمر لإضافة مستخدم اسمه user2 إلى مجموعة الإدارة مع وصف وتعيين كلمة المرور لهذا المستخدم.
حذف مستخدم
لحذف مستخدم، استخدم الأمر pveum
بنفس المنطق المستخدم في إضافة مستخدم، على سبيل المثال:
pveum userdel user3@pve
يتم استخدام هذا الأمر لحذف user3 على مضيف Proxmox.
إنشاء مجموعة
لإنشاء مجموعة جديدة في واجهة سطر أوامر Proxmox، استخدم الأمر groupadd
.
الصيغة:
pveum groupadd <groupname> --comment <comment>
مثال:
pveum groupadd support --comment "مجموعة فريق الدعم"
يتم استخدام هذا الأمر لإنشاء مجموعة جديدة تُسمى support مع الوصف “مجموعة فريق الدعم“.
حذف مجموعة
مماثل لحذف مستخدم، يمكنك حذف مجموعة. على سبيل المثال، لحذف مجموعة الضيوف، يمكنك استخدام الأمر:
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 وتكوين محركات الأقراص المضغوطة.
تعديل دور موجود
يمكن للمسؤولين تعديل الأدوار والأذونات الموجودة باستخدام الأمر 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 لجهاز افتراضي محدد أو / للكلستر بالكامل).
––roles <rolename> هو الدور الذي سيتم تعيينه.
––users <userid> هو المستخدم الذي سيتم تعيين الدور له.
––groups <groupname> هي المجموعة التي سيتم تعيين الدور لها.
مثال:
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
هذا الأمر يعين الدور vmmanager لـ user4@pve على جهاز افتراضي 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 <الأمر> <معرف المستخدم> [خيارات]
الأوامر يمكن أن تكون:
list لعرض جميع المستخدمين
modify لتعديل تفاصيل المستخدم، مثل تغيير كلمة المرور أو تحديث التعليق
delete لحذف مستخدم
على سبيل المثال، لعرض جميع المستخدمين على جهاز Proxmox، استخدم الأمر:
pveum user list
لرؤية المزيد من الأوامر والخيارات المتاحة، قم بتشغيل الأمر pveum help
في واجهة سطر الأوامر لـ Proxmox.
5. pvesh
عن طريق استخدام الأمر pvesh
، يمكن لمسؤولي النظام التفاعل مع واجهة برمجة التطبيقات الخاصة بـ Proxmox. يسمح هذا الأداة سطر الأوامر بأداء تقريبًا أي إجراء يمكن القيام به عبر واجهة Proxmox عبر واجهة سطر الأوامر لـ Proxmox. يعمل الأمر pvesh
كقشرة لواجهة برمجة التطبيقات الخاصة بـ Proxmox VE REST API، مما يتيح لك إجراء استدعاءات API باستخدام الأوامر مباشرة من سطر الأوامر. باستخدام هذا الأمر، يمكنك إدارة الآلات الافتراضية، والتخزين، والشبكة، وعناصر أخرى من بنية البنية الافتراضية لـ Proxmox.
الصيغة:
pvesh <الأمر> [خيارات]
قائمة الموارد أو نقاط نهاية واجهة برمجة التطبيقات
هذا الأمر مشابه لأمر ls في نظام لينكس، ولكنه يعرض مسارات واجهة برمجة التطبيقات المتاحة أو الموارد في بيئة Proxmox VE.
pvesh ls /path
مثال:
pvesh ls /cluster/resources
هذا الأمر يعرض جميع الموارد في مجموعة Proxmox، بما في ذلك الأجهزة الافتراضية، الحاويات، والتخزين.
استرجاع المعلومات
أمر get يسترجع المعلومات من نقطة نهاية واجهة برمجة التطبيقات المحددة. يُستخدم هذا الأمر لاستعلام مورد للحصول على التفاصيل.
pvesh get /path
حيث path هو مسار واجهة برمجة التطبيقات الذي تريد استرجاع المعلومات منه.
على سبيل المثال، لاسترجاع معلومات الحالة للعقدة pve-node1، مثل تحميل وحدة المعالجة المركزية، استخدام الذاكرة، ووقت التشغيل، يمكنك استخدام الأمر:
pvesh get /nodes/pve-node1/status
تعديل الإعدادات
يُستخدم أمر set لتعديل أو تحديث إعدادات مورد. هذا يعادل إجراء طلب POST أو PUT في واجهة برمجة التطبيقات REST.
التركيب:
pvesh set /path --key value [--key value ...]
––key القيمة هي أزواج المفتاح-القيمة للإعدادات التي تريد تغييرها.
مثال:
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
هذا الأمر ينشئ جهاز افتراضي جديد برقم تعريف 106 على العقدة pve-node1، مع الاسم new-vm-name، وذاكرة 2 جيجابايت و2 نواة CPU.
بدء الأجهزة الافتراضية
يوجد أمر لبدء جهاز افتراضي أو حاوية باستخدام pvesh:
pvesh start /path
على سبيل المثال، لبدء الجهاز الافتراضي برقم التعريف 101 على العقدة pve-node1، يمكنك تشغيل الأمر:
pvesh start /nodes/pve-node1/qemu/101
إيقاف تشغيل الجهاز الافتراضي
على عكس أمر الإيقاف، يقوم أمر الإيقاف بإيقاف تشغيل جهاز افتراضي أو حاوية بشكل سلس:
pvesh shutdown /path
على سبيل المثال، لإيقاف تشغيل جهاز افتراضي برقم التعريف 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 <command> [options]
لرؤية جميع أوامر pvecm
المدعومة، قم بتشغيل هذا الأمر:
man pvecm
إنشاء مجموعة
لإنشاء مجموعة جديدة من Proxmox VE، يمكنك استخدام الأمر create . يجب عليك تشغيل هذا الأمر على العقدة الأولى (عقدة الماستر) التي ستشكل المجموعة.
pvecm create <clustername>
مثال:
الأمر أدناه ينشئ مجموعة باسم cluster01. تصبح هذه العقدة (حيث نقوم بتشغيل الأمر) هي عقدة الماستر للمجموعة.
pvecm create cluster01
إضافة عقدة إلى مجموعة
استخدم الأمر addnode لإضافة عقد جديدة إلى مجموعة Proxmox موجودة. قم بتشغيل هذا الأمر على العقدة التي تريد إضافتها إلى المجموعة.
pvecm add <master-node-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 يمكنك استخدام الأمر:
ha-manager status
تعرض النتيجة معلومات حول الآلات الافتراضية أو الحاويات التي تم تكوينها للتوافر العالي، وحالتها الحالية (مبدوءة، متوقفة)، بما في ذلك حالة HA وحالة الفشل، وأي عقدة تعمل عليها.
تمكين HA لآلة افتراضية
الصيغة:
ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>
حيث:
<vmid> هو معرف الآلة الافتراضية أو الحاوية التي تريد إضافتها إلى HA.
––group <groupname> هي مجموعة HA التي يجب إضافة المورد إليها (اختياري).
––max-restarts <n> هو الحد الأقصى لعدد محاولات إعادة التشغيل إذا فشل المورد.
––max-migrate-tries <n> هو الحد الأقصى لعدد محاولات الهجرة إلى عقدة أخرى إذا لم يكن بالإمكان إعادة تشغيل المورد.
مثال:
إضافة جهاز افتراضي برقم تعريف 105 إلى مدير التوافر العالي مع حد أقصى لعدد محاولات إعادة التشغيل يبلغ 3 ومحاولة واحدة للهجرة في حالة الفشل:
ha-manager add 105 --max-restarts 3 --max-migrate-tries 1
تعطيل حالة التوافر العالي لجهاز افتراضي
استخدم الأمر remove لتعطيل حالة التوافر العالي لجهاز افتراضي وإزالته من مدير التوافر العالي.
ha-manager remove <vmid>
على سبيل المثال، لتعطيل حالة التوافر العالي لجهاز افتراضي برقم تعريف 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. يتم استخدام هذا الوضع بشكل افتراضي ويسمح لك بإجراء نسخة احتياطية عندما تكون الآلة الافتراضية أو الحاوية قيد التشغيل.
- تعليق – يتم استخدام هذا الوضع لتعليق الآلة الافتراضية أو الحاوية قبل النسخ الاحتياطي مما يسمح لك بضمان تناسق البيانات. فترة التوقف القصيرة الناتجة عن هذا الوضع هي عيب.
- إيقاف – يوقف الآلة الافتراضية أو الحاوية قبل إجراء النسخ الاحتياطي. هذه الطريقة تسمح لك بالحفاظ على تناسق بيانات النسخ الاحتياطي ولكنها تتطلب فترة توقف أطول.
––الضغط <type> يُستخدم لتحديد طريقة الضغط. هناك ثلاث خيارات ضغط مدعومة:
- lzo – ضغط خفيف وسريع لنسخ Proxmox الاحتياطية (يستخدم بشكل افتراضي).
- gzip – هذه طريقة ضغط أكثر كفاءة ولكنها تتطلب وقتًا أكثر لضغط البيانات (ضغط أبطأ).
- zstd – هذا النوع من الضغط يستخدم خوارزمية ضغط حديثة تقدم نسب ضغط عالية مع أداء مثالي.
––التخزين <storage> يحدد هدف التخزين لملف النسخ الاحتياطي. يمكن أن يكون دليل محلي، أو مشاركة NFS، أو تجمع تخزين Proxmox.
––maxfiles <n> يحدد الحد الأقصى لعدد ملفات النسخ الاحتياطي التي يجب الاحتفاظ بها. يتم حذف النسخ الاحتياطية القديمة تلقائيًا إذا تم الوصول إلى الحد.
––إزالة <mode> تزيل تلقائيًا ملفات النسخ الاحتياطي وفقًا للوضع المحدد. تشمل الأوضاع:
- قديم – يزيل النسخ الاحتياطية القديمة عند إنشاء نسخ جديدة.
- فشل – يزيل النسخ الاحتياطية الفاشلة فقط.
نسخ احتياطي لعدة أجهزة افتراضية
نسخ احتياطي للأجهزة الافتراضية ذات المعرفات 101، 102، و 103 بالتتابع:
vzdump 101 102 103
حفظ النسخ الاحتياطي مع الضغط
vzdump 101 --storage local --compress gzip --maxfiles 3
يؤدي أمر vzdump مع هذه الخيارات إلى تنفيذ الإجراءات التالية:
- يحفظ النسخة الاحتياطية لجهاز VM 101 في التخزين المسمى محلي. يمكن أن يكون التخزين المحلي دليلًا محليًا على مضيف Proxmox أو بركة تخزين.
- يتم استخدام ضغط 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
إنشاء نسخ احتياطية (مثل النسخ الاحتياطية الليلية) لجميع VMs والحاويات باستخدام وضع النسخ الاحتياطي باللقطة. يتم حفظ النسخ الاحتياطية في مشاركة NFS تسمى nfs-backup. يتم تحديد عرض النطاق الترددي إلى 20480 كيلوبايت في الثانية (20 ميجابايت في الثانية) لمنع تحميل الشبكة. يتم الاحتفاظ بأحدث 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) مختلف عن اسم الجهاز الافتراضي الأصلي الذي تم نسخه احتياطيًا.
استعادة الجهاز الافتراضي إلى المعرف الأصلي
استعادة جهاز افتراضي إلى معرفه الأصلي:
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
هو أداة سطر أوامر تُستخدم بالتزامن مع خادم النسخ الاحتياطي Proxmox، وهو حل نسخ احتياطي محلي لـ Proxmox، يُستخدم لعمليات النسخ الاحتياطي والاستعادة. تتيح هذه الأداة للمسؤولين حماية الأجهزة الافتراضية، والحاويات، وأنواع أخرى من البيانات. تتفاعل أداة proxmox-backup-client مع خادم النسخ الاحتياطي Proxmox (PBS) لإدارة النسخ الاحتياطية
الصيغة:
proxmox-backup-client <command> [options]
الصيغة الأساسية لأمر النسخ الاحتياطي
proxmox-backup-client backup <اسم-الأرشيف> <المسار> --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 <اسم-الأرشيف> <المسار> --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.
خاتمة
أوامر واجهة سطر الأوامر Proxmox هي مجموعة قوية من الأدوات لإدارة بيئة Proxmox الافتراضية، بما في ذلك التخزين والآلات الافتراضية والمجموعات والنسخ الاحتياطي للآلات الافتراضية، إلخ. إذا كنت ترغب في تنفيذ استراتيجية شاملة لنسخ الآلات الافتراضية، قم بتثبيت NAKIVO Backup & Replication واستخدم قدرة النسخ الاحتياطي بدون وكيل لآلات Proxmox VE الافتراضية.
Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands-every-admin-should-know/