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.

:red_circle: Currently this release is for AMD cards only and 4Gb+ of system RAM. For Nvidia it will required 8Gb+ RAM because of larger drivers.

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

  • 4Gb+ of system RAM for AMD GPU RX 4xx/5xx
  • 8Gb+ of system RAM for Nvidia cards (unsupported for now)
  • BIOS with PXE (netboot, etc) option

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).

FAQ

Can I use one of my rigs as a server?
Of course, you can use one of your disk rigs as a server. But you should pay attention to the requirements of the rig you need to add the minimum server requirements. You should also take care of the stability of the work of such a rig.


1 Like
PXE Boot with HiveOS "golden image"
Diskless Boot via NFS Server
#2

:ru: Hive Diskless PXE

Вступление

PXE среда, используемая для загрузки компьютера с сетевой карты без использования локального носителя. PXE загрузка состоит из двух компонентов - PXE сервера и бездисковых клиентов.

Использование PXE Server и бездисковых ригов может снизить стоимость ваших инвестиций в майнинг за счет экономии на дисковых носителях.

:red_circle: В настоящее время этот релиз предназначен только для карт AMD и 4+ Гб системной памяти. Для Nvidia потребуется 8 Гб ОЗУ из-за особенности драйверов.

PXE сервер

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

  • любой компьютер под управлением Ubuntu 16 (VirtualBox также поддерживается*).
    Другие версии Linux на основе Debian также возможны.
  • статический IP адрес по сетевому кабелю
  • минимум 2 Gb ОЗУ
  • минимум 4 Gb свободного места на диске

VirtualBox

Вы можете использовать VirtualBox для тестирования нашего PXE-сервера или пропустить эту часть, если вы не планируете используеть PXE-сервер на нем.
Если VirtualBox используется в качестве сервера виртуальной машины, сетевой интерфейс в настройках виртуальной машины должен быть установлен в Bridge mode и Promiscuous mode должен быть включен на сетевом интерфейсе. Перед использованием убедитесь, что виртуальная машина доступна из локальной сети. При необходимости отключите брандмауэр на хост-компьютере.

Подготовка к установке PXE сервера

Загрузите пакет PXE-сервера

wget http://download.hiveos.farm/pxe/diskless/hive-pxe-diskless.tar.gz

Распакуйте архив в любую директорию (желательно корневую).

sudo tar -xvf hive-pxe-diskless.tar.gz -C /

Установка и настройка PXE-сервера

Для начальной настройки сервера вам нужно будет перейти в каталог и запустить скрипт, набрав sudo ./pxe-config.sh и ответить на все вопросы.
Настройки по-умолчанию можно оставить без изменений, они рабочие.
Единственный обязательный параметр, который необходимо указать вручную, это FARM_HASH. Его можно найти в разделе «Настройки фермы» на панели инструментов Hive OS (веб-интерфейс)…

После запуска скрипта все необходимые файлы будут установлены для обеспечения работоспособности сервера. После чего скрипт будет ждать ответов на следующие вопросы;

Первый вопрос, необходимо ввести FARM_HASH Вашей фермы.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Следующий вопрос это Hive API server URL - можно оставить без изменений.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Следующий вопрос это Hive repo URL - можно оставить без изменений.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Следующий вопрос это PXE server IP to bind service (IP адрес на котором сервер будет работать) - можно оставить без изменений.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Следующий вопрос это размер временной файловой системы (TMPFS size) необходимо для правильной работы сервера - можно оставить без изменений.
Размер TMPFS зависит от размера свободной оперативной памяти.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Следующий вопрос это имя специального образа Hive для загрузки бездискового устройства по сети - можно оставить без изменений.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Скрипт (пере)запустит необходимые сервисы, и мы почти закончили с установкой/настройкой серверной части.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Последний вопрос про обновление образа Hive до последней версии. Вы можете пропустить этот шаг и сделать это позже, запустив скрипт 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
Настройка PXE-сервера завершена.

Hive Client upgrade

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

Бездисковый риг

Системные требования для бездискового рига:

  • 4Gb+ ОЗУ для карт AMD GPU RX 4xx/5xx
  • 8Gb+ ОЗУ для Nvidia карт (не поддерживается пока)
  • BIOS с опцией загрузки по PXE

Подготовка бездискового рига

После завершения установки PXE сервера вам необходимо подготовить ваши риги для совместной работы с ним.
Для этого войдите в настройки BIOS и включите загрузку по сети. (PXE|netboot, etc.) в legacy mode. Все что связано с UEFI и сетевым адаптером должно быть отключено!
Если все настроено правильно, риг должен загрузиться в PXE, загрузиться и запустить HiveOS по сети с недавно установленного сервера. (в том числе быть доступным из веб-интерфейса).

ЧаВо

Могу ли я использовать в качестве сервера один из своих ригов?
Безусловно вы можете использовать один из ваших дисковых ригов в качестве сервера. Но следует обратить внимание, что к требованиям рига нужно добавить минимальные требования к серверу. Также следует позаботиться о стабильности работы такого рига.


1 Like
listed #3
pinned #4
#5

Tested on raspberry?

#6

No, you can be the first.

But there is no reason not to work on Raspbian (or something familiar).

#7

Thanks for this! I was thinking of trying to configure Hive for PXE boot, but this saves me a bunch of time! Is it possible to PXE boot different farms on the same network? Since FARM_HASH is set in the PXE server, could a rig be transfered to another farm, but still boot from the same PXE server?

#8

After some testing, you can transfer a PXE booted rig to another farm, but one it reboots it get setup as a new rig on the farm that the PXE boot server is configured for. I guess I will be dividing my farm into subnets with a PXE server on each one to divide the rigs.

#9

Hi there, been trying for hours to figure out the issue, did a fresh ubuntu install, set static ip, ran all the commands but as soon as I run the sudo ./pxe-config.sh and set all those options my computer loses access to almost all websites and is unable to update the hiveos clients. It immieditely cant connect to any website other than google. I can still access my router and Google search but no other sites will resolve.

Please advise.

#10

Hi,
I’ve tested with Raspberry. It worked good. Only the image update does not work because it needs 64bits kernel files. Even with raspberry ARMv8 (64bits) it does not work.
Anyway you can install the PXE update script in another PC, generate the files and copy to raspberry.
It works great.

#11

when Nvidia support?

#12

How many rigs do you have (planned to use PXE Boot + Nvidia) ?

#13

6 Nvidia
6 AMD

#14

How much RAM your Nvidia’s rigs have?

#15

8gb but got some extra banks if needed