Ansible based Installation

To deploy the Nodeum Package, follow these instructions with internet connection :

$ yum install wget
$ wget get.nodeum.io/public/nodeum-v2-x-y-zzz.tar.gz
$ tar -xvzf /root/nodeum-v2-x-y-zzz.tar.gz
$ cd v2-x-y

The inventory location is defined in theansible.cfg. Inventory have to be stored in a specific folder and keep available for each installation.

For doing this, you need to move the folder into the standard inventory location:

~/nodeum/inventory :
$ mkdir ~/nodeum
$ mv ./inventory ~/nodeum/inventory

Password definition

Passwords are required for internal usage, specially for databases.

These files need to be defined by yourself and shouldn't change after the first installation.

The passwords configuration is set in this file: ~/nodeum/inventory/group_vars/all/passwords-v1.yml

File Encryption is possible and highly recommended for production system, go into Customize your installation to learn more.

Customize the installation

Various options can be defined and automated during deployment. To do this, go to the Customize your installation page to find out more.

Launch the installation

This action can be done once the configuration of your system will be done.

$ yum install epel-release 
$ yum install sshpass

The last command is required when the installation has to be done on multiple nodes.

This is also required to add each host's fingerprint to the known_hosts. For this you can execute a ssh command to each nodes.

Execute the check_install playbook:

$ ansible-playbook check_install.yml  

If there is no encrypted password file used:

$ ansible-playbook install.yml

If there is an encrypted password file used:

$ ansible-playbook --ask-vault password install.yml

or

$ ansible-playbook --vault-password-file=password_file install.yml

If a reboot is requested by Ansible, reboot the server and once done, execute again the `ansible-playbook install.yml` command

Once the ansible-playbook is fully installed, and it ends up with this screen

It is important to notice that there is no failed result

Then Nodeum is now ready to use, you can access it through your browser at this URL: http://your nodeum ip address/or via the DNS name.

If you can't access the Console through the default http port, you may have a local firewall is running. We recommend to either configuring it properly to allow access to the server through the http/https protocol.

Post-Ansible verification

At the end of the deployment, it is recommended to verify that all defined storage are configured in the data mover service.

To check, open the following file: /etc/nodeum/mover.toml.

Step 1: Check the plugins are enable

For Object Storage

/etc/nodeum/mover.toml
--

...

[[plugins]]
  path = "s3.so"

...
/etc/nodeum/mover.toml
--

...

[[plugins]]
  path = "swift.so"

...

Step 2: Check the Configuration

For Mounted File system Storage

/etc/nodeum/mover.toml
--

...  
[[storages.options]]
  # Applying additional options to connect to POSIX file system
  type = "nas-share"
  parent_name = "data1"
  [storages.options.handler]
    # will always be considered mounted in this directory, no mounting will be 
    attempted
    always_mounted = true
    path = "/mnt/data1"
    
...

For OpenStack Swift Storage

/etc/nodeum/mover.toml
--
...
[[storages.options]]
  # Applying additional options to connect to OpenStack swift as IDP
  parent_name = "swift_connector"
  [storages.options.handler]
    region_name = "my-region"
    auth_url = "https://my-swift-storage-url/"
    identity_provider = "your provider"
    auth_protocol = "openid"
...

Configuration change

If your configuration needs to change, open the file /etc/nodeum/mover.toml and do the changes.

If you have several nodes running the mover service, you need to apply the change on all nodes.

Do not forget to save the file and restart the mover service

$ sudo systemctl restart nodeum_mover.target

Be careful, if you do manual changes and you relaunch the Ansible without backporting the manual changes into the following Ansible Inventory file group_vars/all/options.yml the manual configuration will be overwritten.

Last updated