CHAPTER 26
Advanced Administration and Command-Line Reference
Part XIII — Advanced Administration and Reference
Almost everything in this guide is done from the web console, and that is deliberate: the console is guided, reversible, and hard to get badly wrong. This chapter exists for the cases the console does not cover — when you need more detail than a page shows, when you are recovering from a fault, when support asks for specific output, or when you are scripting a repeatable task. The tools below expose the virtualization, storage, networking, and firewall layers that SimpleVM normally configures for you. They are powerful, and several of them are destructive. Used in the order this chapter recommends — read first, change one thing, keep a way back — they are also the fastest way to understand and repair a host.
Use it as a lookup, not a tutorial. If you know the command family you need, jump to its section (Section 26.3 through Section 26.7). If you are orienting from a VMware background, start with Section 26.8, VMware-to-SimpleVM Concepts. If you are collecting information for a support case, Section 26.16, Support Information Checklist tells you exactly what to gather. The glossary in Section 26.17 defines the terms used across the whole guide.
26.1 When to Use Advanced Administration Tools
Overview
Most day-to-day SimpleVM administration belongs in the management interface. The web console gives you a guided, reversible way to create virtual machines, read host health, manage storage pools, adjust virtual networks, review updates, and open a terminal — all without the risk that comes from typing raw commands against a live host. Reach for the command line when the console genuinely cannot do what you need:
- More detail than a page shows — full VM XML, exact pool capacity, the live routing table, or a service's recent log lines.
- Troubleshooting — confirming state and narrowing a fault when a page does not explain a symptom. The diagnostic method itself lives in Chapter 25, Troubleshooting.
- Support output — gathering the specific command output a support engineer asks for (see Section 26.16, Support Information Checklist).
- Automation — scripting a repeatable task that the console performs one click at a time.

26.2 Command-Line Administration Overview
Overview
SimpleVM is built on the standard RHEL-family virtualization stack, so the command-line tools are the same ones an experienced Linux virtualization administrator already knows. The command line does not replace the guided console for normal use, but it is valuable for verification, recovery, support, and automation. The families you will use most are below, with the risk each one carries.
| Command family | Used for | Typical risk level |
|---|---|---|
virsh | Virtual machines, storage pools, virtual networks, snapshots, and migration. | Medium to high, depending on the subcommand. |
virt-install | Creating virtual machines from the command line. | Medium. It creates new VM configuration and storage. |
nmcli | Viewing and changing host network connections. | High. A mistake can disconnect the host. |
firewall-cmd | Viewing and changing firewall zones, services, and ports. | Medium to high. A mistake can block management or cluster traffic. |
systemctl / journalctl | Service state and logs. | Low for viewing; medium when starting, stopping, or disabling services. |
df, lsblk, lvs/vgs/pvs | Reviewing host storage usage and block devices. | Low. Read-only. |
The safety pattern for advanced commands
Apply the same sequence every time, regardless of which family you are using. It is the single habit that prevents most command-line accidents:
- Confirm the host. Run hostnamectl and confirm you are on the host you intend to change.
- List before you change. List the current objects — VMs, pools, networks, zones, or connections — so you know the exact name you are acting on.
- Read-only first. Run list, info, show, or status commands before any command that changes state.
- Do not run destructive commands without a recovery path. Confirm the VM data, host configuration, or network path is backed up or otherwise recoverable first.
- Document production-affecting changes. Record what you changed, on which host, and when — anything that touches production VMs, storage, networking, firewall rules, or cluster behavior.
26.3 Common VM Commands
Overview
These virsh commands inspect and control virtual machines. Use the VM name exactly as it appears in the Virtual machines list or in virsh list --all. Read-only commands are safe to run at any time; the state-changing commands are marked in the notes column.
| Task | Command | Notes |
|---|---|---|
| List running VMs | virsh list | Virtual machines that are currently running. |
| List all VMs | virsh list --all | Running and stopped VMs. |
| Show VM details | virsh dominfo <vm> | ID, state, memory, and vCPU count. |
| Show VM configuration | virsh dumpxml <vm> | Full VM XML. Useful for support and as a configuration backup. |
| Show current state | virsh domstate <vm> | Running, paused, shut off, or another state. |
| Start a VM | virsh start <vm> | Starts a stopped VM. |
| Graceful shutdown | virsh shutdown <vm> | Changes state. Requests an orderly guest shutdown. |
| Force off a VM | virsh destroy <vm> | Destructive to state, not data. Force-stops the VM; does NOT delete it. Use only when graceful shutdown fails. |
| Graceful reboot | virsh reboot <vm> | Requests a guest reboot. |
| Enable autostart | virsh autostart <vm> | Starts the VM automatically with the host. |
| Disable autostart | virsh autostart --disable <vm> | Prevents automatic start with the host. |
| Open serial console | virsh console <vm> | Serial console, when the guest is configured for it. |
| Remove VM definition | virsh undefine <vm> | Destructive. Removes the VM definition. Does not always remove disks — confirm storage first. |
| List VM disks | virsh domblklist <vm> | Disk targets and backing files. |
| List VM interfaces | virsh domiflist <vm> | Network interfaces and attached networks or bridges. |
| Show active job | virsh domjobinfo <vm> | Progress of an active job such as a migration. |
26.4 Common Storage Commands
Overview
Storage commands verify pool status, refresh pool metadata, and collect information for support. For routine storage-pool work, use the management interface — see Chapter 12, Managing Storage Pools, and Chapter 13, Managing Host Storage. Confirm pool state on the Storage pools page before running virsh pool-* commands.

| Task | Command | Notes |
|---|---|---|
| List storage pools | virsh pool-list --all | Active and inactive pools. |
| Show pool details | virsh pool-info <pool> | State, capacity, allocation, and available space. |
| Show pool backing path | virsh pool-dumpxml <pool> | The directory or device backing the pool. |
| List pool volumes | virsh vol-list <pool> | Volumes contained in a pool. |
| Activate a pool | virsh pool-start <pool> | Starts an inactive pool. |
| Autostart a pool | virsh pool-autostart <pool> | Starts the pool automatically with the host. |
| Deactivate a pool | virsh pool-destroy <pool> | Changes state. Deactivates the pool (does not delete its files). VMs depending on it are affected. |
| Refresh pool metadata | virsh pool-refresh <pool> | Updates libvirt metadata after changes made outside libvirt. |
| Show block devices | lsblk -f | Disks, partitions, filesystems, and mount points. |
| Confirm a mount | findmnt /data | Confirms a mount point such as the data volume. |
| Show filesystem usage | df -h | Mounted filesystem usage in human-readable units. |
| Show LVM layout | lvs / vgs / pvs | Logical volumes, volume groups, and physical volumes. |
26.5 Common Network Commands
Overview
Network commands divide into two groups: the virsh net- commands for the virtual networks that VMs attach to, and the nmcli and ip commands for the host network the SimpleVM host itself uses. Be especially careful with host-network changes when you are connected remotely. Confirm virtual networks on the Networks page before running virsh net-; see Chapter 14, Managing Virtual Networks, and Chapter 15, Managing Host Networking.

| Task | Command | Notes |
|---|---|---|
| List virtual networks | virsh net-list --all | Active and inactive virtual networks. |
| Show network details | virsh net-info <network> | State, autostart, and bridge name. |
| Show network XML | virsh net-dumpxml <network> | Full virtual-network configuration. |
| Activate a network | virsh net-start <network> | Starts an inactive virtual network. |
| Autostart a network | virsh net-autostart <network> | Starts the network automatically with the host. |
| Stop a network | virsh net-destroy <network> | Changes state. Stops an active network; attached VMs can lose connectivity. |
| Show DHCP leases | virsh net-dhcp-leases <network> | Current DHCP leases on the network. |
| Show host devices | nmcli device status | Host interfaces and NetworkManager state. |
| Show host connections | nmcli connection show | Configured host connection profiles. |
| Show IP addresses | ip address show | Assigned addresses and interface state. |
| Show routing table | ip route show | Default gateway and routes. |
| Show bridge ports | bridge link show | Bridge port membership. |
| Test name resolution | getent hosts <fqdn> | Resolves a name using host resolver configuration. |
| Show active hostname | hostnamectl | Active hostname and host identity. |
26.6 Common Firewall Commands
Overview
The firewall protects the host and controls which services are reachable. SimpleVM uses firewalld with zones. Use the console for routine firewall review (see Chapter 16, Firewall and Security Settings) and firewall-cmd for detailed verification, support output, and the confirmed cluster-preparation procedure. Firewalld separates runtime and permanent configuration: a --permanent change does not take effect until you run firewall-cmd --reload.

| Task | Command | Notes |
|---|---|---|
| Show firewall state | firewall-cmd --state | Confirms firewalld is running. |
| Show default zone | firewall-cmd --get-default-zone | The default firewall zone. |
| List active zones | firewall-cmd --get-active-zones | Zones with interfaces or sources assigned. |
| List zone configuration | firewall-cmd --zone=<zone> --list-all | Services, ports, protocols, and interfaces for a zone. |
| List known services | firewall-cmd --get-services | Service names firewalld can use. |
| Add a service | firewall-cmd --permanent --zone=<zone> --add-service=<svc> | Changes config. Permanent; requires --reload. |
| Remove a service | firewall-cmd --permanent --zone=<zone> --remove-service=<svc> | Changes config. Permanent; requires --reload. |
| Add a TCP port | firewall-cmd --permanent --zone=<zone> --add-port=<port>/tcp | Use when no service definition exists. Requires --reload. |
| Apply permanent rules | firewall-cmd --reload | Applies permanent configuration to the running firewall. |
The cluster-preparation sequence below is confirmed against the live firewall zones (see Section 26.13, Firewall Services and Ports): the cluster zone allows ssh and qemu-nbd on TCP 49152–49215. Run it on each host, adding every peer as a source:
26.7 Common Migration Commands
Overview
Migration moves a virtual machine from one SimpleVM host to another. Use the documented migration and cluster workflows first — see Chapter 21, VM Migration, and Chapter 22, Configuring Host Clusters for Live VM Migration and High Availability. Command-line migration is for advanced administration, automation, and support-guided procedures. Live migration requires compatible hosts, reachable management networking, compatible CPU capabilities, and storage and network conditions that support the chosen method; shared storage and a configured cluster may be required for high-availability workflows.
Before migrating, confirm the VM's state, disks, and interfaces:
| Task | Command | Notes |
|---|---|---|
| Check VM state | virsh domstate <vm> | Running, paused, shut off, or another state. |
| Show VM disks | virsh domblklist <vm> | Disk targets and backing files. |
| Show VM interfaces | virsh domiflist <vm> | Interfaces and attached networks or bridges. |
| Show migration progress | virsh domjobinfo <vm> | Progress of an in-flight migration job. |
Live migration performs a permanent move and removes the VM definition from the source host:
26.8 VMware-to-SimpleVM Concepts
Overview
If you are coming from a VMware environment, the concept map below connects familiar terms to their SimpleVM equivalents. The mappings are orientation aids, not exact one-to-one replacements — the underlying technology differs — but they shorten the learning curve by anchoring SimpleVM ideas to ones you already use.
| VMware concept | SimpleVM equivalent | Notes |
|---|---|---|
| ESXi host | SimpleVM host | A physical server running SimpleVM and hosting virtual machines. |
| vSphere Client | Management interface / web console | Browser-based management for host and VM operations. |
| Virtual machine | Virtual machine | Same concept: a guest OS on virtual hardware. |
| Datastore | Storage pool | Storage location for VM disks and installation media. |
| Port group / vSwitch | Virtual network / bridge networking | The model differs, but both connect VMs to networks. |
| vMotion | Live VM migration | Moves a running VM between compatible hosts when requirements are met. |
| HA cluster | SimpleVM cluster / high availability | Clustered hosts support availability workflows. |
| Snapshot | Snapshot | Point-in-time state. Use cautiously for production; a snapshot is not a backup. |
| VMware Tools | Guest tools / drivers | Windows guests may need VirtIO drivers for best storage and network performance. |
26.9 Supported Guest Operating Systems
Overview
SimpleVM runs the common server and workstation guest operating systems supported by the underlying virtualization platform. The table below is an orientation guide only. Until the SimpleVM support policy and testing confirm a guest, do not present it to users as officially supported.
| Guest family | Examples | Driver notes | Status |
|---|---|---|---|
| Linux | Rocky Linux, RHEL, Oracle Linux, Ubuntu, Debian, SUSE | Use VirtIO disk and network devices where supported. | |
| Windows Server | Windows Server releases per SimpleVM policy | VirtIO drivers required for best storage and network performance. Confirm licensing and activation. | |
| Windows client | Windows desktop releases per SimpleVM policy | Use only where the license and use case allow. Confirm driver requirements. | |
| Other | BSD or appliance-based guests | Support depends on guest compatibility and driver availability. |
26.10 Default Paths and Directories
Overview
These directories are useful during troubleshooting and support. Most should be viewed, not edited: inspect them for diagnostics and make changes through the console or supported commands. The File browser under Tools is the safest way to inspect them without a shell — see Chapter 19, Host Administration Tools.

| Path | Purpose | Editing guidance |
|---|---|---|
| /etc/libvirt/ | Virtualization configuration: the qemu, storage, secrets, and nwfilter subdirectories and the *.conf files (confirmed via the File browser). | Do not edit manually unless directed by support. |
| /var/lib/libvirt/ | Virtualization runtime data and default storage areas. | Inspect carefully; never delete VM disk files by hand. |
| /var/lib/libvirt/images/ | Common default location for file-based VM disk images. | Confirm before documenting as the SimpleVM default; the host capture shows VM disks in the /data/images pool. |
| /var/log/ | System log location used by many services. | Prefer journalctl and the console Logs page. |
| /etc/NetworkManager/ | NetworkManager configuration and connection data. | Prefer the console or nmcli. |
| /etc/firewalld/ | Permanent firewalld configuration. | Prefer the console or firewall-cmd. |
| /root/ | Root user home directory. | Do not use as long-term storage for ISOs, exports, or VM data. |
26.11 Default Storage Locations
Overview
A SimpleVM deployment should keep operating-system storage, VM data storage, ISO storage, and backup targets clearly separated. Exact pool names and paths vary by installation, so confirm them on the host before documenting a production standard. The installation and storage chapters are the primary source for storage planning — see Chapter 5, Post-Installation Configuration, and Chapter 12, Managing Storage Pools. The commands here confirm what exists on a deployed host.
| Task | Command | Notes |
|---|---|---|
| List pools | virsh pool-list --all | Configured storage pools on this host. |
| Show pool path | virsh pool-dumpxml <pool> | Backing path or device for a pool. |
| Show mounts | findmnt | Mounted filesystems and mount points. |
| Show block layout | lsblk -f | Disks, partitions, filesystems, and mount points. |
| Show usage | df -h /data | Filesystem usage for the data volume. |
26.12 Default Network Configuration
Overview
Verify the network configuration on each host, because production deployments may use static addressing, bonded interfaces, VLANs, bridges, or separate management and VM networks. The commands below collect a safe, read-only network summary. The default NAT virtual network is rarely the right network for production VMs, which usually need bridge networking or a purpose-built virtual network — see Chapter 14, Managing Virtual Networks, and Chapter 15, Managing Host Networking.
| Task | Command | Notes |
|---|---|---|
| Show device state | nmcli device status | Host devices and whether NetworkManager manages them. |
| Show connection profiles | nmcli connection show | Configured connection profiles. |
| Show IP addresses | ip -brief address | Compact list of interfaces and addresses. |
| Show routes | ip route | Default gateway and route table. |
| Show virtual networks | virsh net-list --all | libvirt virtual networks, such as the default NAT network. |
26.13 Firewall Services and Ports
Overview
This reference lists the firewall exposure confirmed on the live SimpleVM host. The values below are confirmed against the firewall Zones detail and are written as confirmed; environment-specific services such as DNS, NTP, and monitoring depend on your deployment.
| Service / purpose | Port or service | Zone | When needed |
|---|---|---|---|
| Web console (management interface) | 9090/tcp (cockpit) | public | Browser access to the management interface. |
| SSH administration | 22/tcp (ssh) | cluster | CLI access, support, and SSH-based migration. |
| Cluster live-migration transfer | 49152-49215/tcp (qemu-nbd) | cluster | Disk transfer during live migration between cluster hosts. |
| VM DHCP and DNS | dhcp, dns | libvirt | Address and name services for the default NAT network. |
| DNS / NTP / monitoring | Environment-specific | As designed | Infrastructure services used by the host. |
Verify any host's exposure directly with these read-only commands:
| Task | Command |
|---|---|
| Show active zones | firewall-cmd --get-active-zones |
| Show all settings for a zone | firewall-cmd --zone=<zone> --list-all |
| Show default-zone services | firewall-cmd --list-services |
| Show permanent rules for a zone | firewall-cmd --permanent --zone=<zone> --list-all |
26.14 Cluster Ports and Services
Overview
Cluster and high-availability exposure should be documented from the completed clustering chapter and kept aligned with the supported SimpleVM cluster stack. Do not add, remove, or rename cluster firewall services based on generic Linux examples. The confirmed cluster firewall requirement is the cluster zone allowing ssh (22/tcp) and qemu-nbd (49152–49215/tcp), restricted to peer source addresses, as shown in Section 26.6, Common Firewall Commands, and Section 26.13, Firewall Services and Ports.
| Task | Command | Notes |
|---|---|---|
| Show cluster zone | firewall-cmd --zone=cluster --list-all | Services, ports, and sources assigned to the cluster zone. |
| Show active zones | firewall-cmd --get-active-zones | Which interfaces or sources are assigned to each active zone. |
26.15 Log File Locations
Overview
Logs confirm what happened before, during, and after an issue. Start with the console Logs page where it has what you need, then use journalctl for deeper review and support collection. Include the time the issue occurred, the affected VM name, the host name, and any change made immediately before the issue began.
| Task | Command | Notes |
|---|---|---|
| Recent high-priority logs | journalctl -xe | Recent high-priority system context. |
| Current-boot logs | journalctl -b | Logs from the current boot. |
| Virtualization service logs | journalctl -u libvirtd -u virtqemud -u virtlogd | Service names vary by version. |
| Firewall service messages | journalctl -u firewalld | Firewalld messages. |
| Host network messages | journalctl -u NetworkManager | Host networking messages. |
| Follow logs live | journalctl -f | Streams new messages as they occur. |
| Failed services | systemctl --failed | Services in a failed state. |
26.16 Support Information Checklist
Overview
Collect this information before opening a support request or escalating internally. It gives support the context to understand the host, the affected VM, the storage and network path, and the timeline — usually enough to help on the first exchange instead of the third.
| Information to collect | Command or location |
|---|---|
| SimpleVM version and host name | Host Overview page; hostnamectl; version command |
| Issue summary and timeline | What changed, when, and what the user expected to happen. |
| Affected VM name and state | virsh list --all; virsh dominfo <vm> |
| VM disk and network attachment | virsh domblklist <vm>; virsh domiflist <vm> |
| Storage pool status | virsh pool-list --all; virsh pool-info <pool> |
| Host storage capacity | df -h; lsblk -f; Storage page screenshot |
| Host network summary | nmcli device status; nmcli connection show; ip route |
| Firewall zone summary | firewall-cmd --get-active-zones; --zone=<zone> --list-all |
| Relevant logs | journalctl -b; journalctl -u <service> |
| Screenshots | The console page showing the error, affected VM, storage, network, firewall, or update status. |
26.17 Glossary
Overview
These terms are used throughout the SimpleVM User and Administrator Guide.
| Term | Definition |
|---|---|
| Bridge networking | A network design that connects virtual machines to an external network through a host bridge interface. |
| Cluster | A group of SimpleVM hosts configured for coordinated management, live migration, or high-availability workflows. |
| Firewall zone | A firewalld policy grouping that controls which services and ports are allowed for its assigned interfaces or source addresses. |
| High availability | A design that helps workloads recover or continue service when a host or component fails. |
| Host | A physical server running SimpleVM. |
| Live migration | Moving a running virtual machine from one compatible host to another with minimal downtime, when requirements are met. |
| Management interface | The browser-based SimpleVM interface used to manage the host and its virtual machines; the web console. |
| Snapshot | A point-in-time VM state or disk reference for short-term recovery or testing. Behavior and limits depend on the VM and storage configuration; a snapshot is not a backup. |
| Storage pool | A defined storage location SimpleVM uses for VM disks, ISO files, or other virtualization storage. |
| Virtual machine | A guest operating system running on virtualized CPU, memory, storage, and network resources. |
| Virtual network | A software-defined network that connects virtual machines using NAT, isolated, bridged, or other designs. |
| Web console | The web-based system and virtualization administration interface used by SimpleVM, served on TCP port 9090. |
| Web terminal | A terminal session available through the management interface for command-line administration, opened as the signed-in host user. |