Hive OS Diskless PXE

ru
en
#1

Introduction

PXE is an environment used to boot the computer with a network card without the use of local storage media. PXE booting consists of two components - a PXE server and diskless clients.

Using a PXE Server and diskless rigs can reduce the cost of your mining investment by saving on disk storage media.

PXE Server

System requirements:

  • Any computer running Ubuntu 16 (VirtualBox is also supported *).
    Other versions of Linux based on Debian are also possible.
  • Static IP address over cable Ethernet
  • At least 2 Gb of RAM
  • At least 4 Gb of free disk space

VirtualBox

You can use VirtualBox to test our PXE Server or skip this part if you don’t use PXE Server on it.
If VirtualBox is used as a virtual machine server, the network interface in the virtual machine settings must be in Bridge mode, and Promiscuous mode must be enabled on the network interface. Before use, make sure that the virtual machine is accessible from the local network. If necessary, disable the firewall on the host computer.

PXE Server Init

Download the PXE Server package
wget http://download.hiveos.farm/pxe/diskless/hive-pxe-diskless.tar.gz
Unpack the archive in any directory (preferably root).
sudo tar -xvf hive-pxe-diskless.tar.gz -C /

PXE Server Configuration

For the initial server setup, you’ll need to navigate inside the directory and run the script by typing sudo ./pxe-config.sh and answering all the questions.
The default settings can be left unchanged as they work.
The only required parameter that needs to be manually specified is FARM_HASH. It can be found under Farm Settings in your Hive OS Dashboard (Web interface).

Upon running the script, all necessary files will be installed to ensure functionality. After which, the script will wait for answers to the following questions;

The first one, being to enter your farm’s FARM_HASH.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Next question is Hive API server URL - can be left unchanged.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Next question is Hive repo URL - can be left unchanged.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Next question is PXE server IP to bind service - can be unchanged.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Next question is size of temporary file system (TMPFS) needed for the server to function properly - can be left unchanged.
Size of TMPFS depends on the size of free RAM.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Next question is the name of the special Hive image to boot the diskless rig over the network - can be left unchanged.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Script will (re)start the necessary services and we’re almost done with server part.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Last question is about the Hive image upgrade to latest version. You can skip this and do it later by running script hive-upgrade.sh.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
The PXE Server setup now is complete.

Hive Client upgrade

Update HiveOS centrally on the server by updating the archive containing the file system. After updating, on reboot, the rig(s) will start up using the latest version of HiveOS.
To upgrade, just run the script sudo ./hive-upgrade.sh
During this operation, the script will extract the file system into a temporary folder, it will update the HiveOS repository, re-pack it and place it in the correct directory.
IMPORTANT NOTE: During the upgrade, a backup of the previous file system will be created in the backup_fs directory. After the upgrade, it is strongly recommended to reload one / two rig(s) to ensure that the update was successful and that the rigs successfully loaded and are functioning accordingly. If all is well, you can restart the rest of the rigs and delete the file system backup file.

Diskless rig

System requirements for diskless rig

  • At least 4Gb of RAM
  • BIOS with PXE (netboot, etc) option
  • AMD GPU RX 4xx/5xx platform only (currently)

Diskless rig preparation

After the server installation is complete, you’ll need to prepare your rigs.
To do this, enter their BIOS settings and enable network booting (PXE|netboot, etc.) in legacy mode. Everything related to UEFI must be turned off!
If everything was setup correctly, the rig should boot to PXE, load and start Hive OS via network from the newly installed server. (including being accessible from the web interface).

#2

Сервер для загрузки бездисковых станций под управлением HiveOS


Системные требования:

  1. Любой компьютер (VirtualBox также поддерживается*) под управлением Ubuntu 16. Также возможны другие версии Linux основанные на Debian.
  2. Статический IP-адрес
  3. Не менее 2 Gb оперативной памяти.
  4. Не менее 4 Gb свободного дискового пространства.
  • В случае использования в качестве сервера виртуальной машины VirtualBox, в настройках виртуальной машины сетевой интерфейс должен быть в режиме Bridge, а также должен быть включен Promiscuous mode на сетевом интерфейсе. Перед использованием необходимо убедится, что виртуальная машина доступна из локальной сети. В случае необходимости, отключить файрволл на хост-компьютере.

Установка:

  1. Распаковать архив в любую директорию (лучше в корневую).
  2. Для первоначальной настройки сервера необходимо запустить скрипт pxe-config.sh и ответить на все вопросы.
    Параметры по умолчанию можно оставить без изменений. Они работоспособны. Единственный необходимый параметр, который придется указать обязательно - это FARM_HASH. Его нужно скопировать из настроек вашей фермы в веб-интерфейсе Hive OS.
  3. После окончания работы установочного скрипта будет предложено запустить скрипт обновления. Если это первая установка - желательно согласиться, чтобы получить последнюю версию HiveOS.

После окончания работы скрипта, сервер полностью готов к использованию.
На ригах необходимо зайти в настройкн BIOS и включить загрузку по сети (pxe|netboot и т.п.) в режиме legacy. Все что связано с uefi - отключить!
Если все сделано правильно, то после включения, риг загрузится по сети с вновь установленного сервера и начнет работать в штатном режиме (в том числе в полном объеме будет доступен из веб-интерфейса).


Обновление HiveOS.

Обновление HiveOS происходит централизованно на сервере. Путем обновления архива с файловой системой. После обновления при перезагрузке, риги начнут использовать уже обновленную HiveOS.
Для обновления достаточно запустить скрипт hive-upgrade.sh
В процессе работы, скрипт распакует файловую систему во временную папку, обновит ее из репозитория HiveOS, запакует обратно и разместит в нужном месте.
ВАЖНОЕ ЗАМЕЧАНИЕ: При обновлении будет создан бекап предыдущей файловой системы в директории backup_fs. После обновления настоятельно рекомендуется перезагрузить один/два рига. Убедится в том что обновление прошло успешно, риги успешно загрузились и работают. Если все хорошо, можно перезагружать остальные риги и удалить файл бекапа файловой системы.


Дополнительная информация.

При желании можно указать бОльший объем памяти для резервирования под файловую систему. А также другое имя файла с архивом файловой системы.
Обязательное требование, архив файловой системы должен быть в формате tar.xz (lzma) и распологаться в поддиректории hiveramfs.
Все остальное - полностью на усмотрение пользователя в зависимости от возможностей ригов.
Предположительно на ригах с 8 Gb оперативной памяти вполне возможно загрузить полноценную файловую систему HiveOS с X-сервером и поддержкой карт Nvidia (не тестировалось).