Skip to main content
Version: TOS 7

VMs CLI

Bevezetés​

A VMs CLI a TerraMaster VMs virtualizációs alkalmazásának parancssori felügyeleti eszköze, amely a webes felügyeleti felülettel azonos lekérdezési és üzemeltetési képességeket nyújt. A CLI helyi unix socketen keresztül kommunikál a VMs szolgáltatással, szabványosított parancsinterfészt és JSON kimeneti formátumot használ, és beilleszthető szkriptekbe, automatizált üzemeltetésbe, valamint másodlagos fejlesztési munkafolyamatokba.

Fő jellemzők​

  • Azonnal használható: a VMs alkalmazással együtt települ, nincs szükség külön telepítésre
  • Rugalmas meghívási módok: támogatja a helyi terminált, a távoli SSH-t, a szkripteket, az AI eszközöket és számos egyéb hívási módot
  • Interaktív és nem interaktív kettős mód: alkalmas mind a rendszergazdák napi karbantartására, mind a szkriptekre és automatizált feladatokra
  • JSON kimeneti támogatás: megkönnyíti a programok általi feldolgozást és az automatizált integrációt
  • Helyi kommunikáció: kizárólag helyi unix socketen keresztül kommunikál a VMs szolgáltatással, nem nyit portot kifelé
  • Veszélyes műveletek másodlagos megerősítése: a virtuális gép törlése, a hálózat törlése és hasonló műveletek alapértelmezés szerint megerősítést igényelnek

Gyors kezdés​

# 在终端中执行(可通过本地终端、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 -

Globális opciók​

Az alábbi opciók minden parancsra érvényesek:

OpcióRövidítésLeírás
--help-hA parancs súgójának megjelenítése
--version-vA verziószám megjelenítése (a --json opcióval strukturált kimenet kérhető)
--json-Kimenet JSON formátumban
--yes-yA veszélyes műveletek megerősítési kérésének kihagyása (nem interaktív módban kötelező)
--debug-Hibakeresési kimenet engedélyezése, a részletes végrehajtási folyamat megjelenítése
--socket <path>-A VMs unix socket elérési útja, alapértelmezés: /var/api/VMs.sock
--timeout <duration>-A kérés időtúllépése, alapértelmezés: 30s

Verzióinformáció példa​

vms --version
vms CLI v1.0.058
vms --version --json
{
"build": "20260911",
"cli_version": "v1.0.058"
}

Futási környezet​

A VMs CLI a VMs alkalmazással együtt települ. Az alkalmazás engedélyezésekor a CLI-t a rendszer alapértelmezett PATH könyvtárába linkeli, így SSH-s bejelentkezés után azonnal használható.

ElemLeírás
CLI fájl/Volume1/@apps/VMs/bin/vms
Parancs elérési útja/usr/local/sbin/vms(már benne van a rendszer PATH-jában)
Kommunikációs módHelyi unix socket, alapértelmezés: /var/api/VMs.sock
CélközönségA helyi gépre bejelentkezett rendszergazdák

Megjegyzések:

  • A CLI a helyi virtuális gépek felügyeletére szolgál, és nem támogatja más eszközök távoli felügyeletét CLI-n keresztül.
  • A háttérszolgáltatás mindig HTTP 200-at ad vissza, a parancs sikerességét a választörzs code mezője határozza meg, amelyet a CLI kilépési kóddá alakít.
  • A veszélyes műveletek (virtuális gép törlése, hálózat törlése, lemezkép törlése, tárhely törlése) interaktív módban megerősítést kérnek, nem interaktív módban pedig kifejezetten meg kell adni a --yes opciót.

Parancsösszefoglaló táblázat​

Az alábbiakban az összes vms parancs gyors összefoglaló referenciája található:

SzülőparancsAlparancsFunkció leírásaMegerősítés szükségesMagas kockázat
vms--versionVerzióinformáció megjelenítéseNemNem
vms vmlistAz összes virtuális gép listázásaNemNem
vms vmgetA megadott virtuális gép részleteinek megtekintéseNemNem
vms vmlist-resourceA virtuális gép létrehozásához elérhető erőforrások listázásaNemNem
vms vmlogsA virtuális gép műveleti naplójának megtekintéseNemNem
vms vmpoweronA virtuális gép elindításaNemNem
vms vmpoweroffA virtuális gép leállítása (normál leállítás)IgenNem
vms vmforce-poweroffA virtuális gép kényszerített leállításaIgen✅
vms vmrebootA virtuális gép újraindításaNemNem
vms vmpauseA virtuális gép szüneteltetéseNemNem
vms vmresumeA szüneteltetett virtuális gép folytatásaNemNem
vms vmautorunAutomatikus indítás beállítása rendszerindításkorNemNem
vms vmcloneA virtuális gép klónozásaNemNem
vms vmexportA virtuális gép exportálása OVA fájlbaNemNem
vms vmdeleteA virtuális gép törléseIgen✅
vms vm disklistA virtuális gép virtuális merevlemezeinek megtekintéseNemNem
vms vm snapshotlistA virtuális gép pillanatképeinek listázásaNemNem
vms vm snapshotcreatePillanatkép létrehozásaNemNem
vms vm snapshoteditA pillanatkép leírásának és zárolási állapotának szerkesztéseNemNem
vms vm snapshotconfigA pillanatképben tárolt virtuálisgép-konfiguráció megtekintéseNemNem
vms vm snapshotconsistencyA pillanatkép konzisztenciájának előnézeteNemNem
vms vmlinkA VNC konzol kapcsolódási adatainak lekéréseNemNem
vms networklistA virtuális hálózatok listázásaNemNem
vms networkgetA virtuális hálózat részleteinek megtekintéseNemNem
vms networkcreateVirtuális hálózat létrehozásaNemNem
vms networkupdateA virtuális hálózat frissítéseNemNem
vms networkdeleteA virtuális hálózat törléseIgen✅
vms networklist-interfacesA megadott típusú hálózati interfészek listázásaNemNem
vms networklist-vnicsA hálózaton lévő virtuális hálózati kártyák listázásaNemNem
vms networkovsinfoAz OVS engedélyezettségének megtekintéseNemNem
vms imagelistA lemezképek listázásaNemNem
vms imageeditA lemezkép adatainak szerkesztéseNemNem
vms imagedeleteA lemezkép törléseIgen✅
vms imagelist-vmsA lemezképet használó virtuális gépek megtekintéseNemNem
vms repolistA tárhelyek listázásaNemNem
vms repogetA tárhely részleteinek megtekintéseNemNem
vms repoupdateA tárhely konfigurációjának frissítéseNemNem
vms repodeleteA tárhely törléseIgen✅
vms repolist-volumesAz elérhető kötetek listázásaNemNem
vms repolist-vmsA tárhelyen lévő virtuális gépek listázásaNemNem
vms repocheck-runningA tárhelyen futó virtuális gépek ellenőrzéseNemNem
vms repowhether-exist-dataAnnak ellenőrzése, hogy van-e adat a tárhelyenNemNem
vms settinggetA globális beállítások megtekintéseNemNem
vms collectdhostinfoA hoszt monitorozási adatainak megtekintéseNemNem
vms collectdvminfoA virtuális gépek monitorozási adatainak megtekintéseNemNem
vms collectdstorageinfoA tárhely monitorozási adatainak megtekintéseNemNem

Parancsreferencia​

A parancsokban a <id> a virtuális gép azonosítója, amely megfelel a virtuális gépek listájának kimenetében szereplő GUEST ID-nek; ugyanígy a <network_id>, <image_id>, <repo_id> is, amelyek rendre a vms network list, vms image list, vms repo list parancsokkal kérhetők le.

A kimeneti példákról:A vms táblázatos kimenete a túl hosszú mezőértékeket rögzített szélességre vágja (három ponttal végződik, és nem függ a terminál szélességétől), például a virtuális gép konfigurációjában a VDISKS, VNICS, ISO IMAGES, valamint a lemezképnevek. Ezért ebben a dokumentumban a hosszú mezőket érintő parancsok egységesen a teljes --json kimeneti példát adják meg, a többi parancs pedig a táblázatos kimeneti példát. Szkriptfeldolgozás esetén is javasolt egységesen a --json használata.

I. Virtuális gépek lekérdezése​

vms vm list – Virtuális gépek listázása​

A helyi gépen lévő összes virtuális gép és alapállapotuk listázása.

vms vm list [--limit N] [--offset N] [--json]
  • A --limit és a --offset a lapozási paraméterek
  • Kimeneti oszlopok: név, virtuális gép azonosítója, futási állapot, CPU magok száma, memória mérete (KB-ban), IP-cím

Kimeneti példa:

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 -

A STATUS gyakori értékei:

ÁllapotLeírás
runningFut
shutdownLeállítva
savedSzüneteltetve (a futási állapot lemezre mentve)

vms vm get – Virtuális gép részleteinek megtekintése​

A megadott virtuális gép teljes konfigurációjának és futási állapotának megtekintése.

vms vm get <id> --json
  • A kimenet tartalmazza a virtuális gép összes konfigurációs és futási állapotmezőjét
  • Az üres értékek, például leírás nélkül vagy IP nélkül, üres karakterláncként jelennek meg
  • Ha a virtuális gép nem létezik, a parancs hibát ad vissza és hibaüzenetet ír ki

Kimeneti példa:

{
"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 – A virtuális gép létrehozásához elérhető erőforrások listázása​

A hoszt által nyújtható erőforrások, például firmware-típusok, lemezképek, CPU, memória, hálózat, tárhelyek és átengedhető eszközök megtekintése a virtuális gép létrehozása előtti felméréshez.

vms vm list-resource --json

Visszaadott mezők: max_cpu_num, max_ram_size, usbs, pci_devices, networks, repos, images, video_cards, firmware, keyboard_layout.

Kimeneti példa:

{
"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 – A virtuális gép műveleti naplójának megtekintése​

A megadott virtuális géphez kapcsolódó műveleti napló megtekintése (be- és kikapcsolás, pillanatkép, szerkesztés, import/export stb.).

vms vm logs <id> --json [--limit N] [--desc]
  • A --limit a visszaadott bejegyzések számát adja meg, alapértelmezés: 50
  • A --desc idő szerint csökkenő sorrendbe rendez (alapértelmezés szerint bekapcsolva)
  • Minden naplóbejegyzés tartalmazza az időt, a szintet, a kategóriát, a műveletet végző felhasználót és az esemény leírását, az esemény leírása pedig teljes szöveg
  • Az esemény leírását (event) a VMs szolgáltatás az eszköz rendszernyelvének megfelelően lokalizálva adja ki, a dokumentum példái egységesen angol nyelvet használnak

Kimeneti példa:

[
{
"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. Virtuális gépek tápellátás-kezelése​

vms vm poweron – A virtuális gép elindítása​

vms vm poweron <id>
  • A virtuális gépnek leállított állapotban kell lennie, különben állapotütközési hiba érkezik vissza
  • Kimenet: VM powered on: <id>

vms vm poweroff – A virtuális gép leállítása​

Normál leállítási kérést küld a virtuális gépnek, hogy a rendszer szabályosan leálljon.

vms vm poweroff <id> [--yes]
  • Veszélyes művelet: interaktív módban megerősítést kér, nem interaktív módban kötelező a --yes
  • A virtuális gépnek futó állapotban kell lennie, különben állapotütközési hiba érkezik vissza

Megerősítési kérés interaktív módban:

This action will powered off VM "9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1". Do you want to continue? [y/N]: 
  • Kimenet: VM powered off: <id>

vms vm force-poweroff – A virtuális gép kényszerített leállítása (magas kockázat)​

A virtuális gép kényszerített leállítása, ami egyenértékű az áramellátás azonnali megszakításával.

vms vm force-poweroff <id> [--yes]
  • Magas kockázatú művelet: interaktív módban megerősítést kér, nem interaktív módban kötelező a --yes
  • A virtuális gépen belüli adatvesztést okozhat, ezért csak akkor javasolt, ha a virtuális gép nem válaszol

Megerősítési kérés interaktív módban:

This action will force powered off VM "9c7078ab-a1e7-4bc0-819f-6ac83e24cfc1". Do you want to continue? [y/N]: 
  • Kimenet: VM force powered off: <id>

vms vm reboot – A virtuális gép újraindítása​

vms vm reboot <id>
  • Kimenet: VM rebooted: <id>

vms vm pause – A virtuális gép szüneteltetése​

Fagyasztja a virtuális gép futási állapotát, és a jelenlegi állapotot lemezre menti.

vms vm pause <id>
  • A virtuális gépnek futó állapotban kell lennie, különben állapotütközési hiba érkezik vissza
  • Szüneteltetés után a virtuális gép állapota saved értéket mutat
  • Kimenet: VM paused: <id>

vms vm resume – A virtuális gép folytatása​

A virtuális gépet a szüneteltetett állapotból futó állapotba állítja vissza.

vms vm resume <id>
  • A virtuális gépnek szüneteltetett állapotban kell lennie, különben állapotütközési hiba érkezik vissza
  • Kimenet: VM resumed: <id>

vms vm autorun – Automatikus indítás beállítása rendszerindításkor​

Beállítja, hogy a virtuális gép automatikusan elindul-e a hoszttal együtt.

vms vm autorun <id> <true|false>
  • A második paraméternek true vagy false értékűnek kell lennie
  • A parancs beolvassa a jelenlegi konfigurációt, és csak az automatikus indítás kapcsolóját módosítja, a többi beállítás változatlan marad
  • Kimenet: Auto-start enabled for VM <id> vagy Auto-start disabled for VM <id>

III. Virtuális gépek másolása, exportálása és törlése​

vms vm clone – A virtuális gép klónozása​

Új virtuális gépet hoz létre egy meglévő virtuális gép sablonként való felhasználásával.

vms vm clone --body '{"guest_id":"<source_id>","name":"my-clone"}'
vms vm clone --file clone.json
  • A kéréstörzsben a guest_id a forrás virtuális gép azonosítója, a name (vagy guest_name) pedig az új virtuális gép neve
  • A forrás virtuális gépnek leállított állapotban kell lennie
  • A --body közvetlenül JSON karakterláncként adja át a kéréstörzset, a --file pedig fájlból olvassa be a kéréstörzset

vms vm export – A virtuális gép exportálása​

A virtuális gép OVA fájlba exportálása, megkönnyítve a biztonsági mentést vagy a más virtualizációs platformra való áttelepítést.

vms vm export --body '{"guest_id":"<source_id>","target_ova_path":"/Volume1/export/my-vm.ova"}'
vms vm export --file export.json
  • A kéréstörzsben a guest_id a forrás virtuális gép azonosítója, a target_ova_path a célfájl elérési útja, az ova_mode pedig az opcionális VMware-kompatibilis mód
  • A forrás virtuális gépnek leállított állapotban kell lennie
  • Az exportálás időigényes feladat, a nagy kapacitású virtuális gépek exportálása hosszabb ideig tart

vms vm delete – A virtuális gép törlése (magas kockázat)​

A virtuális gép végleges törlése.

vms vm delete <id> [--yes]
  • Magas kockázatú művelet: interaktív módban megerősítést kér, nem interaktív módban kötelező a --yes
  • Törlés után a helyreállítás nem lehetséges, ezért előzetesen győződjön meg arról, hogy a virtuális gépen lévő adatok biztonsági mentése megtörtént

Megerősítési kérés interaktív módban:

This action will permanently delete VM "5a0391f2-c545-45eb-8eed-0a104972229b". Do you want to continue? [y/N]: 
  • Kimenet: VM deleted: <id>

IV. Virtuális merevlemezek​

vms vm disk list – A virtuális merevlemezek megtekintése​

A megadott virtuális gép összes virtuális merevlemezének listázása.

vms vm disk list <id> [--json]

Kimeneti példa:

NAME  VDISK ID                              VDISK SIZE  VDISK MODE  IDX
- f4ed4eae-1512-4273-963b-79ebd93a0932 1024 1 0
  • A VDISK MODE a virtuális merevlemez-vezérlő típusszáma, az 1 az IDE-t jelenti
  • A névtelen virtuális merevlemezek a NAME oszlopban - értékkel jelennek meg

V. Pillanatkép-kezelés​

vms vm snapshot list – Pillanatképek listázása​

vms vm snapshot list <id> [--json]

Kimeneti példa:

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
  • A VM STATE a virtuális gép futási állapota a pillanatkép létrehozásakor
  • Az ACTUAL CONSISTENCY a pillanatkép konzisztenciatípusa, a filesystem fájlrendszer-konzisztenciát, a crash pedig összeomlás-konzisztenciát jelent

vms vm snapshot create – Pillanatkép létrehozása​

Pillanatkép létrehozása a virtuális gépről a jelenlegi állapot gyors visszaállításához vagy mentéséhez.

vms vm snapshot create <id>
vms vm snapshot create <id> --body '{"description":"before-upgrade","locked":false}'
  • A kéréstörzs opcionális: a description a pillanatkép leírása, a locked pedig a zároltságot jelzi
  • A pillanatkép nevét a rendszer a létrehozás időpontja alapján automatikusan generálja
  • A pillanatképek tárhelyet foglalnak, és a hosszú távú tisztítás elmaradása megtöltheti a tárhelyet, ezért rendszeres rendszerezés javasolt

vms vm snapshot edit – Pillanatkép szerkesztése​

A pillanatkép leírásának vagy zárolási állapotának módosítása.

vms vm snapshot edit <id> <snapshot_name> --body '{"description":"updated description"}'
vms vm snapshot edit <id> <snapshot_name> --body '{"locked":true}'
  • Csak a kéréstörzsben szereplő mezők módosulnak, a nem szereplő mezők megtartják eredeti értéküket; a leírás önmagában történő módosítása nem változtatja meg a zárolási állapotot, és fordítva

Kimeneti példa:

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 – A pillanatképben lévő virtuálisgép-konfiguráció megtekintése​

A pillanatképben tárolt virtuálisgép-konfiguráció megtekintése.

vms vm snapshot config <id> <snapshot_name>

Az <id> a virtuális gép azonosítója, a <snapshot_name> a pillanatkép neve, amely a vms vm snapshot list <id> paranccsal kérhető le.

Kimeneti példa:

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 – A pillanatkép konzisztenciájának előnézete​

A pillanatkép létrehozása előtt előnézetet ad a lehetséges konzisztenciatípusról, segítve annak eldöntését, hogy a jelenlegi állapot alkalmas-e pillanatkép létrehozására.

vms vm snapshot consistency <id>

Kimeneti példa:

PROPERTY          VALUE
CONSISTENCY TYPE filesystem
REASON vm_shutdown
VM STATE shutdown

Leállított virtuális gép esetén a pillanatkép létrehozása fájlrendszer-konzisztens pillanatképet eredményez; futó állapotban általában csak összeomlás-konzisztens pillanatkép érhető el.

VI. Távoli konzol​

A virtuális gép VNC konzoljának kapcsolódási adatait kéri le, a távoli konzol böngészőben való megnyitásához.

vms vm link <id> --json
  • A virtuális gépnek futó vagy szüneteltetett állapotban kell lennie, különben állapotütközési hiba érkezik vissza

Kimeneti példa:

{
"url": "VMs/noVNC/vnc.html?autoconnect=true\u0026reconnect=true\u0026path=utils/websockify/?token=09fd98ee-4e2d-4c7a-a95c-8bacab80d322\u0026title=145",
"port": 8181,
"https": false
}
  • Az url a konzol NAS felügyeleti címéhez viszonyított elérési útja, a port a konzolszolgáltatás portja, a https pedig azt jelzi, hogy HTTPS-en keresztüli hozzáférésre van-e szükség
  • A JSON kimenetben az URL-ben lévő & \u0026 formára kerül escape-elésre

VII. Virtuális hálózat kezelése​

A hálózattípusok kétfélék:

TípusLeírás
Privát (private)Csak a helyi virtuális gépek közötti kommunikációra szolgáló belső hálózat, fizikai hálózati kártyához nem kötődik
Külső (external)Fizikai hálózati kártyához kötött hálózat, amelyen keresztül a virtuális gépek a külvilággal kommunikálhatnak

vms network list – Virtuális hálózatok listázása​

vms network list [--limit N] [--offset N] [--json]

Kimeneti példa:

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
  • A NUM GUESTS az ehhez a hálózathoz csatlakozó virtuális gépek száma, a NUM INTERFACES pedig a kiválasztott fizikai hálózati kártyák száma

vms network get – A virtuális hálózat részleteinek megtekintése​

vms network get <network_id> --json

Kimeneti példa:

{
"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
}
  • Az interfaces a hálózathoz kötött hálózati kártyák adatai, hoszt-azonosító szerint rendezve, a checked pedig azt jelzi, hogy az adott kártya ki van-e választva
  • A metadata a hálózat létrehozási és frissítési idejét rögzíti

vms network create – Virtuális hálózat létrehozása​

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

Privát hálózat létrehozása:

  • A kéréstörzsnek tartalmaznia kell a name, type (private), host_name vagy host_id mezőket, megadva, hogy melyik hoszton jön létre a hálózat
  • Létrehozás előtt a vms network list-interfaces private paranccsal tekintheti meg az elérhető hosztokat

Külső hálózat létrehozása:

  • A kéréstörzsnek tartalmaznia kell a name, type (external), vlan_id mezőket, és legalább egy fizikai hálózati kártyát meg kell adni
  • A hálózati kártya az interface_name (például LAN 1) vagy az interface_id segítségével adható meg; ha a kártya neve hosztok között nem egyedi, a host_name mezővel együtt kell használni
  • Létrehozás előtt a vms network list-interfaces external paranccsal tekintheti meg az elérhető hálózati kártyákat

A kimenet a létrehozás utáni hálózati adatok, amelyek szerkezete megegyezik a vms network get kimenetével:

{
"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
}

Ha nincs megadva hálózati kártya, a parancs jelzést ad:

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 – A virtuális hálózat frissítése​

Csak a módosítandó mezők kerülnek benyújtásra, a be nem nyújtott mezők megtartják eredeti értéküket.

vms network update --body '{"network_id":"<network_id>","name":"renamed"}'
vms network update --body '{"network_id":"<network_id>","vlan_id":200}'
  • A kéréstörzsnek tartalmaznia kell a network_id mezőt
  • A parancs először beolvassa a jelenlegi hálózati konfigurációt, és összevonja a benyújtott mezőkkel, így a hálózat neve és a kiválasztott hálózati kártyák nem törlődnek
  • A kimenet a frissített hálózati adatok

vms network delete – A virtuális hálózat törlése (magas kockázat)​

vms network delete <network_id> [--yes]
  • Magas kockázatú művelet: interaktív módban megerősítést kér, nem interaktív módban kötelező a --yes
  • A hálózat törlése leválasztja az ahhoz csatlakozó összes virtuális gépet
  • Javasolt előzetesen a vms network list-vnics <network_id> paranccsal megerősíteni a csatlakozó virtuális gépeket

Megerősítési kérés interaktív módban:

This action will delete network "b364a1ec-f60c-4971-9ea2-f7a002f09fa3". Do you want to continue? [y/N]: 
  • Kimenet: Network deleted: <network_id>

vms network list-interfaces – Hálózati interfészek listázása​

A megadott típusú hálózati interfészek listázása.

vms network list-interfaces external [--limit N] [--offset N]
vms network list-interfaces private [--limit N] [--offset N]
  • Az external a hoszton elérhető fizikai hálózati kártyákat adja vissza
  • A private a privát hálózat létrehozásához használható hosztok adatait adja vissza

Kimeneti példa (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

Kimeneti példa (private):

INTERFACE NAME  INTERFACE ID  HOST NAME  STATUS  IP  SPEED MBS
- - A-eae4 - - 0

vms network list-vnics – A hálózaton lévő virtuális hálózati kártyák listázása​

vms network list-vnics <network_id> [--limit N] [--offset N] [--json]

Kimeneti példa:

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 – Az OVS állapotának megtekintése​

Annak ellenőrzése, hogy az Open vSwitch virtuális kapcsoló engedélyezve van-e.

vms network ovsinfo [--json]

Kimeneti példa:

PROPERTY  VALUE
RESULT true

Ha a VALUE értéke true, az OVS engedélyezve van.

VIII. Lemezkép-kezelés​

vms image list – Lemezképek listázása​

A virtuális gépek létrehozásához használható rendszerlemezkép-fájlok listázása.

vms image list --json
  • Az image_name a lemezkép neve, a file_name pedig a hozzá tartozó fájlnév
  • A type a lemezkép formátuma, például iso, qcow2
  • A status a lemezkép állapota, az available az elérhetőt jelenti
  • A repos az a tárhely, ahol a lemezkép található
  • A progress a lemezképfeldolgozási feladat előrehaladása, a 0 azt jelenti, hogy nincs folyamatban lévő feladat

Kimeneti példa:

{
"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 – Lemezkép szerkesztése​

A lemezkép nevének módosítása vagy a lemezkép tárhelyének módosítása.

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"}'
  • A kéréstörzsnek tartalmaznia kell az image_id és repos mezőket, ahol a repos a lemezkép teljes cél-tárhelylistája, és nem lehet üres
  • Az image_name, file_name, type, file_size opcionális mezők, amelyek megadás hiányában a jelenlegi értéket tartják meg
  • Az üres repos a lemezkép összes tárhelyről való eltávolítását eredményezné, ezért a parancs a végrehajtás előtt elutasítja a kérést
  • Kimenet: Image updated

vms image delete – A lemezkép törlése (magas kockázat)​

vms image delete --image-id <image_id> [--yes]
  • Az --image-id kötelező
  • Magas kockázatú művelet: interaktív módban megerősítést kér, nem interaktív módban kötelező a --yes
  • A lemezkép törlése nem érinti a már létrehozott virtuális gépeket, de befolyásolja a lemezkép alapján történő későbbi virtuálisgép-létrehozást
  • Javasolt előzetesen a vms image list-vms --image-id <image_id> paranccsal megerősíteni a használatot

Megerősítési kérés interaktív módban:

This action will permanently delete image "efd6da18-9475-44cf-8fb0-e2513421e68a". Do you want to continue? [y/N]: 
  • Kimenet: Image deleted: <image_id>

vms image list-vms – A lemezképet használó virtuális gépek megtekintése​

vms image list-vms --image-id <image_id> [--json]

Kimeneti példa:

GUEST NAME
1454486

A lemezkép törlése előtt először ezt a parancsot futtathatja a hatókör megerősítéséhez; ha egyetlen virtuális gép sem használja a lemezképet, a kimenet üres.

IX. Tárhelykezelés​

vms repo list – Tárhelyek listázása​

vms repo list [--json]

Kimeneti példa:

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 – A tárhely részleteinek megtekintése​

vms repo get <repo_id> [--json]

Kimeneti példa:

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
  • A LOCATION VOLUME az a kötet, ahol a tárhely található
  • A SOFT LIMIT, HARD LIMIT a kapacitásriasztási küszöbértékek (százalékban)
  • Az ENABLE LOWER NOTIFY azt jelzi, hogy engedélyezve van-e az elégtelen kapacitásra vonatkozó figyelmeztetés

vms repo update – A tárhely frissítése​

Csak a módosítandó mezők kerülnek benyújtásra, a be nem nyújtott mezők megtartják eredeti értéküket.

vms repo update --body '{"repo_id":"<repo_id>","name":"new-name"}'
vms repo update --body '{"repoId":"<repo_id>","enable_lower_notify":true}'
  • A tárhely azonosítója a repo_id vagy a repoId mezőn keresztül adható át
  • A parancs először beolvassa a jelenlegi konfigurációt, és összevonja a benyújtott mezőkkel, így a többi beállítás nem vész el
  • A kimenet a frissített tárhelyadatok

vms repo delete – A tárhely törlése (magas kockázat)​

vms repo delete <repo_id> <true|false> [--yes]
  • A második paraméter a need_save_data: a true a lemezen lévő adatfájlok megőrzését, a false pedig az adatokkal együtt történő törlést jelenti
  • Magas kockázatú művelet: interaktív módban megerősítést kér, nem interaktív módban kötelező a --yes
  • A tárhely törlése egyidejűleg eltávolítja a benne lévő virtuális gépeket és lemezképeket, ezért javasolt először a vms repo check-running és a vms repo whether-exist-data parancsokat futtatni a hatókör megerősítéséhez

Megerősítési kérés interaktív módban:

This action will delete repository "735ef7f7-5d8d-4102-9377-8a7b8c33cda6" (save data: true). Do you want to continue? [y/N]: 
  • Kimenet: Repository deleted: <repo_id>

vms repo list-volumes – Az elérhető kötetek listázása​

A tárhely létrehozásához használható kötetek listázása.

vms repo list-volumes [--json]

Kimeneti példa:

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 – A tárhelyen lévő virtuális gépek listázása​

vms repo list-vms --body '{"repo_id":"<repo_id>"}'
  • A tárhely azonosítója a repo_id vagy a repoId mezőn keresztül adható át
  • A parancs először lekéri a tárhely objektumot, majd lekérdezi annak virtuális gépeit, így az eredmény megbízhatóbb

vms repo check-running – A tárhelyen futó virtuális gépek ellenőrzése​

vms repo check-running <repo_id> [--json]

A tárhely törlése előtt futtatandó, annak megerősítésére, hogy nem fut virtuális gép; ha nincs futó virtuális gép, a kimenet üres.

vms repo whether-exist-data – Annak ellenőrzése, hogy van-e adat a tárhelyen​

vms repo whether-exist-data --body '{"repo_id":"<repo_id>"}'

A tárhely törlése előtt futtatandó, annak megerősítésére, hogy van-e még adat a tárhelyen; megegyezik a webes felületen a tárhely törlése előtti előzetes ellenőrzéssel.

X. Globális beállítások​

vms setting get – A globális beállítások megtekintése​

A VMs alkalmazás globális konfigurációjának megtekintése.

vms setting get [--json]

Kimeneti példa:

PROPERTY                VALUE
HOST SHUTDOWN BEHAVIOR 1
KB LAYOUT en-us
SHOW VIRTIO BLK VDISK false
  • A HOST SHUTDOWN BEHAVIOR a virtuális gépek kezelésének módja a hoszt leállításakor
  • A KB LAYOUT a virtuális gépek billentyűzetkiosztása

XI. Monitorozási információk lekérdezése​

vms collectd hostinfo – A hoszt monitorozási adatainak megtekintése​

vms collectd hostinfo [--limit N] [--offset N] [--json]

Kimeneti példa:

NAME    ID  STATUS   TYPE     CPU USAGE  RAM USAGE  DESC
A-eae4 - running healthy 2.53 15.66 Info

vms collectd vminfo – A virtuális gépek monitorozási adatainak megtekintése​

vms collectd vminfo [--limit N] [--offset N] [--json]

Kimeneti példa:

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 – A tárhely monitorozási adatainak megtekintése​

vms collectd storageinfo [--limit N] [--offset N] [--json]

Kimeneti példa:

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

Interaktív és nem interaktív mód​

A CLI megállapítja, hogy terminálkörnyezetben fut-e, és ennek megfelelően eltérően viselkedik:

Interaktív mód (terminálkörnyezet)​

  • A veszélyes műveletek megerősítési kérést jelenítenek meg, az alapértelmezett opció a No
  • A folytatáshoz írja be az y vagy Y karaktert, a megszakításhoz az n karaktert vagy egyszerűen az Entert
  • A művelet megszakításakor az Operation cancelled üzenet jelenik meg, a kilépési kód pedig 99

Nem interaktív mód (szkript/automatizálás)​

  • A veszélyes műveleteknél a megerősítés kihagyásához kötelező a --yes használata, ellenkező esetben a parancs azonnal hibát jelez és 1-es kilépési kóddal tér vissza
  • Terminálkörnyezet hiányában nem vár bemenetre, így alkalmas szkriptekből és ütemezett feladatokból való hívásra
  • Javasolt a kilépési kódok kifejezett kezelése a szkriptekben, a siker, a hiba és az állapotütközés megkülönböztetéséhez

JSON kimeneti formátum​

A lekérdező parancsok támogatják a --json paramétert, szabványosított JSON adatokat adva ki, amelyeket könnyű feldolgozni programokkal.

Formátumkonvenciók:

  • A mezőnevek snake_case stílusban vannak
  • A logikai értékek true/false
  • Az idő ISO 8601 formátumú, nanoszekundum pontossággal és UTC+8 időzóna-eltolással (például 2026-09-02T11:43:51.176535374+08:00)
  • A JSON kimenet a stdout-ra, a hibaüzenetek a stderr-re kerülnek
  • A táblázatos kimenetben levágott hosszú mezők a JSON kimenetben teljes értékként szerepelnek

Példa:

vms setting get --json
{
"host_shutdown_behavior": 1,
"kb_layout": "en-us",
"show_virtio_blk_vdisk": false
}

A különböző parancsok JSON szerkezete némileg eltér: a vms vm list, vms vm snapshot list, vms vm logs közvetlenül tömböt ad ki; a többi listázó parancs totalCount mezőt és adatmezőket tartalmazó objektumot ad ki, amelyek adatmezőnevei erőforrásonként változnak (például items, hosts, vms, storage). Például a 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"
}
}
}

Egyes parancsok JSON kimenete egyszerű érték, például a vms network ovsinfo --json a true, a vms vm pause --json pedig a null értéket adja ki.

Kilépési kódok magyarázata​

Kilépési kódJelentésTipikus forgatókönyv
0SikerA parancs rendben lefutott
1ParaméterhibaHiányzó kötelező paraméter, hibás paraméterformátum, hiányzó --yes
3Az erőforrás nem létezikA parancs előzetes ellenőrzése nem sikerült, például a megadott lemezkép nem létezik
4ÁllapotütközésA virtuális gép jelenlegi állapota nem engedélyezi ezt a műveletet (például leállítás végrehajtása egy már leállított virtuális gépen)
6Kapcsolódási hibaNem sikerül csatlakozni a VMs szolgáltatáshoz, vagy hibás a socket elérési útja
7IdőtúllépésA kérés túllépte az időkorlátot, a --timeout opcióval állítható
9Végrehajtási hibaA háttérszolgáltatás hibát adott vissza (a hibaüzenet tartalmazza a code_num értéket és a hibaleírást)
99Felhasználói megszakításAz interaktív megerősítésnél a No választás vagy közvetlen Enter

Példa:

# 退出码 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

Használati forgatókönyvek példái​

Napi üzemeltetés​

# 查看所有虚拟机状态
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>

Batch-műveletek szkripttel​

# 批量启动所有已关机的虚拟机
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'

Biztonsági mentés és ellenőrzés​

# 关机后为虚拟机创建快照
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"}'

Törlés előtti ellenőrzés​

# 删除存储空间前,先确认是否有虚拟机正在运行、是否存在数据
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 eszközök hívása​

# AI 工具可通过命令行调用 vms 命令
# 例如:获取虚拟机与宿主机状态供 AI 分析
vms vm list --json
vms collectd hostinfo --json

# AI 可解析 JSON 输出并作出决策
vms vm list-resource --json

Belső fejlesztés és rendszerintegráció​

# 开发人员可通过 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 @-

Gyakori kérdések​

K: Szükséges a CLI külön telepítése?

Nem. A CLI a VMs alkalmazással együtt települ, az alkalmazás engedélyezése után azonnal használhatja a vms parancsot.

K: A CLI-t kötelező SSH-n keresztül használni?

Nem. A CLI bármilyen parancssori terminálból meghívható, beleértve a helyi terminált, a távoli SSH-t, a szkripteket, az AI eszközöket és egyebeket.

K: A CLI más eszközök virtuális gépeit is kezelheti?

Nem. A CLI helyi unix socketen keresztül kommunikál a VMs szolgáltatással, és kizárólag a helyi virtuális gépek felügyeletére szolgál.

K: Miért kérnek megerősítést egyes parancsok, mások pedig nem?

A virtuális gép törlése, a hálózat törlése, a lemezkép törlése, a tárhely törlése és a leállítás (poweroff, force-poweroff) adatokat vagy szolgáltatásokat érintő műveletek, ezért alapértelmezés szerint megerősítést igényelnek; az indítási, újraindítási, szüneteltetési, folytatási és lekérdező parancsoknak nincs ilyen korlátozásuk.

K: Hogyan kell megerősíteni a veszélyes műveleteket nem interaktív módban?

Minden veszélyes művelethez hozzá kell adni a --yes paramétert, ellenkező esetben a parancs hibával kilép (kilépési kód 1).

K: Hogyan állapítható meg szkriptben, hogy a parancs sikeresen lefutott-e?

A kilépési kód alapján: a 0 sikert, a nem 0 érték hibát jelent. A --json kimenet tartalma is feldolgozható.

K: Miért objektum a --json kimenetben szereplő lista?

Egyes parancsok JSON kimenete azonosító szerint objektumba rendezve jelenik meg, totalCount mezővel együtt, megkönnyítve az azonosító szerinti közvetlen hozzáférést.

További segítség​

Minden parancs támogatja a --help opciót a részletes használat megtekintéséhez:

vms --help
vms vm --help
vms vm poweroff --help
vms network create --help