Usually, default settings are fit for everyone, but sometimes flexVDI components must be further configured to your needs. flexvdi-config is the main configuration utility, but not-so-common options can be set through various configuration files.
The flexVDI Agent is configured by editing the file /etc/flexvdi/flexvdi-agent.conf
. Editing it will automatically reload the flexvdi-agent service, so you do not need to do it explicitly. This is an INI-formated text file that configures the CherryPy engine. Values are integers, booleans or strings. For boolean values, case-insensitive values "true", "yes" and 1 all mean true, and anything else means false. The configuration file also contains the following flexVDI-specific sections:
When the flexVDI Agent is also in charge of keeping the flexVDI Manager instance up and running, it uses another configuration file at /etc/flexvdi/flexvdi-agent-watchdog.conf
. It must contain a JSON object with information on how to check that the flexVDI Manager instance is alive, and restart it when needed. This file is created and maintained automatically when the Manager is installed, upgraded or moved to a different volume, so you should not need to modify it.
The following keys are recognized, and all of them are mandatory (no default values):
Log messages are output to /var/log/flexvdi/flexvdi-agent.log
, as configured in the flexvdi-agent.conf
file. This file is rotated every 10MB and the last 10 files are kept. Besides, since Libvirt is used to manage virtual machines, you should also check the files in directory /var/log/libvirt
. In particular, a log file is created for each virtual machine in the /var/log/libvirt/qemu
directory. Although they use very small space, their number can grow quite fast if you use volatile desktops. Keep an eye on this directory to delete the log files of virtual machines that you do not need anymore.
The flexVDI Manager instance is a virtual machine running CentOS 7.5, with the flexvdi-manager service and a mongodb database. You can log into this virtual machine with SSH, user root and the Manager password you have configured with flexvdi-config (the password is flexvdi by default).
This virtual machine's persistent storage consists of two disk images. The first one, vda, contains one partition with the operating system and the binary code of flexvdi-manager and mongodb. It is replaced every time you upgrade the Manager version, so everything you install to this disk will be deleted.
The second one, vdb, contains a partition that is mounted in /flexvdi/external
with the following directories:
/var/log
is a symlink to this directory, and contains all the system log files, including the ones for the flexvdi-manager and mongodb services.If you ever run out of space in the vdb disk (e.g. your log or database files have grown too much) you can just stop the flexVDI Manager instance and make its data disk image bigger. On the next restart, the partition and file system it includes will be resized automatically as needed. For instance, if your flexVDI Manager data image is in /var/lib/flexvdi/local and you wanted it to have 1GB more of space, you would run:
# virsh destroy flexVDI Manager # qemu-img resize /var/lib/flexvdi/local/flexvdi-manager-data +1G |
After some minutes, the flexVDI Agent will restart the flexVDI Manager instance and the new space will be available. Never shrink the image file, it will end in data corruption.
Since flexVDI 3.1, the configuration for the flexvdi-manager service is divided into two files, /flexvdi/external/manager/application.conf
and /flexvdi/external/manager/flexvdi.conf
, where the first one includes the second. The application.conf
file configures the Play and Akka Frameworks, so it uses the HOCON file format. The flexvdi.conf
file configures the flexVDI Manager features.
Do not change Play and Akka configuration unless you know what you are doing. |
The flexVDI properties are:
flexvdi.desktop_broker.demo: Boolean, default false. This flag activates the demo mode, in which a certain username is considered as if no authentication was used. Useful for showcasing and guest users.
flexvdi.desktop_broker.demo_username: String, default "flexvdi". If demo mode is activated, this user is not authenticated against the LDAP server, and is considered as if no authentication was used, e.g. a guest user.
flexvdi.desktop_broker.demo_password: String, default "". Password for the demo user. If empty, any password is valid.
flexvdi.desktop_broker.clone_name_pattern: String, default "${t}-volatile-${r}". A pattern to name cloned desktops after, with placeholders that are replaced with actual desktop properties. Valid placeholders are:
flexvdi.host_agent.fail_threshold: Int, default 60. Number of seconds after which a host that is not responding becomes unavailable.
flexvdi.host_agent.port: Int, default 9443. TCP port where flexVDI Agents are listening to.
flexvdi.host_agent.use_ssl: Boolean, default true. Use TLS when connecting to the flexVDI Agents.
flexvdi.spice_port_base: Int, default 5900. First Spice port to assign.
flexvdi.spice_port_num: Int, default 10000. Number of Spice ports to assign, in sequence. So, the last port is spice_port_base + spice_port_num.
flexvdi.hw_address_base: String, default "02:f1:00:00". First four octets of the MAC addresses of the virtual machines. MAC addresses are then assigned by varying the last two octets (65534 addresses). When the Manager is installed for the first time, this parameter is initialized to "02:f1:00:id", where id is the instance id of the platform. This avoids MAC address collisions between flexVDI platforms in the same subnetwork.
flexvdi.hw_address_num: Int, default 1000. Maximum number of MAC address to assign.
flexvdi.secure_server: Boolean, default false. If this flag is set to true, the environment is considered "secure" and no authentication is required for API calls. For debug purposes only.
The flexVDI Manager's log files are stored in /flexvdi/external/log/manager*.log
. The MongoDB log files are stored in /var/log/mongodb/mongod.log
.
The logging configuration resides in the file /flexvdi/external/manager/logger.xml
. It is an XML log file that configures Logback, check its documentation for details. The default configuration is:
Usually, if you need additional messages to be recorded, set the DEBUG level in the correct logger and restart the flexvdi-manager service.
If you want to use your own TLS certificate for HTTPS connections on port 443 (e.g. to access the Dashboard web application), you can overwrite the file /flexvdi/external/manager/nginx.cert
with a PEM-formated file that contains both the certificate and the private key.