Configuration: Problems and Advanced
The last three tabs of the Configuration menu: Problems (bad configuration that keel finds by itself, and how to fix it), Partitions (resource partitions on the host, described as the page shows them) and Advanced (the hypervisor's boot settings, hyp.conf). For the earlier tabs see Storage, Network and Device Passthrough and Hardware.
Note: Changes need an account with host write permission. Read-only accounts can look, but do not see Fix…, Ignore or the save buttons.
1. Problems
Configuration → Problems lists broken or stale configuration on the host in one table. keel checks by itself every few seconds, so you do not have to hunt for these. The same hints also appear on the Overview and on the related VM, network and storage pages, each with Fix…, which opens the fix dialog from here.
1.1 What is in the table
The line at the top shows the counts, N errors and N warnings, or Running normally when there are no problems. With an empty table it says Every check passed: nothing to fix. On the right is Check again (run the checks again right now).
| Column | Content |
|---|---|
| Level | Error, warning or info |
| Problem | A one-line description, with a hint in small print below |
| Concerns | The objects involved: guest, network, port, pool, disk, passthrough... Click the name to go to the page of that object |
| Right side | Fix…, Ignore, and for some an Open link |
Problems keel can detect include:
- Network: a switch uplink connected to another network; a NIC connected to a network or switch that no longer exists; a network in use by guests whose ports all have no link; a port in use that has no link; a NIC change waiting for a restart.
- Storage: two pools with the same name; a pool keel remembers but that is not imported; two pools with the same mount point.
- Virtual machines: an ISO file that a CD drive points to cannot be found; a NUMA node or CPU that was set does not exist on the host; autostart failed; a configuration file cannot be read; the bhyve version is too old for USB forwarding.
- Device passthrough: the device of a passthrough entry is not in the machine; a VM refers to a name that is not in the passthrough list; a cold-migrated VM with passthrough devices must have them chosen again.
- Services and certificates: VMs left over from an instance that is gone (NAS, keelAuth); a certificate you imported is about to expire or has expired; the certificate does not contain the host's current name; the certificate differs from the one on disk.
1.2 Fixing
- Click Fix… on an entry. The Fix a problem dialog opens and repeats the problem at the top.
- If there are several ways to fix it, choose one under Fix. Fixes that delete data carry a red destroys data. Fixes that need a target (for example which network to switch to) show an extra drop-down or input.
- What will change: below lists, once you have chosen, each concrete step and the API call behind it; risky steps come with an explanation. Nothing has been changed at this point.
- For a fix that deletes data you must type the text shown in the box under Type … to confirm (a disk name, a VM name) before you can go on.
- Click Apply (Apply (cannot be undone) for fixes that delete data). When it finishes you see Done: N change(s) made. If a step fails, the list shows which step went wrong.
Every change a fix makes is recorded in the audit log. For problems keel has no automatic fix for, the dialog says keel has no fix for this one: see the hint.
Bulk fix: when there are several problems of one kind (for example several VMs whose CD file is missing), tick them on the left and click Fix the ticked (N)… at the top. Only problems of the same kind that can be bulk-fixed can be ticked together.
Ignore: for things you do not want to deal with now, click Ignore. The entry stays in the table (greyed out) but is not counted and not reported on the Overview. Tick show ignored (N) to see them, and click Count again to bring one back.
Note: If some checks could not read their data when you opened the page, it says Not everything could be read, the list may be incomplete.
2. Partitions
Configuration → Partitions lists the "partitions" that run side by side on this host: keelOS (root) (the FreeBSD host, that is keel itself), keelRM (the management VM, see The keelRM management port) and the Linux partition. Each row has CPU, Memory, Network port and State (Running, starting, off, did not start). The root and keelRM rows are read-only.
This is a host-level division of resources, not a step in creating VMs. For everyday VM creation and choosing a template you do not need to come here; templates for old systems that need a special environment are handled by keel itself, so you neither choose a virtualization engine nor have to set anything up here first.
The page describes the Linux partition as another host running beside root, with its own cores, memory and network port, using QEMU to run old systems that the FreeBSD side cannot. All you can do on the page is:
- Edit: in the dialog tick Enable the Linux partition, set Cores (given in whole cores, with the SMT threads of a core given together; the first core stays with root, and keelRM's cores are kept too), Memory (GiB, up to the limit the page shows) and Network port. The partition's port is dedicated to it (VT-d passthrough): root cannot see it, and it is not shared with the host's network. The management port, keelRM's port and ports taken by a network, switch or passthrough are greyed out and cannot be chosen. If there is no port to give, the page says so. The dialog lists running VMs that will be shut down by the restart, and you can tick Restart the host now (through the firmware).
- Changes need one restart: the setting is written to
hyp.conf, which is read only when the host restarts through the firmware. After saving, the page shows The Linux partition's settings wait for a restart; click Restart now, or wait for the next restart (which automatically goes through the firmware). Running VMs are shut down first and started again after the restart. Turning the partition off works the same way: its cores, memory and port go back to root after the next restart. - Once enabled, the partition's row shows its address and what the agent inside reports: version, uptime and number of VMs. If the agent does not respond, it says the agent does not answer yet.
- The Log sub-page: the partition lines hyp recorded and the agent's own log, for troubleshooting; Refresh reads it again.
3. Advanced: hyp.conf
Configuration → Advanced is the settings page of the hypervisor (hyp.conf, stored on every boot partition). Most people never need it: the defaults suit most machines, and you change them only when troubleshooting or with special needs (for example the host screen is black, you want to attach a serial port to see boot messages, or you want to change how much memory is kept for guests).
Every change takes effect only at the next host restart, and that restart is a full machine restart (running VMs are shut down first and started again afterwards). Saving changes all boot partitions together. If settings were changed after the host started, the top of the page says Settings changed since the host started: they take effect at the next restart (a full one), with a Restart button beside it.
Each item is a drop-down or an input; choosing default or leaving it empty lets the hypervisor use its own default, and the small print below explains what it does. There are four groups:
| Group | Item | Description |
|---|---|---|
| Screen | Text on the screen | Whether the hypervisor prints boot messages on the local screen. |
| Screen mode | native (the monitor's own), keep (what the firmware left) or a size such as 1920x1080. |
|
| Shadow framebuffer | Draw in memory first and then copy to the screen; faster when the framebuffer is slow. | |
| Serial console | Serial port | The serial port the hypervisor writes its log to (0x3f8 and so on, 0 = none). |
| Memory | Root memory | Memory for root (keel itself, the ZFS cache): 4G, 4096 (MiB) or 25%. |
| Guest memory pool | Memory kept for guests: a size or a percentage. | |
| Management VM | Management VM console, Management VM serial port, Management VM CPU, Management VM command line, Management VM statistics in the log | Shown only when this host has keelRM. |
After editing, click Save; a confirmation dialog lists what changed. Undo drops edits that are not saved yet. If you enter a value in an input that the hypervisor does not understand (wrong format), the page says Not a value the hypervisor reads, and the save button is disabled.
The lower half of the page, Set by keel: the boot slot, trial slot, hypervisor state, management VM and so on. It is read-only and managed by keel during upgrades or in keelRM, not edited here. Lines it does not recognise are listed under other line; expand The file as it is to see the whole file.
Note: A bad Root memory or Guest memory pool (for example a root that is too small) can stop the host or VMs from starting. If unsure, keep default.