Configuring Virtualization and Apps in TrueNAS SCALE
4 minute read.Last Modified 2023-11-30 10:15 EST
Configuring TrueNAS SCALE to work with virtualized features, such as virtual machines (VMs) and applications, is a part of the setup process that when optimized takes advantage of the network storage capabilities that SCALE offers.
This article assumes that you have the latest release version of TrueNAS SCALE installed on your system. The following steps comprise a list of configuration prerequisites that you have completed and are familiar with before beginning VM and application installations.
The primary network interface is configured as part of the SCALE installation process. Go to Network > Global Configuration screen in the TrueNAS web UI to determine that the default gateway, host name, domain and DNS name servers have been configured correctly. See Console Setup Menu Configuration for more information on network settings.
You have the option of configuring a virtual LAN (VLAN) to route traffic for your VMs. VLAN benefits include the reduction of broadcast traffic and the ability to group resources in different physical locations into a broadcast domain. VLANs virtually segment a network. Different VLANs can communicate with each other using layer 3 devices. See Setting Up a Network VLAN for more information on creating virtual LANs (VLAN).
Storage pool creation is part of the initial process of setting up storage for SCALE. A TrueNAS dataset is a file system within a data storage pool. See Setting Up Storage to review storage pool creation and Adding and Managing Datasets for information on dataset configuration.
After creating the pool and datasets, set up shares to enable data access. Different types of data sharing methods are discussed in Setting Up Data Sharing. You should investigate more specific coverage of each share based on your individual use case.
See Adding NFS Shares for information on creating a basic NFS share. Adjust access permissions using the advanced options.
Certain directory services need to be set up as part of SMB and NFS share configuration. See Active Directory Screen for a better understanding of how to configure Active Directory, and Configuring Kerberos for an outline of required Kerberos information. For LDAP best practices see Configuring LDAP.
To run a virtual machine (VM), hardware requirements include an x86 machine running a recent Linux kernel using either an Intel processor with VT extensions or an AMD processor with SVM extensions (AMD-V). To install a VM on SCALE, first research the minimum and recommended specifications for the OS you plan to use and your full use case for that VM. Allocating too many resources to a VM can cause performance on the TrueNAS SCALE system to suffer, so we recommend you plan ahead and ensure your SCALE system has the resources to run both itself and a full VM deployment effectively.
Software requirements include an installer for the OS you intend to install on the VM.
A TrueNAS storage pool is required. It is recommended to have additional datasets created beneath the storage pool to further organize your VM data.
The first time you open the Applications screen, it displays an Apps Service Not Configured status on the screen header.
Click Settings > Choose Pool to choose a storage pool for Apps.
A storage pool for applications must be chosen before application installation can begin. Select a pool that has enough space for all the application containers you intend to use. Set up a new dataset before installing your applications if you want to store your application data in a separate location from other storage on your system.
After an Apps storage pool is configured, the status changes to Apps Service Running.
For custom applications, Install Custom App details each field on the Install Custom App screen. Prior to beginning a custom application installation, determine the following information:
- Container host networking requirements, including host interface
- IP address management: DHCP or static IP
- DNS policy and nameservers
- Container entrypoint (executables run when the container is started): commands or arguments
- Container environment variables: names and values
- Port forwarding
- Storage: host path and mount path configuration
You can find additional options for configuring general network interfaces and IP addresses for application containers in Apps > Settings > Advanced Settings.