Skip to main content
Skip table of contents

Installing the solution distribution on the server

General information | A must-read

The solution distribution image is based on Debian. This material is not intended to teach you how to install a classic Debian-based distribution.

For flexibility when installing the solution on servers, two types of installation images are provided: for the primary host, which includes the central orchestration server component, and for secondary hosts, which do not. The primary image can be re-installed on other hosts in the future to extend the central server.

The image for the primary node can also be used to install secondary nodes, as it contains all packages.

Attention!

In any type of installation when partitioning disks you need to allocate 2.5x of RAM for SWAP.

After installing the solution you need to configure the system. To do this, use the configuration instructions: Configuring and licensing the solution after installation

Instructions for the different types of installation

Installation using ISO images

Application

  1. When there is physical access to the servers;

  2. When there is a fast network connection to the server and the ability to mount the ISO image in the KVM interface (or equivalent) of the server over the network.

Installation instructions - physical server access or IPMI/KVM access

  1. Obtain the images using the link provided or offline with physical transfer of the solution:

    CODE
    install_primary.iso
    install_secondary.iso
  2. Mount a virtual disk using IPMI interface (or equivalent) or insert a USB drive of suitable size(>= 16Gb) into the server with a pre-recorded image via the dd utility;

  3. Select boot from Virtual Media / USB in BIOS;

  4. Install the solution according to the general installation procedure (see installation video): on the primary server install_primary.iso, on the secondary server install_secondary.iso.

Installation with IPXE or ipxe.iso image via IPMI/KVM

Application

When there is a slow network connection to a server with an IPMI/KVM management interface with the ability to connect ISO images + there is another secondary server on the network with the customized server, or a public secondary server on the Internet (usually https://assets.aircloud.org/menu.ipxe) that can be accessed from the network of the customized server.

Instructions for installing from a public IPXE server

Use the link https://assets.aircloud.org/menu.ipxe for IPXE installation. You must be provided with a login and password for access. If the server console does not have a built-in IPXE installation, use the IPXE image: https://boot.ipxe.org/ipxe.iso.

Detailed installation steps:

  1. Obtain the images (https://boot.ipxe.org/ipxe.iso):

    CODE
    ipxe.iso
  2. In the IPMI/KVM interface, mount ipxe.iso to the server where we put the product and boot from this ISO;

  3. At the moment of booting there will be an opportunity to get a console for entering commands
    . To do this you should press Ctrl+B. The moment is easy to miss, so the best tactic would be to keep pressing this combination all the time.

  4. Network configuration:

    1. If there is a dhcp server on the network that will give out the ip for that server, then type the dhcp command in the console;

    2. For static configuration it is necessary to find out the name of the network interface with the ifstat command:

      CODE
      iPXE> ifstat
      net0: 52:54:00:3b:fa:dd ...
        [Link:up, TX:0 TXE:0 RX:0 RXE:0]

      here the name of the interface is net0

  5. Next, type the config command and get to the configuration menu. You can navigate through the menu using the arrows and the Enter key;

  6. In this menu there will be a "directory" net0/ or with your interface name. Enter it and set the values in the fields gateway, ip, netmask, dns actual for your network;

  7. Then exit the menu by pressing Ctrl+X.

  8. You can check the configuration by entering the route command in the console. Your network settings should be displayed

  9. Start the installation. Enter the command

    CODE
    chain https://assets.aircloud.org/menu.ipxe
  10. A screen will appear with a choice of distribution type - primary or secondary. Select the desired distribution:

  11. A screen will appear asking for a login and password. After entering the correct login and password, the distribution installation will start:

  12. Install the solution following the general installation instructions.

Instructions on how to deploy and connect your own IPXE server

  1. Obtain one of the following images:

    CODE
    netboot_primary.tar
    netboot_secondary.tar
  2. Download the required image to the auxiliary server;

  3. Extract the image to a directory

    CODE
    mkdir /opt/nextop-install
    cd /opt/nextop-install
    tar xvf /path/to/netboot_primary.tar
  4. Change the configuration (optional)
    In the config .json file you can configure limitation of file downloading by login and password.
    The http_server_user and http_server_pass options are responsible for this

  5. Starting the installation server

    CODE
    cd /opt/nextop-install
    ./server
  6. Inside netboot_primary.tar and netboot_secondary. tar images there is an ipxe.iso file
    . It should be either downloaded from the auxiliary server or unpacked locally and taken from there;

  7. In the IPMI/KVM interface, boot the server in IPXE boot mode. If it is not available, in IPMI/KVM-interface mount ipxe.iso (https://boot.ipxe.org/ipxe.iso) on the server where you want to install the product and boot from this ISO-image;

  8. At the moment of booting there will be an opportunity to get a console for entering commands
    . To do this you need to press Ctrl+B. The moment is easy to miss, so the best tactic would be to keep pressing this combination at all times;

  9. Network configuration:

    1. If there is a DHCP server on the network that will issue an IP for this server, then type the dhcp command in the console;

    2. For static configuration it is necessary to find out the name of the network interface with the ifstat command:

      CODE
      iPXE> ifstat
      net0: 52:54:00:3b:fa:dd ...
        [Link:up, TX:0 TXE:0 RX:0 RXE:0]

      here the name of the interface is net0.

  10. Next, type the config command and get to the configuration menu. You can navigate through the menu using the arrows and the Enter key;

  11. In this menu there will be a "directory" net0/ or with your interface name. Enter it and set the values in the fields gateway, ip, netmask, dns actual for your network;

  12. Then exit the menu by pressing Ctrl+X;

  13. You can check the configuration by entering the route command in the console. Your network settings should be displayed;

  14. Start the installation. Enter the command:

    CODE
    chain http://<configured_auxiliary_server_ip>/menu.ipxe
  15. If a login and password was set in config .json, the login and password screen will appear;

  16. Install the solution following the general installation instructions.

Installation using a PXE image via IPMI/KVM

Application

Suitable when the installation is to be performed on a server that supports PXE boot, has DHCP configuration capability, and has a secondary server to store the installation image.

Installation instructions

  1. Obtain images:

    CODE
    netboot_primary.tar
    netboot_secondary.tar
  2. Upload the required image to the secondary server;

  3. Extract the image to a directory:

    CODE
    mkdir /opt/nextop-install
    cd /opt/nextop-install
    tar xvf /path/to/netboot_primary.tar
  4. Enable tftpd in config .json. Set the option "enable_tftpd": true;

CODE
# /opt/nextop-install/config.json

{
    "http_server_port": "80",
    "http_server_host": "",
    "http_server_user": "",
    "http_server_pass": "",
    "log_file": "",
    "enable_tftpd": true
}
  1. Also in the same config you can configure access restriction by login and password (optional). The options http_server_user and http_server_pass are responsible for this;

  2. Configure in the DHCP-server next-server=<auxiliary_server_ip> and filename=undionly.kpxe;
    config for isc-dhcp-server is given as an example

    CODE
    default-lease-time 600;
    max-lease-time 7200;
    
    allow booting;
    
    subnet 192.168.0.0 netmask 255.255.255.0 {
      range 192.168.0.3 192.168.0.253;
      option broadcast-address 192.168.0.255;
      option routers 192.168.0.1;             # gateway
      option domain-name-servers 192.168.0.1; # dns
      next-server <configured_auxiliary_server_ip>;
      filename "undionly.kpxe";
    
    group {
      next-server <configured_auxiliary_server_ip>;
      host tftpclient {
          filename "undionly.kpxe";
      }
    }
  3. Start the installation server:

    CODE
    cd /opt/nextop-install
    ./server
  4. In the IPMI/KVM interface, boot the server in IPXE boot mode;

  5. At the moment of booting there will be an opportunity to get a console for entering commands
    . To do this you need to press Ctrl+B. The moment is easy to miss, so the best tactic is to keep pressing this combination.

  6. Network configuration: in the console type the command dhcp.

  7. Start the installation. Enter the command:

  8. CODE
    chain http://<configured_auxiliary_server_ip>/menu.ipxe
  9. If a login and password were specified in config .json. the login and password screen appears;

  10. Install the solution following the general installation instructions.

Installation over the Internet using a PXE image via IPMI/KVM

Application

Suitable when the target server supports PXE boot but does not support mounting an ISO image. It is possible to configure a DHCP server.

Installation instructions

  1. Configure in DHCP-server next-server=<nextop_server_ip> and filename=undionly.kpxe.
    The config for isc-dhcp-server is given as an example:

CODE
default-lease-time 600;
max-lease-time 7200;

allow booting;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.3 192.168.0.253;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.1;             # gateway
  option domain-name-servers 192.168.0.1; # dns
  next-server <nextop_server_ip>;
  filename "undionly.kpxe";

group {
  next-server <nextop_server_ip>;
  host tftpclient {
      filename "undionly.kpxe";
  }
}
  1. In the IPMI/KVM interface, boot the server in PXE boot mode;

  2. At the moment of booting there will be an opportunity to get a console for entering commands
    . To do this you need to press Ctrl+B. The moment is easy to miss, so the best tactic is to keep pressing this combination.

  3. Network configuration: in the console type the command dhcp
    Start the installation. Enter the command

  4. CODE
    chain https://assets.aircloud.org/menu.ipxe
  5. A menu with the choice of distribution will appear

  6. After selecting the distribution, the bootloader will ask for login and password

  7. After entering the correct login and password, the installer will be launched

  8. Install the solution according to the general installation instructions

Debugging

This section will provide useful materials and links to fix problems that may arise.

Logs

In the Debain installer the logs are written to /var/log/syslog by default
The only utilities available to upload them are wget (neither ssh nor curl are installed by default).

BASH
wget -O- --post-file=/var/log/syslog {server_ip_address_here}

A primitive server on python3

PY
import http.server as server

class HTTPRequestHandler(server.SimpleHTTPRequestHandler):
    def do_POST(self):
        cont_len = int(self.headers['Content-Length'])
        with open("syslog", 'wb') as output_file:
            output_file.write(self.rfile.read(cont_len))

        self.send_response(200, 'Created')
        self.end_headers()
        self.wfile.write('Logs saved'.encode('utf-8'))

if __name__ == '__main__':
    server.test(HandlerClass=HTTPRequestHandler)

Another easy way to get the logs:
On any available server, run:

BASH
nc -l 0.0.0.0 10000 > syslog.txt

On the server we want to pick up from syslog:

BASH
cat /var/log/syslog | nc {server_ip_addreess_here} 10000

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.