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
When there is physical access to the servers;
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
Obtain the images using the link provided or offline with physical transfer of the solution:
CODEinstall_primary.iso install_secondary.iso
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 thedd
utility;Select boot from Virtual Media / USB in BIOS;
Install the solution according to the general installation procedure (see installation video): on the primary server
install_primary.iso
, on the secondary serverinstall_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:
Obtain the images (https://boot.ipxe.org/ipxe.iso):
CODEipxe.iso
In the IPMI/KVM interface, mount
ipxe.iso
to the server where we put the product and boot from this ISO;At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you should pressCtrl+B
. The moment is easy to miss, so the best tactic would be to keep pressing this combination all the time.Network configuration:
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;For static configuration it is necessary to find out the name of the network interface with the
ifstat
command:CODEiPXE> 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
Next, type the
config
command and get to the configuration menu. You can navigate through the menu using the arrows and theEnter
key;In this menu there will be a "directory"
net0/
or with your interface name. Enter it and set the values in the fieldsgateway
,ip
,netmask
,dns
actual for your network;Then exit the menu by pressing
Ctrl+X
.You can check the configuration by entering the
route
command in the console. Your network settings should be displayedStart the installation. Enter the command
CODEchain https://assets.aircloud.org/menu.ipxe
A screen will appear with a choice of distribution type - primary or secondary. Select the desired distribution:
A screen will appear asking for a
login and password
. After entering the correct login and password, the distribution installation will start:Install the solution following the general installation instructions.
Instructions on how to deploy and connect your own IPXE server
Obtain one of the following images:
CODEnetboot_primary.tar netboot_secondary.tar
Download the required image to the auxiliary server;
Extract the image to a directory
CODEmkdir /opt/nextop-install cd /opt/nextop-install tar xvf /path/to/netboot_primary.tar
Change the configuration (optional)
In the config.json
file you can configure limitation of file downloading by login and password.
Thehttp_server_user
andhttp_server_pass
options are responsible for thisStarting the installation server
CODEcd /opt/nextop-install ./server
Inside
netboot_primary.tar
andnetboot_secondary.
tar images there is anipxe.iso
file
. It should be either downloaded from the auxiliary server or unpacked locally and taken from there;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;At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you need to pressCtrl+B
. The moment is easy to miss, so the best tactic would be to keep pressing this combination at all times;Network configuration:
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;For static configuration it is necessary to find out the name of the network interface with the
ifstat
command:CODEiPXE> 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
.
Next, type the
config
command and get to the configuration menu. You can navigate through the menu using the arrows and theEnter
key;In this menu there will be a "directory"
net0/
or with your interface name. Enter it and set the values in the fieldsgateway
,ip
,netmask
,dns
actual for your network;Then exit the menu by pressing
Ctrl+X
;You can check the configuration by entering the
route
command in the console. Your network settings should be displayed;Start the installation. Enter the command:
CODEchain http://<configured_auxiliary_server_ip>/menu.ipxe
If a login and password was set in config
.json
, the login and password screen will appear;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
Obtain images:
CODEnetboot_primary.tar netboot_secondary.tar
Upload the required image to the secondary server;
Extract the image to a directory:
CODEmkdir /opt/nextop-install cd /opt/nextop-install tar xvf /path/to/netboot_primary.tar
Enable tftpd in config
.json
. Set the option"enable_tftpd": true
;
# /opt/nextop-install/config.json
{
"http_server_port": "80",
"http_server_host": "",
"http_server_user": "",
"http_server_pass": "",
"log_file": "",
"enable_tftpd": true
}
Also in the same config you can configure access restriction by login and password (optional). The options
http_server_user
andhttp_server_pass
are responsible for this;Configure in the
DHCP-server next-server=<auxiliary_server_ip>
andfilename=undionly.kpxe
;
config forisc-dhcp-server is
given as an exampleCODEdefault-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"; } }
Start the installation server:
CODEcd /opt/nextop-install ./server
In the IPMI/KVM interface, boot the server in IPXE boot mode;
At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you need to pressCtrl+B
. The moment is easy to miss, so the best tactic is to keep pressing this combination.Network configuration: in the console type the command
dhcp
.Start the installation. Enter the command:
- CODE
chain http://<configured_auxiliary_server_ip>/menu.ipxe
If a login and password were specified in config
.json
. the login and password screen appears;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
Configure in
DHCP-server next-server=<nextop_server_ip>
andfilename=undionly.kpxe
.
The config forisc-dhcp-server is
given as an example:
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";
}
}
In the IPMI/KVM interface, boot the server in PXE boot mode;
At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you need to pressCtrl+B
. The moment is easy to miss, so the best tactic is to keep pressing this combination.Network configuration: in the console type the command
dhcp
Start the installation. Enter the command- CODE
chain https://assets.aircloud.org/menu.ipxe
A menu with the choice of distribution will appear
After selecting the distribution, the bootloader will ask for login and password
After entering the correct login and password, the installer will be launched
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).
wget -O- --post-file=/var/log/syslog {server_ip_address_here}
A primitive server on python3
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:
nc -l 0.0.0.0 10000 > syslog.txt
On the server we want to pick up from syslog
:
cat /var/log/syslog | nc {server_ip_addreess_here} 10000