In this guide, we will discuss what is Xen Orchestra (XO), how to install Xen Orchestra Appliance (XOA) in XCP-ng server, how to access Xen Orchestra Web UI, and finally how to connect to XOA via SSH.
What is Xen Orchestra?
Xen Orchestra (XO) is a web-based XenServer (Citrix hypervisor) and XCP-ng infrastructure management solution. Xen Orchestra allows you to administer, manage XenServer and XCP-ng hosts, pools and VMs via a web browser.
No agent is required to install on your XenServer or XCP-ng hosts. There will not be any daemon or service is running on the hosts. It is completely agentless! You can do everything via a web browser!!
From the Xen Orchestra web interface, you can create and manage virtual machines, migrate VMs between hosts, move VMs hot (i.e. Live storage migration), access the VM's console and more.
XO has a built-in Backup and Disaster recovery feature which provides automated, fast and efficient backup solutions including full backup as well as file-level backup and restore, rolling snapshots, delta backup and continuous replication. The backup reports can be directly sent to Slack, so you can get notifications immediately.
In a nutshell, Xen Orchestra is a fast, complete, user friendly and agentless solution that simplifies your XenServer/XCP-ng server management tasks from a central place.
Xen Orchestra is an open source project and free to use. There is also a paid version available which provides pro support and monthly updates.
Install Xen Orchestra Appliance
Vates, the company behind Xen Orchestra, has created a ready-made, turnkey appliance called Xen Orchestra Appliance (XOA). All you have to do is just import the XOA Virtual machine on your XenServer or XCP-ng host and run it under couple minutes.
Go to the Xen Orchestra Appliance Registration page and enter your XenServer or XCP-ng details such as IP address, and
root password and follow the further instructions.
Alternatively, you can use XOA installation script to deploy Xen Orchestra Appliance.
Log in to your XCP-ng server and run the XOA installation script by running the command:
# bash -c "$(wget -qO- https://xoa.io/deploy)"
This command will download the XOA virtual machine and import it to your XCP-ng server.
Enter the IP address, netmask, gateway and DNS details for your XOA VM. If you wanted to use DHCP values, simply leave the values empty and press ENTER key. Please note that XOA IP address should be different than your XCP-ng server's.
Next, you will be asked to enter the password for your
xoa SSH account. Use a strong and unique password.
Now the XO appliance will be downloaded and imported automatically into your XCP-ng or XenServer. Please note that the XO appliance's size is around 1 GB, so it will take some time depending upon your Internet speed.
After successful download and import, you should see an output like below.
Welcome to the XOA auto-deploy script! Network settings: IP address? [dhcp] 192.168.1.81 Netmask? [255.255.255.0] Gateway? 192.168.1.101 dns? [126.96.36.199] xoa SSH account: Password? (disabled if empty) xoa account will be enabled Importing XOA VM... Booting XOA VM... Waiting for your XOA to be ready… Your XOA booted but we couldn't fetch its IP address Default UI credentials: email@example.com/admin VM UUID: dd475ac9-e235-dc09-f1f6-739587ffa5a9
As you can see in the about output, the default username and password to access XOA web UI is firstname.lastname@example.org/admin. In the output, I noticed XOA installer script could not fetch the IP address of my XOA virtual machine. It might be due to the static IP. I am not sure why. But you should see an output like below:
Your XOA is ready on https://192.168.1.81/
This is your XOA's web interface URL.
The default username for XOA SSH account is xoa and the password is the one that you entered during the installation.
Access Xen Orchestra Appliance (XOA) Web Interface
Open your web browser and navigate to https://XOA-IP-Address/.
Enter the default username and password of the XOA web interface. The default username is email@example.com and its password is admin.
This is how the XOA web interface looks like.
The first thing you should do is change the default password of the administrator account. To do so, go to Settings -> Users section.
Click edit and set a strong password.
The next import task is to add your XCP-ng or XenServer in XOA dashboard.
Add XCP-ng to XOA Web Dashboard
Go to the Home section of XOA web interface and click "Add Server" option. You can also do it from Settings -> Servers section.
Enter a label name for your XCP-ng/XenServer, and its IP address, username and password. And, click "Connect" to continue.
Now, the XCP-ng server is listed under the Servers tab. Don't forget to toggle the "Unauthorized Certificates" button to ON to fully enable the server. The status should automatically turned to "Enabled".
Similarly, you can add as many XenServer/XCP-ng hosts as you wanted to manage via XOA web client.
After adding the hosts, click the "Dashboard" button on the left side bar to view the added XCP-ng hosts.
In the Xen Orchestra Dashboard, you will see the number of configured pools, no. of configured hosts, no. of running VMs, and the usage report of RAM, CPU and Storage of XCP-ng host.
You can click on any item to view more details about it. For instance, I clicked the xcpng pool to view its details.
We will soon publish a detailed guide to walk you through the XOA web interface and teach you how to get things done via XOA dashboard.
Access Xen Orchestra Appliance via SSH
Did you remember a SSH user called
xoa is created during the XOA installation? Yes! To access XOA via SSH, run:
$ ssh firstname.lastname@example.org
Replace the IP address with your XOA's actual IP. As you already aware, when you access a machine via SSH for the first time, you will be prompted to add and accept fingerprint for that machine. Simply type "yes" and hit ENTER to continue. Next, enter the password for the
xoa user account.
Congratulations! You're now connected to XOA virtual machine via SSH.
Linux xoa 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 __ __ ____ _ _ \ \ / / / __ \ | | | | \ V / ___ _ __ | | | |_ __ ___| |__ ___ ___| |_ _ __ __ _ > < / _ \ '_ \ | | | | '__/ __| '_ \ / _ \/ __| __| '__/ _` | / . \ __/ | | | | |__| | | | (__| | | | __/\__ \ |_| | | (_| | /_/ \_\___|_| |_| \____/|_| \___|_| |_|\___||___/\__|_| \__,_| Welcome to XOA Unified Edition, with Pro Support. * Restart XO: sudo systemctl restart xo-server.service * Display status: sudo systemctl status xo-server.service * Display logs: sudo journalctl -u xo-server.service * Register your XOA: sudo xoa-updater --register * Update your XOA: sudo xoa-updater --upgrade OFFICIAL XOA DOCUMENTATION HERE: https://xen-orchestra.com/docs/xoa.html Support available at https://xen-orchestra.com/#!/member/support In case of issues, use `xoa check` for a quick health check. Build number: 21.08.23 Based on Debian GNU/Linux 11 (Stable) 64bits in PVHVM mode Last login: Fri Mar 31 08:47:17 2023 from 192.168.1.101 [08:48 31] xoa@xoa:~$
You now use the XOA from your terminal as the way you use a remote system.
You can view the status of the
xo-server service using command:
$ sudo systemctl status xo-server.service
● xo-server.service - XO Server Loaded: loaded (/etc/systemd/system/xo-server.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2023-03-31 06:48:46 EDT; 2h 9min ago Main PID: 453 (node) Tasks: 11 (limit: 2307) Memory: 183.2M CPU: 1min 51.029s CGroup: /system.slice/xo-server.service └─453 node /usr/local/bin/xo-server Mar 31 06:49:03 xoa xo-server: 2023-03-31T10:49:03.403Z xo:plugin INFO register telemetry Mar 31 06:49:03 xoa xo-server: 2023-03-31T10:49:03.512Z xo:plugin INFO register xoa Mar 31 06:49:05 xoa xo-server: 2023-03-31T10:49:05.249Z xo:xo-mixins:plugins INFO [NOTICE] register plugin telemetry for the first time Mar 31 06:49:05 xoa xo-server: 2023-03-31T10:49:05.252Z xo:xo-mixins:plugins INFO [NOTICE] register plugin xoa for the first time Mar 31 06:49:05 xoa xo-server: 2023-03-31T10:49:05.288Z xo:plugin INFO successfully register telemetry Mar 31 06:49:05 xoa xo-server: 2023-03-31T10:49:05.288Z xo:plugin INFO successfully register xoa Mar 31 07:48:12 xoa xo-server: 2023-03-31T11:48:12.345Z xo:main INFO + WebSocket connection (::ffff:192.168.1.101) Mar 31 08:24:24 xoa xo-server: 2023-03-31T12:24:24.155Z xo:main INFO + Console proxy (email@example.com - ::ffff:192.168.1.101) Mar 31 08:24:26 xoa xo-server: 2023-03-31T12:24:26.843Z xo:main INFO - Console proxy (firstname.lastname@example.org - ::ffff:192.168.1.101) Mar 31 08:56:27 xoa xo-server: 2023-03-31T12:56:27.547Z xo:main INFO - WebSocket connection (::ffff:192.168.1.101)
You can also check if there any issues with Xen Orchestra using the following command:
$ xoa check
To update the Xen Orchestra appliance, first make sure you registered the appliance using command:
$ sudo xoa-updater --register
And then update XOA using command:
$ sudo xoa-updater --upgrade
We will discuss more details on the command line usage of XOA in the upcoming articles.
In this guide, we discussed what is Xen Orchestra, how to deploy Xen Orchestra appliance on XCP-ng server and how to access XOA web dashboard.
In the upcoming articles, we will learn more about XOA usage and how to deploy VMs via XOA web interface.