VMs CLI
Εισαγωγή
Το VMs CLI είναι ένα εργαλείο διαχείρισης γραμμής εντολών για την εφαρμογή virtualization VMs της TerraMaster, παρέχοντας δυνατότητες αναζήτησης και λειτουργικής διαχείρισης αντίστοιχες με το Web interface διαχείρισης. Το CLI επικοινωνεί με την υπηρεσία VMs μέσω τοπικού unix socket, χρησιμοποιεί τυποποιημένες διασυνδέσεις εντολών και μορφή εξόδου JSON, και μπορεί να ενσωματωθεί σε scripts, αυτοματοποιημένη λειτουργική διαχείριση και ροές εργασίας δευτερογενούς ανάπτυξης.
Βασικά χαρακτηριστικά
- Έτοιμο προς χρήση: εγκαθίσταται μαζί με την εφαρμογή VMs, χωρίς πρόσθετη εγκατάσταση
- Ευέλικτοι τρόποι κλήσης: υποστηρίζει τοπικό τερματικό, απομακρυσμένο SSH, scripts, εργαλεία AI και πολλούς άλλους τρόπους κλήσης
- Διπλή λειτουργία, διαδραστική και μη διαδραστική: κατάλληλο τόσο για την καθημερινή συντήρηση από διαχειριστές όσο και για scripts και αυτοματοποιημένες εργασίες
- Υποστήριξη εξόδου JSON: διευκολύνει την ανάλυση από προγράμματα και την αυτοματοποιημένη ενσωμάτωση
- Τοπική επικοινωνία: επικοινωνεί με την υπηρεσία VMs μόνο μέσω τοπικού unix socket, χωρίς άνοιγμα θυρών προς τα έξω
- Δευτερεύουσα επιβεβαίωση επικίνδυνων ενεργειών: ενέργειες όπως η διαγραφή εικονικής μηχανής και η διαγραφή δικτύου απαιτούν εξ ορισμού επιβεβαίωση
Γρήγορη εκκίνηση
# 在终端中执行(可通过本地终端、SSH、脚本、AI 工具等任意命令行途径)
vms --help
# 查看虚拟机列表
vms vm list
# 查看虚拟机详情
vms vm get <id>
# 以 JSON 格式输出(便于脚本解析)
vms vm list --json
vms vm list 输出示例:
NAME GUEST ID STATUS VCPU NUM VRAM SIZE IP
145 09fd98ee-4e2d-4c7a-a95c-8bacab80d322 shutdown 4 2097152 -
win10 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1 shutdown 4 2097152 -
1454486 5a0391f2-c545-45eb-8eed-0a104972229b shutdown 4 2097152 -
win101 32ee5a74-de8b-47a9-959d-1725c881ceab shutdown 4 2097152 -
Καθολικές επιλογές
Οι ακόλουθες επιλογές ισχύουν για όλες τις εντολές:
| Επιλογή | Σύντμηση | Περιγραφή |
|---|---|---|
--help | -h | Εμφάνιση πληροφοριών βοήθειας της εντολής |
--version | -v | Εμφάνιση αριθμού έκδοσης (μπορεί να συνδυαστεί με --json για δομημένη έξοδο) |
--json | - | Έξοδος σε μορφή JSON |
--yes | -y | Παράλειψη της προτροπής επιβεβαίωσης για επικίνδυνες ενέργειες (απαραίτητο στη μη διαδραστική λειτουργία) |
--debug | - | Ενεργοποίηση εξόδου debugging, εμφάνιση λεπτομερούς διαδικασίας εκτέλεσης |
--socket <path> | - | Διαδρομή του unix socket του VMs, προεπιλογή /var/api/VMs.sock |
--timeout <duration> | - | Χρόνος λήξης αιτήματος, προεπιλογή 30s |
Παράδειγμα πληροφοριών έκδοσης
vms --version
vms CLI v1.0.058
vms --version --json
{
"build": "20260911",
"cli_version": "v1.0.058"
}
Περιβάλλον εκτέλεσης
Το VMs CLI εγκαθίσταται μαζί με την εφαρμογή VMs. Όταν η εφαρμογή ενεργοποιηθεί, συνδέει το CLI στον προεπιλεγμένο κατάλογο PATH του συστήματος, ώστε να μπορείτε να το χρησιμοποιήσετε απευθείας αφού συνδεθείτε μέσω SSH.
| Στοιχείο | Περιγραφή |
|---|---|
| Αρχείο CLI | /Volume1/@apps/VMs/bin/vms |
| Διαδρομή εντολής | /usr/local/sbin/vms(βρίσκεται ήδη στο PATH του συστήματος) |
| Τρόπος επικοινωνίας | Τοπικό unix socket, προεπιλογή /var/api/VMs.sock |
| Κατάλληλο για | Διαχειριστές που έχουν συνδεθεί τοπικά |
Σημειώσεις:
- Το CLI χρησιμοποιείται για τη διαχείριση τοπικών εικονικών μηχανών και δεν υποστηρίζει απομακρυσμένη διαχείριση άλλων συσκευών μέσω CLI.
- Το backend επιστρέφει πάντα HTTP 200, και το αν η εντολή πέτυχε κρίνεται από το πεδίο
codeστο σώμα της απόκρισης, το οποίο το CLI μετατρέπει σε κωδικό εξόδου. - Οι επικίνδυνες ενέργειες (διαγραφή εικονικής μηχανής, διαγραφή δικτύου, διαγραφή image, διαγραφή χώρου αποθήκευσης) ζητούν επιβεβαίωση στη διαδραστική λειτουργία και απαιτούν ρητή μετάδοση του
--yesστη μη διαδραστική λειτουργία.
Συνοπτικός πίνακας εντολών
Ακολουθεί μια γρήγορη συνοπτική αναφορά όλων των εντολών vms:
| Γονική εντολή | Υποεντολή | Περιγραφή λειτουργίας | Απαιτείται επιβεβαίωση | Υψηλού κινδύνου |
|---|---|---|---|---|
| vms | --version | Εμφάνιση πληροφοριών έκδοσης | Όχι | Όχι |
| vms vm | list | Λίστα όλων των εικονικών μηχανών | Όχι | Όχι |
| vms vm | get | Προβολή λεπτομερειών καθορισμένης εικονικής μηχανής | Όχι | Όχι |
| vms vm | list-resource | Λίστα διαθέσιμων πόρων για τη δημιουργία εικονικής μηχανής | Όχι | Όχι |
| vms vm | logs | Προβολή αρχείου καταγραφής λειτουργιών της εικονικής μηχανής | Όχι | Όχι |
| vms vm | poweron | Εκκίνηση εικονικής μηχανής | Όχι | Όχι |
| vms vm | poweroff | Απενεργοποίηση εικονικής μηχανής (κανονικός τερματισμός) | Ναι | Όχι |
| vms vm | force-poweroff | Αναγκαστική απενεργοποίηση εικονικής μηχανής | Ναι | ✅ |
| vms vm | reboot | Επανεκκίνηση εικονικής μηχανής | Όχι | Όχι |
| vms vm | pause | Παύση εικονικής μηχανής | Όχι | Όχι |
| vms vm | resume | Επανάληψη της εικονικής μηχανής σε παύση | Όχι | Όχι |
| vms vm | autorun | Ρύθμιση αυτόματης εκκίνησης κατά την εκκίνηση του συστήματος | Όχι | Όχι |
| vms vm | clone | Κλωνοποίηση εικονικής μηχανής | Όχι | Όχι |
| vms vm | export | Εξαγωγή εικονικής μηχανής ως αρχείου OVA | Όχι | Όχι |
| vms vm | delete | Διαγραφή εικονικής μηχανής | Ναι | ✅ |
| vms vm disk | list | Προβολή των εικονικών σκληρών δίσκων της εικονικής μηχανής | Όχι | Όχι |
| vms vm snapshot | list | Λίστα των snapshot της εικονικής μηχανής | Όχι | Όχι |
| vms vm snapshot | create | Δημιουργία snapshot | Όχι | Όχι |
| vms vm snapshot | edit | Επεξεργασία περιγραφής και κατάστασης κλειδώματος του snapshot | Όχι | Όχι |
| vms vm snapshot | config | Προβολή της διαμόρφωσης της εικονικής μηχανής που είναι αποθηκευμένη στο snapshot | Όχι | Όχι |
| vms vm snapshot | consistency | Προεπισκόπηση της συνέπειας του snapshot | Όχι | Όχι |
| vms vm | link | Λήψη πληροφοριών σύνδεσης της κονσόλας VNC | Όχι | Όχι |
| vms network | list | Λίστα εικονικών δικτύων | Όχι | Όχι |
| vms network | get | Προβολή λεπτομερειών εικονικού δικτύου | Όχι | Όχι |
| vms network | create | Δημιουργία εικονικού δικτύου | Όχι | Όχι |
| vms network | update | Ενημέρωση εικονικού δικτύου | Όχι | Όχι |
| vms network | delete | Διαγραφή εικονικού δικτύου | Ναι | ✅ |
| vms network | list-interfaces | Λίστα διασυνδέσεων δικτύου του καθορισμένου τύπου | Όχι | Όχι |
| vms network | list-vnics | Λίστα εικονικών καρτών δικτύου στο δίκτυο | Όχι | Όχι |
| vms network | ovsinfo | Προβολή του αν είναι ενεργοποιημένο το OVS | Όχι | Όχι |
| vms image | list | Λίστα images | Όχι | Όχι |
| vms image | edit | Επεξεργασία πληροφοριών image | Όχι | Όχι |
| vms image | delete | Διαγραφή image | Ναι | ✅ |
| vms image | list-vms | Προβολή των εικονικών μηχανών που χρησιμοποιούν το image | Όχι | Όχι |
| vms repo | list | Λίστα χώρων αποθήκευσης | Όχι | Όχι |
| vms repo | get | Προβολή λεπτομερειών χώρου αποθήκευσης | Όχι | Όχι |
| vms repo | update | Ενημέρωση διαμόρφωσης χώρου αποθήκευσης | Όχι | Όχι |
| vms repo | delete | Διαγραφή χώρου αποθήκευσης | Ναι | ✅ |
| vms repo | list-volumes | Λίστα διαθέσιμων τόμων | Όχι | Όχι |
| vms repo | list-vms | Λίστα εικονικών μηχανών στον χώρο αποθήκευσης | Όχι | Όχι |
| vms repo | check-running | Έλεγχος εικονικών μηχανών σε λειτουργία στον χώρο αποθήκευσης | Όχι | Όχι |
| vms repo | whether-exist-data | Έλεγχος ύπαρξης δεδομένων στον χώρο αποθήκευσης | Όχι | Όχι |
| vms setting | get | Προβολή καθολικών ρυθμίσεων | Όχι | Όχι |
| vms collectd | hostinfo | Προβολή πληροφοριών παρακολούθησης κεντρικού υπολογιστή | Όχι | Όχι |
| vms collectd | vminfo | Προβολή πληροφοριών παρακολούθησης εικονικών μηχανών | Όχι | Όχι |
| vms collectd | storageinfo | Προβολή πληροφοριών παρακολούθησης αποθήκευσης | Όχι | Όχι |
Αναφορά εντολών
Το <id> στις εντολές είναι το ID της εικονικής μηχανής, που αντιστοιχεί στο GUEST ID στην έξοδο της λίστας εικονικών μηχανών. Ομοίως για τα <network_id>, <image_id>, <repo_id>, τα οποία μπορούν να ληφθούν αντίστοιχα μέσω vms network list, vms image list, vms repo list.
Σχετικά με τα παραδείγματα εξόδου:Η έξοδος πίνακα του
vmsπερικόπτει τις υπερβολικά μεγάλες τιμές πεδίων σε σταθερό πλάτος (τελειώνει με έλλειψη και δεν εξαρτάται από το πλάτος του τερματικού), για παράδειγμα ταVDISKS,VNICS,ISO IMAGESστη διαμόρφωση της εικονικής μηχανής, καθώς και τα ονόματα των images. Επομένως, σε αυτό το έγγραφο οι εντολές που αφορούν μεγάλα πεδία δίνουν ομοιόμορφα πλήρες παράδειγμα εξόδου--json, ενώ οι υπόλοιπες εντολές δίνουν παράδειγμα εξόδου πίνακα. Κατά την επεξεργασία με scripts συνιστάται επίσης η ομοιόμορφη χρήση του--json.
I. Αναζήτηση εικονικών μηχανών
vms vm list – Λίστα εικονικών μηχανών
Εμφανίζει όλες τις εικονικές μηχανές του τοπικού συστήματος και τη βασική τους κατάσταση.
vms vm list [--limit N] [--offset N] [--json]
- Το
--limitκαι το--offsetείναι παράμετροι σελιδοποίησης - Στήλες εξόδου: όνομα, ID εικονικής μηχανής, κατάσταση λειτουργίας, αριθμός πυρήνων CPU, μέγεθος μνήμης (σε KB), διεύθυνση IP
Παράδειγμα εξόδου:
NAME GUEST ID STATUS VCPU NUM VRAM SIZE IP
145 09fd98ee-4e2d-4c7a-a95c-8bacab80d322 shutdown 4 2097152 -
win10 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1 shutdown 4 2097152 -
1454486 5a0391f2-c545-45eb-8eed-0a104972229b shutdown 4 2097152 -
win101 32ee5a74-de8b-47a9-959d-1725c881ceab shutdown 4 2097152 -
Συνήθεις τιμές του STATUS:
| Κατάσταση | Περιγραφή |
|---|---|
| running | Σε λειτουργία |
| shutdown | Απενεργοποιημένη |
| saved | Σε παύση (η κατάσταση λειτουργίας έχει αποθηκευτεί στον δίσκο) |
vms vm get – Προβολή λεπτομερειών εικονικής μηχανής
Εμφανίζει την πλήρη διαμόρφωση και την κατάσταση λειτουργίας της καθορισμένης εικονικής μηχανής.
vms vm get <id> --json
- Η έξοδος περιλαμβάνει όλα τα πεδία διαμόρφωσης και κατάστασης λειτουργίας της εικονικής μηχανής
- Κενές τιμές όπως χωρίς περιγραφή ή χωρίς IP εμφανίζονται ως κενή συμβολοσειρά
- Όταν η εικονική μηχανή δεν υπάρχει, η εντολή επιστρέφει σφάλμα και εξάγει μήνυμα σφάλματος
Παράδειγμα εξόδου:
{
"iso_images": [
"c93083a5-2b39-4f32-b19f-1ad97c6b4de4",
"9b3f2fdd-9173-4611-a84c-0cc9ce88293c"
],
"image_paths": [
"",
""
],
"autorun": 0,
"boot_from": "cdrom",
"bios": "bios",
"kb_layout": "en-us",
"serial_console": true,
"usb_version": 2,
"usb_device_name": [
"USB - Integrated Technology Express, Inc. Disk 2.0"
],
"usbs": [
":3:3:048d:1234"
],
"use_ovmf": false,
"vnics": [
{
"prefer_sriov": false,
"vnic_type": 3,
"mac": "1a:e2:ae:95:4a:51",
"network_id": "b364a1ec-f60c-4971-9ea2-f7a002f09fa3",
"virtual_interface_id": "fe972ef5-b066-4967-89fa-8e85e43c8808"
}
],
"operating_system_type": 0,
"vdisks": [
{
"vdisk_mode": 1,
"name": "",
"unmap": false,
"iops_enable": false,
"dev_limit": 0,
"dev_reservation": 0,
"dev_weight": 3,
"vdisk_size": 1024,
"idx": 0,
"vdisk_id": "f4ed4eae-1512-4273-963b-79ebd93a0932",
"disk_image_type": "",
"disk_image_id": ""
}
],
"name": "win10",
"vcpu_num": 4,
"vcpu_usage": 0,
"vram_size": 2097152,
"video_card": "vga",
"machine_type": "1",
"cpu_weight": 3,
"ip": "",
"desc": "",
"cpu_passthru": false,
"hyperv_enlighten": true,
"cpu_pin_num": 0,
"repo_id": "735ef7f7-5d8d-4102-9377-8a7b8c33cda6",
"repo_name": "VM-Storage01",
"poweron_after_create": false,
"guest_id": "9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1",
"increaseAllocatedSize": 0,
"host_id": "15341593-7f43-49f4-9523-6ac750a63a8a",
"host_name": "",
"snap_num": 0,
"has_guest_agent": false,
"status": "shutdown",
"status_code": 0,
"status_desc": "",
"host_ram_size": 0,
"total_throughput": 0,
"total_iops": 0,
"total_io_latency": 0,
"total_rx_bytes": 0,
"total_tx_bytes": 0,
"memory_usage": 0,
"cpu_usage": 0,
"vm_status_progress": 0
}
vms vm list-resource – Λίστα διαθέσιμων πόρων για τη δημιουργία εικονικής μηχανής
Εμφανίζει πόρους που μπορεί να παρέχει ο κεντρικός υπολογιστής, όπως τύπους firmware, images, CPU, μνήμη, δίκτυο, χώρο αποθήκευσης, συσκευές passthrough, για αξιολόγηση πριν από τη δημιουργία εικονικής μηχανής.
vms vm list-resource --json
Πεδία που επιστρέφονται: max_cpu_num, max_ram_size, usbs, pci_devices, networks, repos, images, video_cards, firmware, keyboard_layout.
Παράδειγμα εξόδου:
{
"max_cpu_num": 4,
"max_ram_size": 16503336960,
"usbs": [
{
"product_name": "4-Port USB 2.0 Hub",
"usb_id": ":3:3:0x0bda:0x5423",
"version": ""
},
{
"product_name": "4-Port USB 3.2 Hub",
"usb_id": ":4:2:0x0bda:0x0423",
"version": ""
},
{
"product_name": "Flash Drive",
"usb_id": ":3:2:0x058f:0x6387",
"version": ""
}
],
"pci_devices": [
{
"device_name": "",
"bdf": "0000:02:00.0",
"vendor_id": "0x10ec",
"product_id": "0x8126",
"class_id": "0x020000",
"iommu_group": 13,
"iommu_group_bdfs": [
"0x0000:0x02:0x00.0x0"
],
"driver": "r8169",
"type": "Network Controller"
},
{
"device_name": "",
"bdf": "0000:00:0d.0",
"vendor_id": "0x8086",
"product_id": "0x464e",
"class_id": "0x0c0330",
"iommu_group": 2,
"iommu_group_bdfs": [
"0x0000:0x00:0x0d.0x0"
],
"driver": "xhci_hcd",
"type": "USB Controller"
},
{
"device_name": "",
"bdf": "0000:03:00.0",
"vendor_id": "0x10ec",
"product_id": "0x8126",
"class_id": "0x020000",
"iommu_group": 14,
"iommu_group_bdfs": [
"0x0000:0x03:0x00.0x0"
],
"driver": "r8169",
"type": "Network Controller"
},
{
"device_name": "",
"bdf": "0000:00:14.0",
"vendor_id": "0x8086",
"product_id": "0x54ed",
"class_id": "0x0c0330",
"iommu_group": 3,
"iommu_group_bdfs": [
"0x0000:0x00:0x14.0x2",
"0x0000:0x00:0x14.0x0"
],
"driver": "xhci_hcd",
"type": "USB Controller"
},
{
"device_name": "",
"bdf": "0000:00:14.2",
"vendor_id": "0x8086",
"product_id": "0x54ef",
"class_id": "0x050000",
"iommu_group": 3,
"iommu_group_bdfs": [
"0x0000:0x00:0x14.0x2",
"0x0000:0x00:0x14.0x0"
],
"driver": "",
"type": "IOMMU Group Device"
}
],
"networks": [
{
"name": "VM-Network04",
"network_id": "ce9807c9-47b3-4258-9a80-ea8db1fd785d",
"support_sriov": false
},
{
"name": "VM-Network05",
"network_id": "b56c2f7b-e3f0-4b68-8a3b-245c90a8f8b5",
"support_sriov": false
},
{
"name": "VM-Network01",
"network_id": "b364a1ec-f60c-4971-9ea2-f7a002f09fa3",
"support_sriov": false
},
{
"name": "VM-Network02",
"network_id": "6c9fffd8-c7c4-4968-9b50-6890a640ec94",
"support_sriov": false
},
{
"name": "VM-Network03",
"network_id": "4c05b2a2-dd49-4588-ac5c-64975c92d2d3",
"support_sriov": false
}
],
"repos": [
{
"name": "VM-Storage01",
"free_size": 941970767872,
"repo_id": "735ef7f7-5d8d-4102-9377-8a7b8c33cda6",
"volume_size": 1099511627776,
"file_system": "btrfs",
"status": ""
},
{
"name": "VM-Storage02",
"free_size": 445785296896,
"repo_id": "517571ba-f7f7-49e1-9a62-7eb6ddfd9c78",
"volume_size": 536870912000,
"file_system": "btrfs",
"status": ""
}
],
"images": [
{
"id": "c93083a5-2b39-4f32-b19f-1ad97c6b4de4",
"name": "cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x86_dvd_9c50652f",
"status": "available",
"type": "iso",
"used_size": 3884539904
},
{
"id": "9b3f2fdd-9173-4611-a84c-0cc9ce88293c",
"name": "virtio-win-0.1.285pro",
"status": "available",
"type": "iso",
"used_size": 789645312
},
{
"id": "efd6da18-9475-44cf-8fb0-e2513421e68a",
"name": "haos_ova-18.2",
"status": "available",
"type": "qcow2",
"used_size": 1091698688,
"virtual_size": 34359738368
},
{
"id": "cb9d929a-d673-4e46-ac86-9488bbef19b9",
"name": "cn_windows_11_consumer_editions_version_21h2_updated_july_2022_x64_dvd_50ad4acf",
"status": "available",
"type": "iso",
"used_size": 5858816000
}
],
"video_cards": [
"cirrus",
"vga",
"vmvga"
],
"firmware": [
"Legacy BIOS",
"UEFI"
],
"keyboard_layout": [
"fr-be",
"ar",
"bepo",
"cz",
"da",
"de",
"de-ch",
"en-gb",
"en-us",
"es",
"et",
"fo",
"fr",
"fr-be",
"fr-ca",
"fr-ch",
"hr",
"hu",
"is",
"it",
"ja",
"lt",
"lv",
"mk",
"nl",
"nl-be",
"no",
"pl",
"pt",
"pt-br",
"ru",
"sl",
"sv",
"th",
"tr"
]
}
vms vm logs – Προβολή αρχείου καταγραφής λειτουργιών εικονικής μηχανής
Εμφανίζει το αρχείο καταγραφής λειτουργιών που σχετίζονται με την καθορισμένη εικονική μηχανή (ενεργοποίηση/απενεργοποίηση, snapshot, επεξεργασία, εισαγωγή/εξαγωγή κ.λπ.).
vms vm logs <id> --json [--limit N] [--desc]
- Το
--limitκαθορίζει τον αριθμό των εγγραφών που επιστρέφονται, προεπιλογή 50 - Το
--descταξινομεί κατά φθίνουσα χρονολογική σειρά (ενεργό εξ ορισμού) - Κάθε καταγραφή περιλαμβάνει χρόνο, επίπεδο, κατηγορία, χρήστη ενέργειας και περιγραφή συμβάντος, ενώ η περιγραφή συμβάντος είναι πλήρες κείμενο
- Η περιγραφή συμβάντος (
event) εξάγεται από την υπηρεσία VMs τοπικοποιημένη σύμφωνα με τη γλώσσα συστήματος της συσκευής, ενώ τα παραδείγματα σε αυτό το έγγραφο χρησιμοποιούν ομοιόμορφα αγγλικά
Παράδειγμα εξόδου:
[
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:44:09.176535374+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) shutdown successfully"
},
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:43:10.597187659+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) started successfully"
},
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:40:32.74904922+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) shutdown successfully"
},
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:39:55.916718004+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) started successfully"
},
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:39:43.341421576+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) shutdown successfully"
},
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:38:31.518259486+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) shutdown successfully"
},
{
"id": 0,
"level": "Info",
"time": "2026-09-02T11:38:07.98065689+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine(win10) started successfully"
},
{
"id": 0,
"level": "Error",
"time": "2026-09-02T11:32:35.01952111+08:00",
"category": "vm",
"user": "system",
"event": "Virtual machine (win10) export failed (Error:stat : no such file or directory)"
}
]
II. Διαχείριση τροφοδοσίας εικονικών μηχανών
vms vm poweron – Εκκίνηση εικονικής μηχανής
vms vm poweron <id>
- Η εικονική μηχανή πρέπει να βρίσκεται σε κατάσταση απενεργοποίησης, διαφορετικά επιστρέφεται σφάλμα σύγκρουσης κατάστασης
- Έξοδος:
VM powered on: <id>
vms vm poweroff – Απενεργοποίηση εικονικής μηχανής
Στέλνει αίτημα κανονικού τερματισμού στην εικονική μηχανή, ώστε το σύστημα να τερματιστεί ομαλά.
vms vm poweroff <id> [--yes]
- Αποτελεί επικίνδυνη ενέργεια: στη διαδραστική λειτουργία ζητείται επιβεβαίωση, ενώ στη μη διαδραστική λειτουργία πρέπει να προστεθεί
--yes - Η εικονική μηχανή πρέπει να βρίσκεται σε κατάσταση λειτουργίας, διαφορετικά επιστρέφεται σφάλμα σύγκρουσης κατάστασης
Προτροπή επιβεβαίωσης στη διαδραστική λειτουργία:
This action will powered off VM "9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1". Do you want to continue? [y/N]:
- Έξοδος:
VM powered off: <id>
vms vm force-poweroff – Αναγκαστική απενεργοποίηση εικονικής μηχανής (υψηλού κινδύνου)
Αναγκαστική απενεργοποίηση της εικονικής μηχανής, ισοδύναμη με άμεση διακοπή ρεύματος.
vms vm force-poweroff <id> [--yes]
- Αποτελεί ενέργεια υψηλού κινδύνου: στη διαδραστική λειτουργία ζητείται επιβεβαίωση, ενώ στη μη διαδραστική λειτουργία πρέπει να προστεθεί
--yes - Μπορεί να προκαλέσει απώλεια δεδομένων εντός της εικονικής μηχανής, συνιστάται η χρήση μόνο όταν η εικονική μηχανή δεν αποκρίνεται
Προτροπή επιβεβαίωσης στη διαδραστική λειτουργία:
This action will force powered off VM "9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1". Do you want to continue? [y/N]:
- Έξοδος:
VM force powered off: <id>
vms vm reboot – Επανεκκίνηση εικονικής μηχανής
vms vm reboot <id>
- Έξοδος:
VM rebooted: <id>
vms vm pause – Παύση εικονικής μηχανής
Παγώνει την κατάσταση λειτουργίας της εικονικής μηχανής και αποθηκεύει την τρέχουσα κατάσταση στον δίσκο.
vms vm pause <id>
- Η εικονική μηχανή πρέπει να βρίσκεται σε κατάσταση λειτουργίας, διαφορετικά επιστρέφεται σφάλμα σύγκρουσης κατάστασης
- Μετά την παύση, η κατάσταση της εικονικής μηχανής εμφανίζεται ως
saved - Έξοδος:
VM paused: <id>
vms vm resume – Επανάληψη εικονικής μηχανής
Επαναφέρει την εικονική μηχανή από την κατάσταση παύσης σε κατάσταση λειτουργίας.
vms vm resume <id>
- Η εικονική μηχανή πρέπει να βρίσκεται σε κατάσταση παύσης, διαφορετικά επιστρέφεται σφάλμα σύγκρουσης κατάστασης
- Έξοδος:
VM resumed: <id>
vms vm autorun – Ρύθμιση αυτόματης εκκίνησης κατά την εκκίνηση του συστήματος
Ρυθμίζει αν η εικονική μηχανή θα εκκινείται αυτόματα μαζί με τον κεντρικό υπολογιστή.
vms vm autorun <id> <true|false>
- Η δεύτερη παράμετρος πρέπει να είναι
trueήfalse - Η εντολή διαβάζει την τρέχουσα διαμόρφωση και τροποποιεί μόνο τον διακόπτη αυτόματης εκκίνησης, χωρίς να επηρεάζονται οι άλλες ρυθμίσεις
- Έξοδος:
Auto-start enabled for VM <id>ήAuto-start disabled for VM <id>
III. Αντιγραφή, εξαγωγή και διαγραφή εικονικών μηχανών
vms vm clone – Κλωνοποίηση εικονικής μηχανής
Δημιουργεί ένα αντίγραφο νέας εικονικής μηχανής χρησιμοποιώντας μια υπάρχουσα ως πρότυπο.
vms vm clone --body '{"guest_id":"<source_id>","name":"my-clone"}'
vms vm clone --file clone.json
- Στο σώμα του αιτήματος, το
guest_idείναι το ID της πηγαίας εικονικής μηχανής και τοname(ήguest_name) είναι το όνομα της νέας εικονικής μηχανής - Η πηγαία εικονική μηχανή πρέπει να είναι απενεργοποιημένη
- Το
--bodyπερνά απευθείας το σώμα του αιτήματος ως συμβολοσειρά JSON, ενώ το--fileδιαβάζει το σώμα του αιτήματος από αρχείο
vms vm export – Εξαγωγή εικονικής μηχανής
Εξάγει την εικονική μηχανή ως αρχείο OVA, διευκολύνοντας το backup ή τη μετεγκατάσταση σε άλλη πλατφόρμα virtualization.
vms vm export --body '{"guest_id":"<source_id>","target_ova_path":"/Volume1/export/my-vm.ova"}'
vms vm export --file export.json
- Στο σώμα του αιτήματος, το
guest_idείναι το ID της πηγαίας εικονικής μηχανής, τοtarget_ova_pathείναι η διαδρομή του αρχείου προορισμού και τοova_modeείναι η προαιρετική λειτουργία συμβατότητας με VMware - Η πηγαία εικονική μηχανή πρέπει να είναι απενεργοποιημένη
- Η εξαγωγή είναι χρονοβόρα εργασία και η εξαγωγή εικονικών μηχανών μεγάλου μεγέθους διαρκεί περισσότερο
vms vm delete – Διαγραφή εικονικής μηχανής (υψηλού κινδύνου)
Οριστική διαγραφή της εικονικής μηχανής.
vms vm delete <id> [--yes]
- Αποτελεί ενέργεια υψηλού κινδύνου: στη διαδραστική λειτουργία ζητείται επιβεβαίωση, ενώ στη μη διαδραστική λειτουργία πρέπει να προστεθεί
--yes - Μετά τη διαγραφή δεν είναι δυνατή η ανάκτηση, βεβαιωθείτε εκ των προτέρων ότι τα δεδομένα στην εικονική μηχανή έχουν γίνει backup
Προτροπή επιβεβαίωσης στη διαδραστική λειτουργία:
This action will permanently delete VM "5a0391f2-c545-45eb-8eed-0a104972229b". Do you want to continue? [y/N]:
- Έξοδος:
VM deleted: <id>
IV. Εικονικοί σκληροί δίσκοι
vms vm disk list – Προβολή εικονικών σκληρών δίσκων
Εμφανίζει όλους τους εικονικούς σκληρούς δίσκους της καθορισμένης εικονικής μηχανής.
vms vm disk list <id> [--json]
Παράδειγμα εξόδου:
NAME VDISK ID VDISK SIZE VDISK MODE IDX
- f4ed4eae-1512-4273-963b-79ebd93a0932 1024 1 0
- Το
VDISK MODEείναι ο αριθμός τύπου του ελεγκτή του εικονικού σκληρού δίσκου, το1σημαίνει IDE - Οι εικονικοί σκληροί δίσκοι χωρίς όνομα εμφανίζονται στη στήλη
NAMEως-
V. Διαχείριση snapshot
vms vm snapshot list – Λίστα snapshot
vms vm snapshot list <id> [--json]
Παράδειγμα εξόδου:
NAME GUEST ID DESCRIPTION LOCKED CREATED AT VM STATE ACTUAL CONSISTENCY
snapshot_2026-09-02T11-43-51.183703274 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1 cli-test-edited false 2026-09-02T11:43:51+08:00 running crash
snapshot_2026-05-15T17-13-48.986448711 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1 - false 2026-05-15T17:13:48+08:00 shutdown filesystem
- Το
VM STATEείναι η κατάσταση λειτουργίας της εικονικής μηχανής τη στιγμή της δημιουργίας του snapshot - Το
ACTUAL CONSISTENCYείναι ο τύπος συνέπειας του snapshot, τοfilesystemσημαίνει συνέπεια του συστήματος αρχείων και τοcrashσημαίνει συνέπεια κατάρρευσης
vms vm snapshot create – Δημιουργία snapshot
Δημιουργεί ένα snapshot της εικονικής μηχανής για γρήγορη επαναφορά ή backup της τρέχουσας κατάστασης.
vms vm snapshot create <id>
vms vm snapshot create <id> --body '{"description":"before-upgrade","locked":false}'
- Το σώμα του αιτήματος είναι προαιρετικό: το
descriptionείναι η περιγραφή του snapshot και τοlockedυποδεικνύει αν είναι κλειδωμένο - Το όνομα του snapshot δημιουργείται αυτόματα από το σύστημα με βάση τον χρόνο δημιουργίας
- Τα snapshot καταλαμβάνουν χώρο αποθήκευσης και η μη τακτική εκκαθάριση μπορεί να γεμίσει τον χώρο αποθήκευσης, συνιστάται τακτική οργάνωση
vms vm snapshot edit – Επεξεργασία snapshot
Τροποποιεί την περιγραφή ή την κατάσταση κλειδώματος του snapshot.
vms vm snapshot edit <id> <snapshot_name> --body '{"description":"updated description"}'
vms vm snapshot edit <id> <snapshot_name> --body '{"locked":true}'
- Τροποποιούνται μόνο τα πεδία που εμφανίζονται στο σώμα του αιτήματος, ενώ τα πεδία που δεν εμφανίζονται διατηρούν την αρχική τιμή. Η αλλαγή μόνο της περιγραφής δεν αλλάζει την κατάσταση κλειδώματος και το αντίστροφο
Παράδειγμα εξόδου:
PROPERTY VALUE
ACTUAL CONSISTENCY crash
CREATED AT 2026-09-02T11:43:51+08:00
DESCRIPTION cli-test-edited
GUEST ID 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1
LOCKED false
NAME snapshot_2026-09-02T11-43-51.183703274
VM STATE running
vms vm snapshot config – Προβολή διαμόρφωσης εικονικής μηχανής στο snapshot
Εμφανίζει τη διαμόρφωση της εικονικής μηχανής που είναι αποθηκευμένη στο snapshot.
vms vm snapshot config <id> <snapshot_name>
Το <id> είναι το ID της εικονικής μηχανής και το <snapshot_name> είναι το όνομα του snapshot, το οποίο μπορείτε να λάβετε μέσω vms vm snapshot list <id>.
Παράδειγμα εξόδου:
PROPERTY VALUE
CPU COMPATIBILITY MODE true
CPU PASSTHRU false
HYPERV ENLIGHTEN true
REPO NAME VM-Storage01
USB DEVICE NAME ["USB - Integrated Technology Express, Inc. Disk 2.0"]
USB VERSION 2
USBS [":3:3:048d:1234"]
VCPU NUM 4
VDISK NUM 1
VDISK TOTAL SIZE 1024
VDISKS [{"name":"disk1","type":"ide","vdisk_size":1024}]
VIDEO CARD vga
VRAM SIZE 2097152
vms vm snapshot consistency – Προεπισκόπηση συνέπειας snapshot
Πριν από τη δημιουργία snapshot, κάνει προεπισκόπηση του πιθανού τύπου συνέπειας, βοηθώντας να κριθεί αν η τρέχουσα στιγμή είναι κατάλληλη για τη δημιουργία snapshot.
vms vm snapshot consistency <id>
Παράδειγμα εξόδου:
PROPERTY VALUE
CONSISTENCY TYPE filesystem
REASON vm_shutdown
VM STATE shutdown
Όταν η εικονική μηχανή είναι απενεργοποιημένη, η δημιουργία snapshot παρέχει snapshot με συνέπεια του συστήματος αρχείων. Όταν είναι σε λειτουργία, συνήθως είναι εφικτό μόνο snapshot με συνέπεια κατάρρευσης.
VI. Απομακρυσμένη κονσόλα
vms vm link – Λήψη πληροφοριών σύνδεσης VNC
Λαμβάνει τις πληροφορίες σύνδεσης της κονσόλας VNC της εικονικής μηχανής, για άνοιγμα της απομακρυσμένης κονσόλας στον περιηγητή.
vms vm link <id> --json
- Η εικονική μηχανή πρέπει να βρίσκεται σε κατάσταση λειτουργίας ή παύσης, διαφορετικά επιστρέφεται σφάλμα σύγκρουσης κατάστασης
Παράδειγμα εξόδου:
{
"url": "VMs/noVNC/vnc.html?autoconnect=true\u0026reconnect=true\u0026path=utils/websockify/?token=09fd98ee-4e2d-4c7a-a95c-8bacab80d322\u0026title=145",
"port": 8181,
"https": false
}
- Το
urlείναι η διαδρομή της κονσόλας σε σχέση με τη διεύθυνση διαχείρισης του NAS, τοportείναι η θύρα της υπηρεσίας κονσόλας, τοhttpsυποδεικνύει αν απαιτείται πρόσβαση μέσω HTTPS - Στην έξοδο JSON, το
&στο URL διαφεύγει ως\u0026
VII. Διαχείριση εικονικού δικτύου
Οι τύποι δικτύου χωρίζονται σε δύο:
| Τύπος | Περιγραφή |
|---|---|
| Ιδιωτικό (private) | Εσωτερικό δίκτυο μόνο για επικοινωνία μεταξύ των τοπικών εικονικών μηχανών, δεν δεσμεύεται σε φυσική κάρτα δικτύου |
| Εξωτερικό (external) | Δίκτυο δεσμευμένο σε φυσική κάρτα δικτύου, μέσω του οποίου οι εικονικές μηχανές μπορούν να επικοινωνούν με το εξωτερικό |
vms network list – Λίστα εικονικών δικτύων
vms network list [--limit N] [--offset N] [--json]
Παράδειγμα εξόδου:
NAME NETWORK ID TYPE VLAN ID NUM GUESTS NUM HOSTS NUM INTERFACES HOST NAME
VM-Network04 ce9807c9-47b3-4258-9a80-ea8db1fd785d external 0 0 1 1 A-eae4
VM-Network01 b364a1ec-f60c-4971-9ea2-f7a002f09fa3 external 0 2 1 1 A-eae4
- Το
NUM GUESTSείναι ο αριθμός των εικονικών μηχανών που είναι συνδεδεμένες σε αυτό το δίκτυο και τοNUM INTERFACESείναι ο αριθμός των επιλεγμένων φυσικών καρτών δικτύου
vms network get – Προβολή λεπτομερειών εικονικού δικτύου
vms network get <network_id> --json
Παράδειγμα εξόδου:
{
"metadata": {
"createdAt": "2026-05-15T16:46:08.415062294+08:00",
"updatedAt": "2026-05-15T16:46:08.415062415+08:00"
},
"network_id": "b364a1ec-f60c-4971-9ea2-f7a002f09fa3",
"name": "VM-Network01",
"host_id": "15341593-7f43-49f4-9523-6ac750a63a8a",
"host_name": "A-eae4",
"interfaces": {
"15341593-7f43-49f4-9523-6ac750a63a8a": {
"totalCount": 1,
"items": [
{
"checked": false,
"host_id": "15341593-7f43-49f4-9523-6ac750a63a8a",
"host_name": "A-eae4",
"interface_id": "/00000000-0000-0000-0000-6cbfb504eae5",
"interface_name": "LAN 2",
"ip": [
"192.168.2.121"
],
"mask": [
"ffffff00"
],
"speed_mbs": 1000,
"status": "connected",
"tx_kbps": 0,
"rx_kbps": 0
},
{
"checked": true,
"host_id": "15341593-7f43-49f4-9523-6ac750a63a8a",
"host_name": "A-eae4",
"interface_id": "/00000000-0000-0000-0000-6cbfb504eae4",
"interface_name": "LAN 1",
"ip": [
"10.18.8.95"
],
"mask": [
"ffffff00"
],
"speed_mbs": 1000,
"status": "connected",
"tx_kbps": 2.5458984375,
"rx_kbps": 11.45458984375
}
]
}
},
"num_guests": 0,
"num_hosts": 1,
"num_interfaces": 1,
"type": "external",
"vlan_id": 0
}
- Το
interfacesείναι οι πληροφορίες των καρτών δικτύου στις οποίες είναι δεσμευμένο το δίκτυο, οργανωμένες κατά ID κεντρικού υπολογιστή, ενώ τοcheckedυποδεικνύει αν η κάρτα δικτύου έχει επιλεγεί - Το
metadataκαταγράφει τον χρόνο δημιουργίας και ενημέρωσης του δικτύου
vms network create – Δημιουργία εικονικού δικτύου
vms network create --body '{"name":"net1","type":"private","host_name":"TNAS"}' --json
vms network create --body '{"name":"net1","type":"external","vlan_id":100,"host_name":"TNAS","interface_name":"LAN 1"}' --json
Δημιουργία ιδιωτικού δικτύου:
- Το σώμα του αιτήματος πρέπει να περιέχει
name,type(private),host_nameήhost_id, καθορίζοντας σε ποιον κεντρικό υπολογιστή δημιουργείται το δίκτυο - Πριν από τη δημιουργία, μπορείτε να δείτε τους διαθέσιμους κεντρικούς υπολογιστές μέσω
vms network list-interfaces private
Δημιουργία εξωτερικού δικτύου:
- Το σώμα του αιτήματος πρέπει να περιέχει
name,type(external),vlan_idκαι να καθορίζει τουλάχιστον μία φυσική κάρτα δικτύου - Μπορείτε να καθορίσετε την κάρτα δικτύου μέσω
interface_name(όπωςLAN 1) ήinterface_id. Όταν το όνομα της κάρτας δικτύου δεν είναι μοναδικό μεταξύ κεντρικών υπολογιστών, απαιτείται συνδυασμός μεhost_name - Πριν από τη δημιουργία, μπορείτε να δείτε τις διαθέσιμες κάρτες δικτύου μέσω
vms network list-interfaces external
Η έξοδος είναι οι πληροφορίες του δικτύου μετά τη δημιουργία, με δομή ίδια με του vms network get:
{
"metadata": {
"createdAt": "2026-09-17T16:57:32.064720576+08:00",
"updatedAt": "2026-09-17T16:57:32.064720634+08:00"
},
"network_id": "27047bd1-eeeb-4762-82ae-45094dea4854",
"name": "cli-demo-net",
"host_id": "15341593-7f43-49f4-9523-6ac750a63a8a",
"host_name": "A-eae4",
"interfaces": {
"15341593-7f43-49f4-9523-6ac750a63a8a": {
"totalCount": 1,
"items": [
{
"checked": true,
"host_id": "15341593-7f43-49f4-9523-6ac750a63a8a",
"host_name": "A-eae4",
"interface_id": "",
"interface_name": "PNdea4854",
"ip": null,
"mask": null,
"speed_mbs": 0,
"status": ""
}
]
}
},
"num_guests": 0,
"num_hosts": 1,
"num_interfaces": 1,
"type": "private",
"vlan_id": 0
}
Όταν δεν έχει καθοριστεί κάρτα δικτύου, η εντολή εμφανίζει υπόδειξη:
network create (type "external") requires selecting at least one interface; add "interface_name" (optionally scoped with "host_name") or "interface_id" to the body, e.g. {"name":"net1","type":"external","vlan_id":100,"host_name":"TNAS","interface_name":"LAN 1"}. Run "vms network list-interfaces external" to see available interfaces. Example available interface: LAN 2 on A-eae4 (host_id=15341593-7f43-49f4-9523-6ac750a63a8a, interface_id=/00000000-0000-0000-0000-6cbfb504eae5)
vms network update – Ενημέρωση εικονικού δικτύου
Υποβάλλονται μόνο τα πεδία που χρειάζονται τροποποίηση, ενώ τα μη υποβληθέντα διατηρούν την αρχική τιμή.
vms network update --body '{"network_id":"<network_id>","name":"renamed"}'
vms network update --body '{"network_id":"<network_id>","vlan_id":200}'
- Το σώμα του αιτήματος πρέπει να περιέχει
network_id - Η εντολή διαβάζει πρώτα την τρέχουσα διαμόρφωση του δικτύου και συγχωνεύει τα υποβληθέντα πεδία, ώστε το όνομα του δικτύου και οι επιλεγμένες κάρτες δικτύου να μην διαγράφονται
- Η έξοδος είναι οι ενημερωμένες πληροφορίες του δικτύου
vms network delete – Διαγραφή εικονικού δικτύου (υψηλού κινδύνου)
vms network delete <network_id> [--yes]
- Αποτελεί ενέργεια υψηλού κινδύνου: στη διαδραστική λειτουργία ζητείται επιβεβαίωση, ενώ στη μη διαδραστική λειτουργία πρέπει να προστεθεί
--yes - Η διαγραφή του δικτύου αποσυνδέει όλες τις εικονικές μηχανές που είναι συνδεδεμένες σε αυτό
- Συνιστάται να επιβεβαιώσετε πρώτα τις συνδεδεμένες εικονικές μηχανές μέσω
vms network list-vnics <network_id>
Προτροπή επιβεβαίωσης στη διαδραστική λειτουργία:
This action will delete network "b364a1ec-f60c-4971-9ea2-f7a002f09fa3". Do you want to continue? [y/N]:
- Έξοδος:
Network deleted: <network_id>
vms network list-interfaces – Λίστα διασυνδέσεων δικτύου
Εμφανίζει τις διασυνδέσεις δικτύου του καθορισμένου τύπου.
vms network list-interfaces external [--limit N] [--offset N]
vms network list-interfaces private [--limit N] [--offset N]
- Το
externalεπιστρέφει τις διαθέσιμες φυσικές κάρτες δικτύου στον κεντρικό υπολογιστή - Το
privateεπιστρέφει τις πληροφορίες κεντρικών υπολογιστών που μπορούν να χρησιμοποιηθούν για τη δημιουργία ιδιωτικού δικτύου
Παράδειγμα εξόδου (external):
INTERFACE NAME INTERFACE ID HOST NAME STATUS IP SPEED MBS
LAN 2 /00000000-0000-0000-0000-6cbfb504eae5 A-eae4 disconnected - -1
LAN 1 /00000000-0000-0000-0000-6cbfb504eae4 A-eae4 connected ["10.18.8.73"] 1000
Παράδειγμα εξόδου (private):
INTERFACE NAME INTERFACE ID HOST NAME STATUS IP SPEED MBS
- - A-eae4 - - 0
vms network list-vnics – Λίστα εικονικών καρτών δικτύου στο δίκτυο
vms network list-vnics <network_id> [--limit N] [--offset N] [--json]
Παράδειγμα εξόδου:
GUEST NAME GUEST ID MAC ADDRESS VIRTUAL INTERFACE ID NETWORK NAME STATUS PREFER SRIOV
win10 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1 1a:e2:ae:95:4a:51 fe972ef5-b066-4967-89fa-8e85e43c8808 VM-Network01 - false
win101 32ee5a74-de8b-47a9-959d-1725c881ceab 1a:f6:db:fb:3d:79 f93bf16c-01ca-4b60-b164-8a3083fb5f03 VM-Network01 - false
vms network ovsinfo – Προβολή κατάστασης OVS
Επιβεβαιώνει αν ο εικονικός διακόπτης Open vSwitch είναι ενεργοποιημένος.
vms network ovsinfo [--json]
Παράδειγμα εξόδου:
PROPERTY VALUE
RESULT true
Όταν το VALUE είναι true, το OVS είναι ενεργοποιημένο.
VIII. Διαχείριση images
vms image list – Λίστα images
Εμφανίζει τα αρχεία εικόνας συστήματος που μπορούν να χρησιμοποιηθούν για τη δημιουργία εικονικών μηχανών.
vms image list --json
- Το
image_nameείναι το όνομα του image και τοfile_nameείναι το αντίστοιχο όνομα αρχείου - Το
typeείναι η μορφή του image, όπωςiso,qcow2 - Το
statusείναι η κατάσταση του image, τοavailableσημαίνει διαθέσιμο - Το
reposείναι ο χώρος αποθήκευσης όπου βρίσκεται το image - Το
progressείναι η πρόοδος της εργασίας επεξεργασίας του image, το0σημαίνει ότι δεν υπάρχει εργασία σε εξέλιξη
Παράδειγμα εξόδου:
{
"totalCount": 4,
"items": [
{
"image_name": "cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x86_dvd_9c50652f",
"image_id": "c93083a5-2b39-4f32-b19f-1ad97c6b4de4",
"file_name": "cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x86_dvd_9c50652f.iso",
"type": "iso",
"file_size": 3884539904,
"status": "available",
"status_code": 0,
"status_reason": "",
"create_time": 1778835784,
"repos": [
{
"repo_name": "VM-Storage01",
"repo_id": "735ef7f7-5d8d-4102-9377-8a7b8c33cda6"
}
],
"progress": 0,
"task_id": 0,
"virtual_size": 0
},
{
"image_name": "cn_windows_11_consumer_editions_version_21h2_updated_july_2022_x64_dvd_50ad4acf",
"image_id": "cb9d929a-d673-4e46-ac86-9488bbef19b9",
"file_name": "cn_windows_11_consumer_editions_version_21h2_updated_july_2022_x64_dvd_50ad4acf.iso",
"type": "iso",
"file_size": 5858816000,
"status": "available",
"status_code": 0,
"status_reason": "",
"create_time": 1778835784,
"repos": [
{
"repo_name": "VM-Storage01",
"repo_id": "735ef7f7-5d8d-4102-9377-8a7b8c33cda6"
}
],
"progress": 0,
"task_id": 0,
"virtual_size": 0
},
{
"image_name": "virtio-win-0.1.285pro",
"image_id": "9b3f2fdd-9173-4611-a84c-0cc9ce88293c",
"file_name": "virtio-win-0.1.285.iso",
"type": "iso",
"file_size": 789645312,
"status": "available",
"status_code": 0,
"status_reason": "",
"create_time": 1778836128,
"repos": [
{
"repo_name": "VM-Storage01",
"repo_id": "735ef7f7-5d8d-4102-9377-8a7b8c33cda6"
}
],
"progress": 0,
"task_id": 0,
"virtual_size": 0
},
{
"image_name": "haos_ova-18.2",
"image_id": "efd6da18-9475-44cf-8fb0-e2513421e68a",
"file_name": "haos_ova-18.2.qcow2",
"type": "qcow2",
"file_size": 1091698688,
"status": "available",
"status_code": 0,
"status_reason": "",
"create_time": 1787191833,
"repos": [
{
"repo_name": "VM-Storage02",
"repo_id": "517571ba-f7f7-49e1-9a62-7eb6ddfd9c78"
}
],
"progress": 0,
"task_id": 0,
"virtual_size": 0
}
]
}
vms image edit – Επεξεργασία image
Τροποποιεί το όνομα του image ή προσαρμόζει τον χώρο αποθήκευσης όπου βρίσκεται το image.
vms image edit --body '{"image_id":"<image_id>","repos":["<repo_id>"]}'
vms image edit --body '{"image_id":"<image_id>","repos":["<repo_id_1>","<repo_id_2>"],"image_name":"renamed.iso"}'
- Το σώμα του αιτήματος πρέπει να περιέχει
image_idκαιrepos, όπου τοreposείναι η πλήρης λίστα των χώρων αποθήκευσης προορισμού του image και δεν μπορεί να είναι κενό - Τα
image_name,file_name,type,file_sizeείναι προαιρετικά πεδία και, όταν δεν παρέχονται, διατηρούνται οι τρέχουσες τιμές - Το κενό
reposθα οδηγήσει στην αφαίρεση του image από όλους τους χώρους αποθήκευσης, οπότε η εντολή απορρίπτει το αίτημα πριν από την εκτέλεση - Έξοδος:
Image updated
vms image delete – Διαγραφή image (υψηλού κινδύνου)
vms image delete --image-id <image_id> [--yes]
- Το
--image-idείναι υποχρεωτικό - Αποτελεί ενέργεια υψηλού κινδύνου: στη διαδραστική λειτουργία ζητείται επιβεβαίωση, ενώ στη μη διαδραστική λειτουργία πρέπει να προστεθεί
--yes - Η διαγραφή του image δεν επηρεάζει τις ήδη δημιουργημένες εικονικές μηχανές, αλλά επηρεάζει τη μελλοντική δημιουργία εικονικών μηχανών βάσει αυτού του image
- Συνιστάται να επιβεβαιώσετε πρώτα τη χρήση μέσω
vms image list-vms --image-id <image_id>
Προτροπή επιβεβαίωσης στη διαδραστική λειτουργία:
This action will permanently delete image "efd6da18-9475-44cf-8fb0-e2513421e68a". Do you want to continue? [y/N]:
- Έξοδος:
Image deleted: <image_id>
vms image list-vms – Προβολή εικονικών μηχανών που χρησιμοποιούν το image
vms image list-vms --image-id <image_id> [--json]
Παράδειγμα εξόδου:
GUEST NAME
1454486
Πριν από τη διαγραφή του image, μπορείτε να εκτελέσετε πρώτα αυτή την εντολή για να επιβεβαιώσετε το εύρος επιρροής. Όταν καμία εικονική μηχανή δεν χρησιμοποιεί το image, η έξοδος είναι κενή.
IX. Διαχείριση χώρου αποθήκευσης
vms repo list – Λίστα χώρων αποθήκευσης
vms repo list [--json]
Παράδειγμα εξόδου:
NAME REPO ID STATUS USED PERCENT USED TOTAL SIZE FILE SYSTEM HOST NAME
VM-Storage01 735ef7f7-5d8d-4102-9377-8a7b8c33cda6 - 155583651840 14.150249481201172 1097552691200 btrfs -
VM-Storage02 517571ba-f7f7-49e1-9a62-7eb6ddfd9c78 normal 89361494016 16.64487648010254 535146790912 btrfs A-eae4
vms repo get – Προβολή λεπτομερειών χώρου αποθήκευσης
vms repo get <repo_id> [--json]
Παράδειγμα εξόδου:
PROPERTY VALUE
ENABLE LOWER NOTIFY false
FILE SYSTEM btrfs
HARD LIMIT 2
HOST ID 15341593-7f43-49f4-9523-6ac750a63a8a
HOST NAME A-eae4
LAST NOTIFY TRESHOLD -
LOCATION VOLUME /Volume2
NAME VM-Storage02
REPO ID 517571ba-f7f7-49e1-9a62-7eb6ddfd9c78
SOFT LIMIT 10
STATUS normal
TOTAL SIZE 534760128512
- Το
LOCATION VOLUMEείναι ο τόμος όπου βρίσκεται ο χώρος αποθήκευσης - Τα
SOFT LIMIT,HARD LIMITείναι τα κατώφλια ειδοποίησης χωρητικότητας (ποσοστό) - Το
ENABLE LOWER NOTIFYυποδεικνύει αν είναι ενεργοποιημένη η ειδοποίηση ανεπαρκούς χωρητικότητας
vms repo update – Ενημέρωση χώρου αποθήκευσης
Υποβάλλονται μόνο τα πεδία που χρειάζονται τροποποίηση, ενώ τα μη υποβληθέντα διατηρούν την αρχική τιμή.
vms repo update --body '{"repo_id":"<repo_id>","name":"new-name"}'
vms repo update --body '{"repoId":"<repo_id>","enable_lower_notify":true}'
- Το ID του χώρου αποθήκευσης μπορεί να περαστεί μέσω
repo_idήrepoId - Η εντολή διαβάζει πρώτα την τρέχουσα διαμόρφωση και συγχωνεύει τα υποβληθέντα πεδία, ώστε οι άλλες ρυθμίσεις να μην χάνονται
- Η έξοδος είναι οι ενημερωμένες πληροφορίες του χώρου αποθήκευσης
vms repo delete – Διαγραφή χώρου αποθήκευσης (υψηλού κινδύνου)
vms repo delete <repo_id> <true|false> [--yes]
- Η δεύτερη παράμετρος είναι
need_save_data: τοtrueσημαίνει διατήρηση των αρχείων δεδομένων στον δίσκο και τοfalseσημαίνει διαγραφή μαζί με τα δεδομένα - Αποτελεί ενέργεια υψηλού κινδύνου: στη διαδραστική λειτουργία ζητείται επιβεβαίωση, ενώ στη μη διαδραστική λειτουργία πρέπει να προστεθεί
--yes - Η διαγραφή του χώρου αποθήκευσης αφαιρεί ταυτόχρονα τις εικονικές μηχανές και τα images που περιέχει, οπότε συνιστάται να εκτελέσετε πρώτα
vms repo check-runningκαιvms repo whether-exist-dataγια να επιβεβαιώσετε το εύρος επιρροής
Προτροπή επιβεβαίωσης στη διαδραστική λειτουργία:
This action will delete repository "735ef7f7-5d8d-4102-9377-8a7b8c33cda6" (save data: true). Do you want to continue? [y/N]:
- Έξοδος:
Repository deleted: <repo_id>
vms repo list-volumes – Λίστα διαθέσιμων τόμων
Εμφανίζει τους τόμους που μπορούν να χρησιμοποιηθούν για τη δημιουργία χώρου αποθήκευσης.
vms repo list-volumes [--json]
Παράδειγμα εξόδου:
NAME UUID DEVICE FILESYSTEM STATUS VOLUME TYPE TOTAL USED AVAILABLE USAGE
lv3 00000004-2608-1311-3025-6cbfb504eae4 /dev/mapper/vg0-lv3 ext4 - - {"unit":"KB","value":102626232} {"unit":"KB","value":52} {"unit":"KB","value":101561220} 0.000051200619070623694
lv2 00000003-2606-2215-3256-6cbfb504eae4 /dev/mapper/vg0-lv2 btrfs - - {"unit":"KB","value":104857600} {"unit":"KB","value":9715824} {"unit":"KB","value":93096464} 9.450061066630479
vms repo list-vms – Λίστα εικονικών μηχανών στον χώρο αποθήκευσης
vms repo list-vms --body '{"repo_id":"<repo_id>"}'
- Το ID του χώρου αποθήκευσης μπορεί να περαστεί μέσω
repo_idήrepoId - Η εντολή λαμβάνει πρώτα το αντικείμενο του χώρου αποθήκευσης και στη συνέχεια αναζητά τις εικονικές μηχανές του, με αποτέλεσμα πιο αξιόπιστο αποτέλεσμα
vms repo check-running – Έλεγχος εικονικών μηχανών σε λειτουργία στον χώρο αποθήκευσης
vms repo check-running <repo_id> [--json]
Εκτελείται πριν από τη διαγραφή του χώρου αποθήκευσης για να επιβεβαιωθεί ότι καμία εικονική μηχανή δεν βρίσκεται σε λειτουργία. Όταν δεν υπάρχουν εικονικές μηχανές σε λειτουργία, η έξοδος είναι κενή.
vms repo whether-exist-data – Έλεγχος ύπαρξης δεδομένων στον χώρο αποθήκευσης
vms repo whether-exist-data --body '{"repo_id":"<repo_id>"}'
Εκτελείται πριν από τη διαγραφή του χώρου αποθήκευσης για να επιβεβαιωθεί αν υπάρχουν ακόμη δεδομένα σε αυτόν. Είναι ίδιο με τον προέλεγχο πριν από τη διαγραφή χώρου αποθήκευσης στο Web interface.
X. Καθολικές ρυθμίσεις
vms setting get – Προβολή καθολικών ρυθμίσεων
Εμφανίζει την καθολική διαμόρφωση της εφαρμογής VMs.
vms setting get [--json]
Παράδειγμα εξόδου:
PROPERTY VALUE
HOST SHUTDOWN BEHAVIOR 1
KB LAYOUT en-us
SHOW VIRTIO BLK VDISK false
- Το
HOST SHUTDOWN BEHAVIORείναι ο τρόπος χειρισμού των εικονικών μηχανών κατά την απενεργοποίηση του κεντρικού υπολογιστή - Το
KB LAYOUTείναι η διάταξη πληκτρολογίου των εικονικών μηχανών
XI. Αναζήτηση πληροφοριών παρακολούθησης
vms collectd hostinfo – Προβολή πληροφοριών παρακολούθησης κεντρικού υπολογιστή
vms collectd hostinfo [--limit N] [--offset N] [--json]
Παράδειγμα εξόδου:
NAME ID STATUS TYPE CPU USAGE RAM USAGE DESC
A-eae4 - running healthy 2.53 15.66 Info
vms collectd vminfo – Προβολή πληροφοριών παρακολούθησης εικονικών μηχανών
vms collectd vminfo [--limit N] [--offset N] [--json]
Παράδειγμα εξόδου:
NAME ID STATUS TYPE CPU USAGE RAM USAGE DESC
145 09fd98ee-4e2d-4c7a-a95c-8bacab80d322 shutdown healthy 0 0 info
win10 9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1 shutdown healthy 0 0 info
win101 32ee5a74-de8b-47a9-959d-1725c881ceab shutdown healthy 0 0 info
vms collectd storageinfo – Προβολή πληροφοριών παρακολούθησης αποθήκευσης
vms collectd storageinfo [--limit N] [--offset N] [--json]
Παράδειγμα εξόδου:
NAME ID HOST NAME STATUS TYPE SIZE USED PERCENT USED PERCENT FREE
VM-Storage01 735ef7f7-5d8d-4102-9377-8a7b8c33cda6 A-eae4 none healthy 1097552691200 155583651840 14.328414916992188 85.67158508300781
VM-Storage02 517571ba-f7f7-49e1-9a62-7eb6ddfd9c78 A-eae4 none healthy 535146790912 89361494016 16.966018676757812 83.03398132324219
Διαδραστική και μη διαδραστική λειτουργία
Το CLI προσδιορίζει αν εκτελείται σε περιβάλλον τερματικού και υιοθετεί διαφορετική συμπεριφορά:
Διαδραστική λειτουργία (περιβάλλον τερματικού)
- Οι επικίνδυνες ενέργειες εμφανίζουν προτροπή επιβεβαίωσης, με προεπιλεγμένη επιλογή το No
- Εισαγάγετε
yήYγια συνέχεια καιnή απλώς Enter για ακύρωση - Κατά την ακύρωση της ενέργειας εξάγεται
Operation cancelledκαι ο κωδικός εξόδου είναι 99
Μη διαδραστική λειτουργία (script/αυτοματισμός)
- Οι επικίνδυνες ενέργειες πρέπει να χρησιμοποιούν
--yesγια παράλειψη της επιβεβαίωσης, διαφορετικά η εντολή εμφανίζει απευθείας σφάλμα και επιστρέφει κωδικό εξόδου 1 - Χωρίς περιβάλλον τερματικού δεν περιμένει εισαγωγή, κάτι που είναι κατάλληλο για κλήσεις από scripts και προγραμματισμένες εργασίες
- Συνιστάται ο ρητός χειρισμός των κωδικών εξόδου στα scripts, για διάκριση μεταξύ επιτυχίας, αποτυχίας και σύγκρουσης κατάστασης
Μορφή εξόδου JSON
Οι εντολές αναζήτησης υποστηρίζουν την παράμετρο --json, εξάγοντας τυποποιημένα δεδομένα JSON, διευκολύνοντας την ανάλυση από προγράμματα.
Συμβάσεις μορφής:
- Τα ονόματα πεδίων χρησιμοποιούν snake_case
- Οι λογικές τιμές είναι true/false
- Ο χρόνος χρησιμοποιεί μορφή ISO 8601, με ακρίβεια νανοδευτερολέπτου και μετατόπιση ζώνης UTC+8 (όπως 2026-09-02T11:43:51.176535374+08:00)
- Η έξοδος JSON γράφεται στο stdout και τα μηνύματα σφάλματος στο stderr
- Τα μεγάλα πεδία που περικόπτονται στην έξοδο πίνακα εμφανίζονται ως πλήρεις τιμές στην έξοδο JSON
Παράδειγμα:
vms setting get --json
{
"host_shutdown_behavior": 1,
"kb_layout": "en-us",
"show_virtio_blk_vdisk": false
}
Οι δομές JSON διαφέρουν ελαφρώς μεταξύ των εντολών: τα vms vm list, vms vm snapshot list, vms vm logs εξάγουν απευθείας πίνακα. Οι υπόλοιπες εντολές τύπου λίστας εξάγουν αντικείμενο που περιέχει totalCount και πεδία δεδομένων, των οποίων τα ονόματα ποικίλλουν ανά πόρο (όπως items, hosts, vms, storage). Για παράδειγμα vms repo list --json:
{
"totalCount": 2,
"items": {
"517571ba-f7f7-49e1-9a62-7eb6ddfd9c78": {
"name": "VM-Storage02",
"repo_id": "517571ba-f7f7-49e1-9a62-7eb6ddfd9c78",
"status": "normal",
"used": 89361494016,
"percent_used": 16.64487648010254,
"location_volume": "/Volume2",
"total_size": 535146790912,
"hard_limit": 2,
"soft_limit": 10,
"enable_lower_notify": false,
"file_system": "btrfs"
}
}
}
Ορισμένες εντολές εξάγουν απλές τιμές JSON, για παράδειγμα το vms network ovsinfo --json εξάγει true και το vms vm pause --json εξάγει null.
Επεξήγηση κωδικών εξόδου
| Κωδικός εξόδου | Σημασία | Τυπικό σενάριο |
|---|---|---|
| 0 | Επιτυχία | Η εντολή ολοκληρώθηκε κανονικά |
| 1 | Σφάλμα παραμέτρου | Έλλειψη υποχρεωτικής παραμέτρου, λανθασμένη μορφή παραμέτρου, μη προσθήκη --yes |
| 3 | Ο πόρος δεν υπάρχει | Ο προέλεγχος της εντολής απέτυχε, για παράδειγμα το καθορισμένο image δεν υπάρχει |
| 4 | Σύγκρουση κατάστασης | Η τρέχουσα κατάσταση της εικονικής μηχανής δεν επιτρέπει αυτή την ενέργεια (όπως εκτέλεση απενεργοποίησης σε απενεργοποιημένη εικονική μηχανή) |
| 6 | Σφάλμα σύνδεσης | Αδυναμία σύνδεσης με την υπηρεσία VMs ή λανθασμένη διαδρομή socket |
| 7 | Λήξη χρόνου | Λήξη χρόνου αιτήματος, μπορεί να προσαρμοστεί μέσω --timeout |
| 9 | Σφάλμα εκτέλεσης | Το backend επέστρεψε σφάλμα (το μήνυμα σφάλματος περιέχει code_num και περιγραφή σφάλματος) |
| 99 | Ακύρωση από τον χρήστη | Επιλογή No ή απλό Enter κατά τη διαδραστική επιβεβαίωση |
Παράδειγμα:
# 退出码 1(参数错误)
vms vm poweroff <id>
# Confirmation required. Re-run with --yes to continue.
# 退出码 4(状态冲突)
vms vm pause <id>
# cannot pause a virtual machine: VM must be running (current status: shutdown)
# 退出码 9(执行错误)
vms vm get <id>
# vm check configure error: vdisk check - vm not exist: key not found (code_num=2001, vm check configure error)
# 退出码 6(连接错误)
vms vm list --socket /tmp/nope.sock
# failed to connect to VMs daemon (socket /tmp/nope.sock): dial unix /tmp/nope.sock: connect: no such file or directory
Παραδείγματα σεναρίων χρήσης
Καθημερινή λειτουργική διαχείριση
# 查看所有虚拟机状态
vms vm list
# 查看某台虚拟机的配置与运行状态
vms vm get <id>
# 查看虚拟机的操作日志
vms vm logs <id> --limit 20
# 开机、关机与重启
vms vm poweron <id>
vms vm poweroff <id> --yes
vms vm reboot <id>
Μαζικές ενέργειες με script
# 批量启动所有已关机的虚拟机
vms vm list --json | jq -r '.[] | select(.status == "shutdown") | .guest_id' | while read -r id; do
vms vm poweron "$id"
done
# 批量关闭所有运行中的虚拟机
vms vm list --json | jq -r '.[] | select(.status == "running") | .guest_id' | while read -r id; do
vms vm poweroff "$id" --yes
done
# 存储空间容量检查,超过 80% 时输出告警
vms collectd storageinfo --json | jq -r '.storage[] | select(.percent_used > 80) | .name'
Backup και επιθεώρηση
# 关机后为虚拟机创建快照
vms vm poweroff <id> --yes
vms vm snapshot consistency <id>
vms vm snapshot create <id> --body '{"description":"weekly-backup"}'
# 查看快照列表与详情
vms vm snapshot list <id>
vms vm snapshot config <id> <snapshot_name>
# 导出虚拟机为 OVA 文件,用于异地备份
vms vm export --body '{"guest_id":"<id>","target_ova_path":"/Volume1/backup/my-vm.ova"}'
Έλεγχος πριν από τη διαγραφή
# 删除存储空间前,先确认是否有虚拟机正在运行、是否存在数据
vms repo check-running <repo_id>
vms repo whether-exist-data --body '{"repo_id":"<repo_id>"}'
# 删除映像前,先确认有哪些虚拟机在使用
vms image list-vms --image-id <image_id>
# 删除网络前,先确认接入的虚拟机
vms network list-vnics <network_id>
Κλήση από εργαλεία AI
# AI 工具可通过命令行调用 vms 命令
# 例如:获取虚拟机与宿主机状态供 AI 分析
vms vm list --json
vms collectd hostinfo --json
# AI 可解析 JSON 输出并作出决策
vms vm list-resource --json
Εσωτερική ανάπτυξη και ενσωμάτωση συστήματος
# 开发人员可通过 CLI 封装内部运维工具
# 示例:封装虚拟机健康检查函数
check_vm_health() {
vms collectd vminfo --json | jq -r '.vms[] | select(.status != "running") | .name'
}
# 将 CLI 集成到内部监控平台
vms collectd storageinfo --json | curl -X POST https://monitor.example.com/api/report -d @-
Συχνές ερωτήσεις
Ε: Χρειάζεται το CLI πρόσθετη εγκατάσταση;
Όχι. Το CLI εγκαθίσταται μαζί με την εφαρμογή VMs και μπορείτε να το χρησιμοποιήσετε εκτελώντας απευθείας την εντολή vms αφού ενεργοποιηθεί η εφαρμογή.
Ε: Είναι υποχρεωτική η χρήση του CLI μέσω SSH;
Όχι. Το CLI μπορεί να κληθεί από οποιοδήποτε τερματικό γραμμής εντολών, συμπεριλαμβανομένων τοπικού τερματικού, απομακρυσμένου SSH, scripts, εργαλείων AI κ.λπ.
Ε: Μπορεί το CLI να διαχειρίζεται εικονικές μηχανές σε άλλες συσκευές;
Όχι. Το CLI επικοινωνεί με την υπηρεσία VMs μέσω τοπικού unix socket και χρησιμοποιείται μόνο για τη διαχείριση τοπικών εικονικών μηχανών.
Ε: Γιατί ορισμένες εντολές ζητούν επιβεβαίωση και άλλες όχι;
Ενέργειες όπως η διαγραφή εικονικής μηχανής, η διαγραφή δικτύου, η διαγραφή image, η διαγραφή χώρου αποθήκευσης και η απενεργοποίηση (poweroff, force-poweroff) επηρεάζουν δεδομένα ή υπηρεσίες, επομένως απαιτούν εξ ορισμού επιβεβαίωση. Οι εντολές εκκίνησης, επανεκκίνησης, παύσης, επανάληψης και αναζήτησης δεν έχουν τέτοιον περιορισμό.
Ε: Πώς επιβεβαιώνονται οι επικίνδυνες ενέργειες στη μη διαδραστική λειτουργία;
Όλες οι επικίνδυνες ενέργειες πρέπει να προσθέτουν την παράμετρο --yes, διαφορετικά η εντολή τερματίζεται με σφάλμα (κωδικός εξόδου 1).
Ε: Πώς προσδιορίζεται στα scripts αν η εντολή εκτελέστηκε επιτυχώς;
Μέσω του κωδικού εξόδου: το 0 σημαίνει επιτυχία και οποιοδήποτε μη 0 σημαίνει αποτυχία. Μπορείτε επίσης να αναλύσετε το περιεχόμενο εξόδου του --json.
Ε: Γιατί η λίστα στην έξοδο --json είναι αντικείμενο;
Η έξοδος JSON ορισμένων εντολών οργανώνεται σε αντικείμενο κατά ID, με συνοδευτικό πεδίο totalCount, διευκολύνοντας την άμεση ανάκτηση κατά ID.
Περισσότερη βοήθεια
Κάθε εντολή υποστηρίζει --help για προβολή λεπτομερούς χρήσης:
vms --help
vms vm --help
vms vm poweroff --help
vms network create --help