Proxmox Virtual Environment (Proxmox VE or PVE) is a hyper-converged infrastructure open-source software. It is a hosted hypervisor that can run operating systems including Linux and Windows on x64 hardware. It is a Debian-based Linux distribution with a modified Ubuntu LTS kernel and allows deployment and management of virtual machines and containers. Proxmox VE includes a web console and command-line tools, and provides a REST API for third-party tools. Two types of virtualization are supported: container-based with LXC (starting from version 4.0 replacing OpenVZ used in version up to 3.4, included), and full virtualization with KVM. It includes a web-based management interface. Proxmox VE is licensed under the GNU Affero General Public License, version 3. Repository: [https://git.proxmox.com](https://git.proxmox.com) Website: [https://pve.proxmox.com](https://pve.proxmox.com) ## VM Management ```shell # list VMs qm list # Create or restore a virtual machine. qm create your-vm-id # start a VM qm start your-vm-id # Suspend virtual machine. qm suspend your-vm-id # shutdown a VM qm shutdown your-vm-id # reboot a VM qm reboot your-vm-id # reset a VM qm reset your-vm-id # stop a VM qm stop your-vm-id # Destroy the VM and all used/owned volumes. # Removes any VM specific permissions and firewall rules qm destroy your-vm-id # Enter Qemu Monitor interface. qm monitor your-vm-id # Get the virtual machine configuration with both current and pending values. qm pending your-vm-id # Send key event to virtual machine. qm sendkey your-vm-id your-key-event [OPTIONS] # Show command line which is used to start the VM (debug info). qm showcmd your-vm-id [OPTIONS] # Unlock the VM. qm unlock your-vm-id # Clone a VM qm clone your-vm-id new-vm-id # Migrate a VM qm migrate your-vm-id target-node # Show VM status qm status your-vm-id # Clean up resources for a VM qm cleanup your-vm-id your-clean-shutdown your-guest-requested # Create a Template. qm template your-vm-id [OPTIONS] # Set virtual machine options (synchrounous API) qm set your-vm-id [OPTIONS] ``` ### Cloudinit ```shell # Get automatically generated cloudinit config. qm cloudinit dump your-vm-id your-vm-type # Get the cloudinit configuration with both current and pending values. qm cloudinit pending your-vm-id # Regenerate and change cloudinit config drive. qm cloudinit update your-vm-id ``` ### Disk ```shell # Import an external disk image as an unused disk in a VM. # The image format has to be supported by qemu-img(1). qm disk import your-vm-id your-target-source your-target-storage # Move volume to different storage or to a different VM. qm disk move your-vm-id your-vm-disk [] [OPTIONS] # Rescan all storages and update disk sizes and unused disk images. qm disk rescan [OPTIONS] # Extend volume size. qm disk resize your-vm-id your-vm-disk [OPTIONS] # Unlink/delete disk images. qm disk unlink your-vm-id --idlist [OPTIONS] # rescan volumes qm rescan ``` ### Snapshot ```shell # List all snapshots. qm listsnapshot your-vm-id # Snapshot a VM qm snapshot your-vm-id # Delete a snapshot. qm delsnapshot your-vm-id # Rollback a snapshot qm rollback your-vm-id # Open a terminal using a serial device # (The VM need to have a serial device configured, for example serial0: socket) qm terminal your-vm-id [OPTIONS] # Proxy VM VNC traffic to stdin/stdout qm vncproxy your-vm-id ``` ### Misc ```shell # Execute Qemu Guest Agent commands. qm guest cmd your-vm-id # Executes the given command via the guest agent qm guest exec your-vm-id [] [OPTIONS] # Gets the status of the given pid started by the guest-agent qm guest exec-status your-vm-id # Sets the password for the given user to the given password qm guest passwd your-vm-id [OPTIONS] ``` ### PV, VG, LV Management ```shell # Create a PV pvcreate # Remove a PV pvremove # List all PVs pvs # Create a VG vgcreate # Remove a VG vgremove # List all VGs vgs # Create a LV lvcreate -L -n # Remove a LV lvremove / # List all LVs lvs ``` ### Storage Management ```shell # Create a new storage. pvesm add [OPTIONS] # Allocate disk images. pvesm alloc your-vm-id [OPTIONS] # Delete volume pvesm free [OPTIONS] # Delete storage configuration. pvesm remove # List storage content. pvesm list [OPTIONS] # An alias for pvesm scan lvm. pvesm lvmscan # An alias for pvesm scan lvmthin. pvesm lvmthinscan # List local LVM volume groups. pvesm scan lvm # List local LVM Thin Pools. pvesm scan lvmthin # Get status for all datastores. pvesm status [OPTIONS] ``` ### Template Management ```shell # list all templates pveam available # list all templates pveam list # Download appliance templates pveam download