Installation using Ansible playbook
You can install the complete DPX vPlus solution using the following 2 roles, available on Ansible Galaxy:
- DPX vPlus Server: https://galaxy.ansible.com/ui/standalone/roles/xe0nic/ansible_vprotect_server/
- DPX vPlus Node: https://galaxy.ansible.com/ui/standalone/roles/xe0nic/ansible_vprotect_node/
This approach installs a server and one or more nodes on remote hosts and generates an SSL certificate based on the server hostname. The end result should be the same as an RPM-based installation without the staging setup. Configuration (such as backup destination definition or hypervisor connectivity) still needs to be done after installation. You can also add more nodes in the future if necessary.
Prerequisites
You can find list of all supported operating systems in this chapter
You need to prepare CentOS or RHEL minimal for DPX vPlus (both roles can be installed on the same or different hosts). The Ansible control host should have Ansible installed so that it uses Python 3.x.0
This example assumes that you have root access to this host and you have configured your Ansible to connect with SSH public keys to your host. For example:
generate key:
ssh-keygen -f ~/.ssh/id_rsa -P ""
and copy it to your CentOS/RHEL box:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@YOUR_HOST
The nodes will communicate with the DPX vPlus Server via port 8181, so they need to be able to access it using the server's FQDN (this needs to be resolvable).
Ansible variables
These two roles use just a few variables. Both plays use the server_fqdn variable. If not defined, the server play sets the variable server_fqdn to the hostname reported by the OS on which it is installed. The server play will generate an SSL certificate for this FQDN, and node play will automatically use this value if defined. You can also provide this variable manually (either in the hosts file or with the extra vars switch in the ansible-playbook command -e "server_fqdn=vprotect.server.local"
Node play needs a node_name for the registration process. If not provided, it will just use the hostname reported by the OS, however, keep in mind that it needs to be unique for each node. We recommend that you set them in the host inventory file.
Optionally, you may want to set a db_password for the root DB access which is set during server installation. Note, that the Server service uses its own account with an auto-generated password.
By default, DPX vPlus uses MariaDB 10.6 for CentOS - you can control the source, distribution and version of your MariaDB with the following variables (with their respective default values):
mariadb_version: "10.6"
mariadb_distro: "centos"
mariadb_repo_url: "http://mirror.mariadb.org/yum/{{ mariadb_version }}/{{ mariadb_distro }}/{{ ansible_distribution_major_version }}/x86_64"
mariadb_repo_gpg_key: "https://yum.mariadb.org/RPM-GPG-KEY-MariaDB"
Installation steps
Before installing DPX vPlus we highly recommend doing a system update and reboot.
This example assumes that you want to install both the DPX vPlus Server and Node using a single playbook and on the same host. However, keep in mind that you may also install them separately by providing different target hosts and using separate playbooks like in the examples in the readme roles (links above).
Run these on the system from which you run Ansible playbooks:
-
Install Ansible roles:
ansible-galaxy install xe0nic.ansible_vprotect_server
ansible-galaxy install xe0nic.ansible_vprotect_node -
Install additional collections
ansible-galaxy install -r ~/.ansible/roles/xe0nic.ansible_vprotect_server/meta/collections.yml
ansible-galaxy install -r ~/.ansible/roles/xe0nic.ansible_vprotect_node/meta/collections.yml -
Create a playbook directory and change it to a working directory:
mkdir storware && cd storware -
Create an inventory file -
hostsand refer to the location to where you extracted the repository- in this example we have specified one node and server, but you can define more nodes (each one must be in a separate line and have a unique node name)
- the server can be on a different host
- we recommend having at least one node installed together with the server to run DB backups
[all:vars]
ansible_user=root
admin_pass=password
db_pass=password
[server]
192.168.1.2
[nodes]
192.168.1.2 node_name=node1where:
admin_pass- password for admin userdb_pass- password for mysql root usernode_name- name under which node will be registered
If you don't provide password for admin user and mysql root user, it will be set to vPr0tect
-
Create a playbook file -
site.yml:---
- hosts: server
roles:
- xe0nic.ansible_vprotect_server
- hosts: nodes
roles:
- xe0nic.ansible_vprotect_node -
Run the playbook:
ansible-playbook -i hosts site.yml
Post-installation
Now you should be able to log in to the DPX vPlus server using https://IP_OF_YOUR_MACHINE. By default, DPX vPlus has one admin account - admin with the password vPr0tect (with a zero).
After the initial log in you can configure single sign-on using LDAP or Keycloak.
Remember to prepare your staging space as described in the Staging space configuration.
Now proceed with the Initial configuration instructions, to configure access to the hypervisors and backup destinations.