CLI Quick Reference & Cheat Sheet
Cheat SheetpvclipivirtctlTalos & KVM
A quick lookup guide for the most frequently used commands across pvcli, pivirtctl, and PiVirt hypervisor operations.
pvcli (Cloud & Multi-Node VPS Management)
Section titled “pvcli (Cloud & Multi-Node VPS Management)”pvcli connects to the PiVirt Agent via ConnectRPC / gRPC.
VM Operations
Section titled “VM Operations”# List VMs with status and IP addressespvcli vm listpvcli vm ls
# Get detailed VM state (JSON, YAML, or table)pvcli vm get <vm-id-or-name>pvcli vm get web-server-01 -o yaml
# Create a VMpvcli vm create --name web-server --cpus 4 --memory 8G --disk 50G --image ubuntu-24.04
# Power managementpvcli vm start <vm-id>pvcli vm stop <vm-id>pvcli vm restart <vm-id>pvcli vm pause <vm-id>pvcli vm unpause <vm-id>
# Clone & Rebuildpvcli vm clone <source-vm-id> --name <new-vm-name>pvcli vm rebuild <vm-id> --image ubuntu-24.04
# Delete VM (with attached disks)pvcli vm delete <vm-id> --forceDisks & Storage
Section titled “Disks & Storage”# List storage volumespvcli disk list
# Create a new diskpvcli disk create --name data-vol --size 100G --pool default
# Attach/detach disk to a VMpvcli disk attach <disk-id> --vm <vm-id>pvcli disk detach <disk-id> --vm <vm-id>
# Extend disk capacity onlinepvcli disk extend <disk-id> --size 200G
# Delete diskpvcli disk delete <disk-id>Images & Catalog
Section titled “Images & Catalog”# List available cloud imagespvcli image list
# Download OS image from registrypvcli image pull ubuntu-24.04pvcli image pull debian-12
# Upload custom QCOW2/RAW imagepvcli image upload --file ./custom-app.qcow2 --name custom-app-v1
# Delete imagepvcli image delete <image-id>Networks & Interfaces
Section titled “Networks & Interfaces”# List virtual networks and bridgespvcli network list
# Create networkpvcli network create --name tenant-net --subnet 192.168.10.0/24 --gateway 192.168.10.1
# Manage VM network interfacespvcli network interfaces <vm-id>pvcli network add-interface <vm-id> --network tenant-netpvcli network remove-interface <vm-id> --mac 52:54:00:12:34:56Auth & Contexts
Section titled “Auth & Contexts”# Authenticate via OAuth2 Device Code flowpvcli auth loginpvcli auth whoamipvcli auth logout
# Context management (switch clusters / endpoints)pvcli context listpvcli context currentpvcli context add prod agent.prod.pilab.hu 5001pvcli context add dev localhost 5001 --insecurepvcli context switch prod
# Launch Interactive Terminal UI (TUI)pvcli uipivirtctl (Local Hypervisor Daemon Management)
Section titled “pivirtctl (Local Hypervisor Daemon Management)”pivirtctl talks directly to the local pivirtd daemon over Unix domain socket (/var/lib/pivirt/daemon/pivirtd.sock).
# Set custom socket if neededexport PIVIRTD_SOCKET=/var/lib/pivirt/daemon/pivirtd.sock
# VM lifecycle on local nodepivirtctl vm listpivirtctl vm info <vm-id>pivirtctl vm start <vm-id>pivirtctl vm stop <vm-id>pivirtctl vm reset <vm-id>pivirtctl vm delete <vm-id>
# Snapshotspivirtctl vm snapshot create <vm-id> --name pre-upgrade-snappivirtctl vm snapshot list <vm-id>pivirtctl vm snapshot revert <vm-id> --name pre-upgrade-snap
# Storage pools and volumespivirtctl storage pool listpivirtctl storage volume list --pool default
# Network bridges & interfacespivirtctl network listTalos Linux Kubernetes Cluster Quick Ops
Section titled “Talos Linux Kubernetes Cluster Quick Ops”# 1. Generate machine configs with talosctltalosctl gen config talos-cluster https://10.0.0.10:6443 --output-dir ./cluster-config
# 2. Place machine config for a nodemkdir -p /var/lib/pivirt/vms/talos-cp-0cp ./cluster-config/controlplane.yaml /var/lib/pivirt/vms/talos-cp-0/talos-config
# 3. Create & start Talos node in pivirtdpivirtctl vm create talos-cp-0 --vcpus 4 --memory 8192 --disk size=40GB,format=qcow2pivirtctl vm start talos-cp-0
# 4. Bootstrap cluster once control plane has bootedtalosctl --talosconfig ./cluster-config/talosconfig -n 10.0.0.10 bootstrap
# 5. Fetch kubeconfigtalosctl --talosconfig ./cluster-config/talosconfig -n 10.0.0.10 kubeconfig .kubectl --kubeconfig ./kubeconfig get nodesHost Services & Troubleshooting One-Liners
Section titled “Host Services & Troubleshooting One-Liners”Systemd Daemons
Section titled “Systemd Daemons”# pivirtd status & logssudo systemctl status pivirtdsudo journalctl -u pivirtd -f
# agent status & logssudo systemctl status agentsudo journalctl -u agent -f
# Restart servicessudo systemctl restart pivirtdsudo systemctl restart agentNetworking & OVS
Section titled “Networking & OVS”# Check Open vSwitch bridge statussudo ovs-vsctl showsudo ovs-vsctl list-ports br-provision
# Inspect IPTables metadata redirectsudo iptables -t nat -L PREROUTING -n -v | grep 169.254.169.254
# Check TAP interface statsip link show type tunStorage & iSCSI
Section titled “Storage & iSCSI”# Scan iSCSI targetssudo iscsiadm -m discovery -t sendtargets -p <storage-ip>:3260
# Inspect multipath statussudo multipath -ll
# Check OCFS2 cluster statussudo o2cb.init status