Virtual Machines
Realms
The Realms
are the hypervisors of a specific type of computer software that is used to create and run virtual machines.
This section helps you view which realms and drivers exist in the system.
Each Realm
is linked to a Drive
, whoose purpose is to help the backend communicate with the infrastructure.
- Realms can only be managed in the configuration files.
- Realms do not connect to other realms.
- Only super admins can view the backend configuration of a realm.
- You cannot create your own realms.
View Configuration of Realms
To view the realms backend configuration navigate to the tab in the Realms
section.
- Select the realm you would like to view.
- Click the
View Config
button in the top right. - In the prompt, view the config for AWS/Libvirt.
- Click .
The backend system syncs up automatically every hour to the AWS/Libvirt database.
Use Fix VMs
or Fix Drives
options if you do not want to wait for the backend to do it in the next hour.
Fix VMs of Realms
To fix the VMs of realms navigate to the tab in the Realms
section.
- Select the realm you would like to fix the VMs for.
- Click the
Fix VMs
button in the top right. - In the prompt, click .
Performing this action will sync up all current VMs.
Fix Drives of Realms
To fix the drives of realms navigate to the tab in the Realms
section.
- Select the realm you would like to fix the drives for.
- Click the
Fix Drives
button in the top right. - In the prompt, click .
Performing this action will sync up all current drives.
Libvirt Hosts
The Hosts
are the servers that host the virtual machines.
- These servers are physical and exist somewhere.
- These hosts are the
home
of the realms. - Realms are the software that creates and runs the VMs.
- Each of these realms consists of servers and other components.
Create Host
To create a host navigate to the tab in the Hosts
section.
- Click the
Register new Libvirt host
button in the top right. - In the prompt, select the AWS/Libvirt realm.
- Type the name of your host.
- Type the URI address of the realm.
- Optionally, thick the
Use static address translation
to use specific static host and type the following.- NAT address (valid IPv4)
- NAT Port base
- Hardware profile
- Hardware state
- Click .
Static address translation
allows you to input NAT settings such as IPv4 address and an NAT Port base.
Edit Host
To edit a host navigate to the tab in the Hosts
section.
- Select the host you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, type a new name for the host.
- Click .
You can only edit the name of your host.
Change Host State
To change the state of a host navigate to the tab in the Hosts
section.
- Select the host you would like to change the state of.
- Click the
Change state
button in the top right. - In the prompt, select one of the following states.
- .
Enabled
: tiCrypt can interact with the host and schedule VMs on it. - .
No scheduler
: tiCrypt can interact with the host however, it cannot schedule VMs on it. - .
Disabled
: tiCrypt cannot interact with the host nor can it schedule VMs on it.
- .
- Click .
States
allow a flexible architecture of the Libvirt hosts over Virtual Machines.
Check Host Utilization
To check utilization of a host navigate to the tab in the Hosts
section.
- Select the host where you would like to check the utilization.
- Click the
Check utilization
button in the top right. - In the prompt, view the
Realm ID
and the host utilization of VMs, cores, memory and devices. - Click .
You can check the resource utilization that have been used up in the host.
Shutdown all VMs in Host
To shutdown all VMs of a host navigate to the tab in the Hosts
section.
- Select the host where you would like to shut the VMs down.
- Click the
Shutdown all VMs
button in the top right. - In the prompt, thick the
I accept the risk
box. - Click .
- Optionally, click in case of a technical emergency.
When a host is Shut down
, all running VMs, service VMs and data-in VMs of the host(s) will be shut down, which may cause all non-persistent data to be lost.
Delete Host
To delete a host navigate to the tab in the Hosts
section.
- Select the host you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
When you delete a host you must re-register all VMs previously connected to the host.
Hardware Profiles
The Hardware profiles
define the specific VM hosts on the system.
VM Hosts
inform the scheduler about available resources on the host.Hardware profiles
specify the maximum resources that can be utilized for scheduling and running virtual machines on a particular host.
Create Hardware Profile
To create a hardware profile, navigate to the tab in the Hardware profiles
section.
- Click the
Create New Hardware Profile
button at the top right panel. - In the prompt, select the AWS/Libvirt realm.
- Type the name for your hardware profile.
- Type the hardware profile description.
- Type the number of cores allocated to the hardware profile.
- Type the maxium allocated memory capacity.
- In the
Devices
section, type the device name, ID and Quantity. - Click .
Edit Hardware Profile
To edit a host navigate to the tab in the Hardware profiles
section.
- Select the hardware profile you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, edit the realm, name, description, allocated cores and memory and devices.
- Once you finished your changes, click .
Delete Hardware Profile
To delete a host navigate to the tab in the Hardware profiles
section.
- Select the hardware profile you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
Libvirt Storage Pools
The Libvirt Storage Pools
is the interface that allows fast or slow types of drives to be created.
There are different tiers that a user may want to use for their drives such as flash or slower spindle.
Create Storage Pools
To create a new Libvirt Storage Pool, navigate to the tab in the Hardware profiles
section.
- Click the
Create New Libvirt Storage Pool
button in the top right. - In the prompt, select the AWS/Libvirt realm.
- Type the name of the storage pool.
- Select one of the following volume types which will be stored in the pool.
- Drives
- Hardware Setups
- Raw Volumes
- Images
- ISOs
- Select the
default
ornon-default
state for storing drives. - Type the storage pool location path in the VM host filesystem.
- Type the storage pool location path in the Backend host filesystem.
- Click .
To avoid unusable storage pools, please ensure that the VM & Backend host filesystems already exist and allow the TiCrypt user to write.
Edit Storage Pools
To edit a storage pool navigate to the tab in the Libvirt Storage Pools
section.
- Select the storage pool you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, edit the name, volume type, default state, VM host and Backend host location paths, allocated cores, memory and devices.
- Once you finished your changes, click .
To avoid unusable storage pools, please ensure that the location paths already exist and allow the TiCrypt user to write to both VM host and the Backend host.
Delete Storage Pools
To delete a host navigate to the tab in the Libvirt Storage Pools
section.
- Select the storage pool you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
Libvirt Volumes
The Libvirt Volumes
are essentially the "disk" where the operating system lives.
- Users cannot populate the volume tab through tiCrypt.
- The system backend communicates with the host and requests all volumes that have been integrated into the system.
There are no options with Libvirt Volumes other than viewing, Export
data into CSV format or Refresh
the data.
VM Images
The VM Images
are fully configured virtual machines files that are used during deployment.
- Virtual machines define the realm, the volume, and the operating system.
- When creating an image, the OS must match the OS that is associated with the Volume.
- For each Volume, there can be only one VM Image.
Create VM Image
To create a new VM Image, navigate to the tab in the VM Images
section.
- Click the
Create New VM Image
button at the top right panel. - In the prompt, type the Libvirt volume for the VM Image.
- Type a name for the VM Image.
- Select the Operating System.
- Type a description.
- Click .
Nutanix images must be created through the Nutanix interface, and then they will show up in tiCrypt.
Edit VM Image
To edit a VM Image navigate to the tab in the VM Images
section.
- Select the VM image you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, edit the name, operating system, and description.
- Click .
Clone VM Image
To clone a VM Image navigate to the tab in the VM Images
section.
- Select the VM image you would like to clone.
- Click the
Clone
button in the top right. - In the prompt, type the name of the clone.
- Click .
Cloning will create an identical image with a different given name.
Delete VM Image
To delete a VM Image navigate to the tab in the VM Images
section.
- Select the VM Image you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
Deleting a Libvirt image does not delete the underlying volume. Libvirt images are simply metadata on top of the actual content.
VM Hardware Setups
The Hardware Setups
are configuration setup templates for virtual machines.
Hardware Setups cover the following.
- Realm the VM will use
- Virtual machine Image
- Number of Cores
- Amount of Memory(RAM)
- List of Devices such as GPUs/FPGAs
- Debug options such as
pty
andconsole
- Creator of the hardware setup
Create VM Hardware Setups
To create a new Hardware Setup, navigate to the tab in the Hardware Setups
section.
- Click the
Create New VM Hardware Setup
button in the top right. - Type the image for the Hardware Setup.
- Type the cores` & maximum memory (must be at least 1 GB)
- Optionally,
thick
theDo not apply quotas to this hardware setup
to remove any quota restrictions. - Select the video type.
- Select the number of devices.
- Next, type a name for the Hardware Setup.
- Optionally, type a description.
- The Team(s) name that will use the Hardware Setup.
- The User(s) name who will use the Hardware Setup.
- Finally, type the Usage Instructions.
- Click .
Applying quotas to hardware setups is optional. However, it is recommended to apply quotas for good practice.
Edit VM Hardware Setups
To edit VM Hardware Setups navigate to the tab in the Hardware Setups
section.
- Select the VM Hardware Setup you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, edit the image, hardware cores and memory, video type, devices,hardware setup name,description, team(s), user(s), and usage instructions.
- Click .
Clone VM Hardware Setups
To clone VM Hardware Setups navigate to the tab in the Hardware Setups
section.
- Select the VM Hardware Setup you would like to clone.
- Click the
Clone
button in the top right. - In the prompt, edit the new properties of the clone. (similar to edit action)
- Click .
Cloning creates a new copy of VM Hardware Setup, while editing only modifies the existing one.
Simulate Allocation for VM Hardware Setups
To simulate allocation for a VM Hardware Setup navigate to the tab in the Hardware Setups
section.
- Select the VM Hardware Setup you would like to simulate allocation for.
- Click the
Simulate Allocation
button in the top right. - In the prompt, view the simulated cores,memory, and devices.
- Click .
You can simulate how the scheduler would land on the host. This is commonly used for debugging.
Delete VM Hardware Setups
To delete VM Hardware Setups navigate to the tab in the Hardware Setups
section.
- Select the VM Hardware Setup you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
VM Configurations
This tab displays all of the VM configurations
in the system of both running and shutdown VMs.
Virtual machines can be shared
, edited
, shut down
and bulk deleted
.
Edit VM Configurations
To edit VM Configurations navigate to the tab in the VM Configurations
section.
- Select the VM configuration you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, edit the name, team, description, project, hardware setup, home drive(s) and additional options.
- Once you finished your changes, click .
You can edit a VM configuration to a project only if you are part of that project.
VMs automatically restart to update the latest editings. Expect your VM to restart after you make edits to it.
Share VM Configurations
To share VM Configurations navigate to the tab in the VM Configurations
section.
- Select the VM Configuration you would like to share.
- Click the
Share
button in the top right. - In the prompt, type the users you would like to share the VM Configuration with.
- Select if the drive of the VM Configuration will be automatically shared.
- Click .
Bulk Email VM Configuration
To bulk email all users of a VM Configuration navigate to the tab in the VM Configurations
section.
- Select the VM Configuration where you would like to bulk email the users.
- Click the
Bulk-email
button in the top right. - In the prompt, click to bulk copy all user emails within the VM Configuration.
- Click to bulk download all user emails within the VM Configuration into your local machine.
- Once you finished, click .
You must stop all the configurations that are planned to be bulk deleted.
The same option applies in the Running VMs
section.
Bulk Delete VM Configuration
To bulk delete VM Configurations navigate to the tab in the VM Configurations
section.
- Select the VM Configurations you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click
You cannot delete a VM configuration that is currently running.
Running VMs
Admins may view all running virtual machines
in the system.
Each VM will display the following collumns.
- The VM Runtime, Owner and Associated team.
- Whether or not it is a debug machine.
- Wether or not is a connected machine.
- The VM configuration.
- Cores & memory,
- VM ID, Host Server, IP Address and MAC Address.
If no VM's are running, nothing will appear in this tab.
View logs of running VMs
To view the logs of a running VM navigate to the tab in the Running VMs
section.
- Select the running VM where you would like to view the logs.
- Click the
View Logs
button in the top right. - In the prompt, view the logs by entry and timestamp.
- Optionally, click
Refresh
. - Click .
Export running VMs in JSON
To export running VMs data in JSON navigate to the tab in the Running VMs
section.
- Select the running VM you would like to export.
- Click the
JSON Export
button in the top right. - In the prompt, view the object by users, groups, drives, accessDirectories and profiles.
- Click
Copy
to copy the contents in JSON. - Additionally, click
Download
to download the contents in JSON. - Click .
View Libvirt XML description of running VMs
To view the Libvirt XML in a running VM navigate to the tab in the Running VMs
section.
- Select the running VM where you would like to view the Libvirt XML.
- Click the
Libvirt XML description
button in the top right. - In the prompt, view the Libvirt XML backend description.
- Click .
Viewing Libvirt XML descriptions is only available to super-admins.
Open VNC terminal in running VMs
To open a VNC terminal in a running VM navigate to the tab in the Running VMs
section.
- Select the running VM where you would like to open the VNC terminal.
- Click the
Open VNC terminal
button in the top right. - In the terminal, type the appropriate command lines to achieve your objective.
- Click to close the terminal.
Opening a VNC terminal allows running virtual machines in debug mode
, enabling you to log in to debug an issue.
Set Project in running VMs
To set project in a running VM navigate to the tab in the Running VMs
section.
- Select the running VM you would like to set the project to.
- Click the
Set Project
button in the top right. - In the prompt, select the project for the running VM.
- Click .
Use set project option to also declassify running VMs from existing projects.
*Declassification requires admin permissions and membership for the specfied project.
Shut down running VMs
To shut down a running VM navigate to the tab in the Running VMs
section.
- Select the connected VM you want to shut down.
- Click the
Shut down
button in the top right. - In the prompt, click .
- Optionally, thick "I accept the risk" and click to force a shutdown.
Forced VM shutdowns can be very harmful for the VMs. Use this action in case of an emergency only.
If you own a VM you will notice some additional options similar to the Virtual Machines
options such as open remote application
, transfer files to/from vault
, open SFTP pathway
, open terminal
.
Learn more about them in the Virtual machines Action Bar section.
Similar to VM configurations section, you can use Bulk-email
option to bulk email all users from a specified running VM.
Past VMs
The Past VMs
will show the hundred most recent VMs that have been shut down or that have become inactive.
- This section allows you to view logs if something unexpectedly went down.
- The only action that can be done here is to
view logs
.
View Past VMs Logs
To view the logs of past VMs navigate to the tab in the Past VMs
section.
- Select the past VM you would like to view the logs of.
- Click the
View Logs
button in the top right. - In the prompt, view the past logs.
- Optionally, click the
Refresh
button in the bottom left to refresh the logs. - Click .
Service VMs
The Service VMs
displays all of the service VMs that exist in the system.
Service VMs:
- Are used for a more harmonious workflow in updating and maintaining virtual machines.
- Are virtual machines that have minimal restrictions, have access to the internet but do not have access to the encrypted drives or the vault.
- Cannot be used for research and they are only available for maintenance by administrators.
- Are exclusive for this section. They do not exist anywhere else in the system.
Create Service VMs
To create a new Service VM navigate to the tab in the Service VMs
section.
- Click the
Create New Service VM
button in the top right. - In the prompt, select an Image (the realm will be determined by the image choice).
- Type the number of cores and maximum memory.
- Type the VM name and the description.
- Click .
Restart Controller in Service VMs
To restart controller in Service VMs navigate to the tab in the Service VMs
section.
- Select the service VM you would like to restart the controller of.
- Click the
Restart
button in the top right.
Restarting the controller may disrupt ongoing processes within the service VM. Use with caution.
Share Drive ID
To share a drives' ID navigate to the tab and select the drives section.
Select the drive you would like to share the ID of.
Click
Copy
button near long character code in the ID column.Paste the drive ID in the appropriate location.
Shutdown Service VMs
To shutdown Service VMs navigate to the tab in the Service VMs
section.
- Select the service VM you would like to shutdown.
- Click the
Shutdown
button in the top right.
Shutting down* the service VM may disrupt ongoing processes within the service VM. Use with caution.
Delete Service VMs
To delete Service VMs navigate to the tab in the Service VMs
section.
- Select the service VM you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
Edit Service VMs
To edit Service VMs navigate to the tab in the Service VMs
section.
- Select the service VM you would like to edit.
- Click the
Edit
button in the top right. - In the prompt, edit the image, cores and memory.
- Edit name and description of the service VM.
- Once you finished, click .
Open VNC terminal in Service VMs
To open a VNC terminal in Service VMs navigate to the tab in the Service VMs
section.
- Select the service VM you would like to open the VNC in.
- Click the
Remote desktop
button in the top right. - In the terminal, type the appropriate command lines to achieve your objective.
- Click to close the terminal.
Power up Service VMs
To power up Service VMs navigate to the tab in the Service VMs
section.
- Select the service VM you would like to power up.
- Click the
Power Up
button in the top right.
The collumn Active
will display a Checkmark
when the service VM is powered up.
If you just shut down your service VM and you want to power it up, make sure you re-login before performing this action.
Drives
The Drives
display all drives that exist in the system.
- When you create a drive you automatically encrypt it using your
public key
, and another key that the system generates called asymmetric key
. - Next, the information is sent and lives on the server.
- If you would like to share access of the drive with another user, your
private key
is used to decrypt thesymmetric key
. - Using the receiver's
public key
, a version of thesymmetric key
is created, and another chunk of information is sent to the server. - The cryptography used for the drives prevents any type of admin from simply granting themselves access to a drive or taking drives over.
- Only users who were added to or created a drive can access it.
You can access drives and other options from the tab in section as shown in the Drives Overview chapter.
Create New Drive
To create a new drive navigate to the tab in the Drives
section.
- Click the
Create New drive
button in the top right. - In the prompt, type a drive name and team who will use the drive.
- Optionally, type the name of the drive owner.
- Select a project for the drive.
- Select the realm, type the capacity and Libvirt pool.
- Select the type, format and backup settings.
- Click .
Edit Drive
To edit a drive navigate to the tab in the Drives
section.
- Select the drive you would like to edit.
- Click the
edit
button in the top right. - In the prompt, type a new name for the drive.
- Click .
Transfer Drive Ownership
To transfer drive ownership to another user navigate to the tab in the Drives
section.
- Select the drive you would like to transfer ownership of.
- Click the
Transfer Ownership
button in the top right. - In the prompt, type the new owner name for the drive.
- Click .
Before transfer drive ownership you must explicitely share the drive with the new owner in read-and-write
mode. This is a global tiCrypt rule.
Change project in Drive
To change project in a drive navigate to the tab in the Drives
section.
- Select the drive you would like to change project for.
- Click the
Change project
button in the top right. - In the prompt, select the appropriate project for your drive.
- Optionally, thick the
Use my permission...
box above to overide requirements, rules and memberships in case you must reach an unlisted specific project. - Click .
All project changes are audited automatically and permantently.
Before you change project in a drive you must be part of the project you are changing the drive to.
To remove project from a drive select the appropriate drive then click change project
in the top right panel. Select Unlocked
option then click .
Share Drive
To share a drive navigate to the tab in the Drives
section.
- Select the drive you would like to share.
- Click the
Share
button in the top right. - Type the name of the users/groups you want to share the drive with.
- Select the
read-only
mode. - Click .
- Only the read-only mode allows you to share the drive with other users/groups unconditionally.
- The read-write mode will not allow you to share the drive with other users/groups.
- Although read-write can be shared with a read-write user if it is unmounted from your VM, it servers the writting purposes only.
Unshare Drive with everyone
To unshare a drive with everyone navigate to the tab in the Drives
section.
- Select the drive you would like to unshare.
- Click the
Unshare from everyone else
button in the top right. - The drive is now unshared with everyone.
Unshare Drive with User/Group
To unshare a drive with a user/group navigate to the tab and select the Drives
section.
- Select the drive you would like to unshare.
- Click the Share button in the top right.
- In the prompt, search and select the users/groups you want to unshare the drive with.
- Click the
Delete
button from the right of the selected user/group. - Click .
Delete Drive
To delete a drive navigate to the tab in the Drives
section.
- Select the drive you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, type the full name of the drive.
- Click .
You may also Detach
a drive by navigating the tab in section as shown in the Drives Chapter.
ISO Images
The ISO images
section displays all images that are uploaded in the system.
- For each ISO image, the name, realm, owner, file, team, wether is bootable or has a service, readers and tokens are displayed.
- This section only displays upload ISO Images.
Upload ISO Image
Upload ISO Image
To upload an ISO Image navigate to the tab in the ISO Images
section.
- Click the
Upload ISO
button in the top right. - In the prompt, select the realm for the ISO Image.
- Drag-and-drop the ISO file from your local machine.
- Type the name for your ISO Image.
- Type the description.
- Select wether the ISO will be bootable or not.
- Select the Team(s) that will use the ISO image.
- Select the User(s) that will use the ISO image.
- Click .
When selecting wether the ISO will be bootable or not, you can select the option "Bootable only for service VMs" which will result in a dedicated ISO file for your Service VMs
.
Similar to other sections, you can Bulk-email
all users who use the selected ISO file.
Licensing Servers
The Licensing Servers
allow users to add IP addresses that all of the virtual machines can connect to.
- These servers allow you to create entries that get placed in an allowed list that all VMs can access when running.
- This may be used to contact licensing servers for software.
Create Licensing Servers
To create a new Licensing Server navigate to the tab in the Licensing Servers
section.
- Click the
Create New Licensing Server
button in the top right. - In the prompt, type the servers domain name (or IPv4 Address).
- Type the ports numbers.
- Select the protocol (TCP or UDP).
- Optionally, select a property Group.
- Select a deactivation date for the server. Click .
Re-sync Licensing Servers
To re-sync a Licensing Server navigate to the tab in the Resync Rules
section.
- Click the
Create New Licensing Server
button in the top right. - The server is now re-synced.
Delete Licensing Servers
To delete a Licensing Server navigate to the tab in the Resync Rules
section.
- Select the Licensing Server you would like to delete.
- Click the
Delete
button in the top right. - In the prompt, click .
Aditionally, you can Export
the Licensing Server data into CSV format or Refresh
the displayed server data.