Настройка фермы для майнинга linux

Начинаем майнить в Linux

Хотим поблагодарить наших читателей за проявленный интерес к теме майнинга. В предыдущей статье Altcoin: просто взять и намайнить мы начали раскрывать потенциал наших услуг в сфере майнинга и рассматривали один из самых простых способов настройки платформы, а именно с использованием операционной системы Windows. В этой статье продолжим раскрывать тайны и тонкости настройки, но уже на базе Linux.

Сейчас существует большое количество готовых сборок Linux, как правило, на базе Ubuntu, с достаточно простой установкой и управлением. Самостоятельными дистрибутивами назвать их сложно, хоть они и имеют собственный дизайн и команду разработчиков. Собой они представляют обычную Ubuntu 16.04 с установленной графической оболочкой, как правило OpenBox или LXDE, набором драйверов и ассортимента программ-майнеров. Некоторые из них имеют собственные централизованные панели управления «шахтой». Приведем несколько самых известных и распространенных:

  1. ethOS — платный дистрибутив LiveCD, который можно развернуть на USB-флешку или диск. Стоимость одной лицензии $39. Имеется приложение для мониторинга в Google Play .
  2. HiveOS — сборка на базе Ubuntu, которую можно отнести к shareware — условно-бесплатное ПО, потому что предоставляет бесплатный мониторинг и управление только трех ригов. Все последующие по $5 за штуку.
  3. SMOS — также платная сборка. На момент написания статьи проводилась акция по $2 за rig. Имеет несколько версий, в зависимости от серии и поколения используемых видеокарт.
  4. nvOC — Ubuntu с установленными драйверами Nvidia, необходимыми настройками и набором майнеров. Достаточно отредактировать единый конфигурационный файл, указав номер кошелька и пул, и готово.
  5. rxOC — аналогичный образ, но уже для карт AMD.

Каждая из указанных сборок имеет как свои плюсы, так и минусы. Как друг относительно друга, так и общие. С точки зрения безопасности они все имеют один, как кажется, большой минус. Они все разработаны кем-то и пользователь, по сути, не имеет полного управления системой из коробки. В принципе, после разворачивания того или иного образа системы можно пройтись по ней с целью поиска заданий в планировщике, открытых портов в фаерволе, подозрительных скриптов и многого другого, но на это может уйти куда больше времени, чем настроить все самостоятельно, чем мы и займемся.

Что имеем и что потребуется добавить

Каждый использует удобную для него версию дистрибутива, мы же все-таки воспользуемся самой распространенной Ubuntu 16.04, которую можно установить автоматикой. Система устанавливается с минимально необходимым для работы сервера набором программного обеспечения.

Для удобства в работе и настройке:

  • добавляем дополнительного пользователя и выдаем ему права sudo;
  • включаем его в группу sudo.

Установка графической среды (если необходимо)

Для удобства использования можно установить любую среду рабочего стола.

  • Стандартная среда устанавливается командой:
  • Установка альтернативной среды:

После установки окружения необходимо перезагрузить сервер.

Установка драйверов

Нам потребуются проприетарные драйверы, т.к. только они смогут обеспечить необходимую производительность, функционал и стабильность. В свободных драйверах на данный момент отсутствует полноценная поддержка OpenCL и CUDA , в связи с чем потребуются именно они. Также управление частотами памяти и графического ядра, и скоростью оборотов системы охлаждения доступны только в проприетарных драйверах. Имеются два способа установки — рассмотрим детально оба из них.

Читайте также:  Команды nvflash под windows

Вариант №1. С сайта NVidia.

  1. Скачиваем драйверы с официального сайта. При выборе операционной системы указываем Linux x64. В перечне также присутствуют версии пакетов в формате .deb, но нас интересует универсальный в формате run:
  2. Делаем его исполняемым:
  3. В ходе установки система потребует отключить дисплейный менеджер, что мы сделаем заранее. Сделать это можно так:

Для остановки службы lightdm.service система попросит авторизоваться и ввести пароль текущего пользователя.

Установка проприетарных драйверов, скачанных с сайта производителя, выглядит как сборка их из исходников, для чего необходимо наличие в системе пакетов make и gcc, которые отсутствуют в стандартном наборе пакетов автоматической установки операционной системы.

  • Устанавливаем недостающие пакеты:
  • Запускаем установку драйверов:
  • Вариант №2. Из репозитория xorg-edgers

    Репозиторий xorg-edgers содержит последние стабильные версии драйверов NVidia. Его и будем использовать для установки.

    1. Добавляем xorg-edgers в систему:
    2. Выполняем обновление репозиториев:

    На момент написания статьи последней версией драйверов является 390.48.

  • Устанавливаем драйверы:
  • Создаем xorg.conf:
  • Перезагружаем сервер:

    Альтернативный способ перезагрузки:

    Настройка разгона карт

    В Linux нет программ подобных MSI Afterburner, в которых достаточно просто и удобно проводить разгон видеокарт путем перемещения ползунка по шкале. Сейчас многие, вероятно, скажут, что Linux это сложно и для майнинга не подходит, и с одной стороны, будут правы.

    Если вас бросает в дрожь от рисованных пингвинов и слов «терминал» или «консоль», страшитесь SSH и apt-get, если вы не любите проводить много времени за клавиатурой, то для ускорения настройки рига лучше использовать Windows, но и присмотреться к данной статье. Не такие и пугающие эти нелетающие компьютерные птицы — достаточно милые и дружелюбные. Далее мы рассмотрим, как же выполнить тонкую настройку видеокарты для достижения хорошей скорости добычи.

    Разгон будет осуществляться через драйверы путем изменения необходимых значений рабочих частот и скорости оборотов вентиляторов системы охлаждения. Изначально, изменение всех этих параметров заблокировано. Для разблокировки необходимо выполнить команды, которые откроют нам доступ к управлению картами (кулеры, частоты).

    1. Очищаем текущую конфигурацию и включаем видеоядра:
    2. Перезагружаемся:

    Далее необходимо внести изменения в конфигурационный файл X-сервера.

  • Открываем на редактирование /etc/X11/xorg.conf:
  • Добавляем строку в блок Section «Screen» (после Option «Coolbits» «31»):

    Секция примет следующий вид:

    Это позволит переключить видеокарты в режим максимальной производительности.

  • Cоздаем файл скрипта, который будет выполнять изменение частот памяти и графического ядра, устанавливать ручной режим управления системой охлаждения и указывать скорость оборотов вентиляторов видеокарт:
  • Вносим содержание скрипта:

    Вместо «x» следует указать необходимые значения разгона и скорости оборотов вентиляторов.
    Делаем скрипт исполняемым:

    Скрипт создавался для фермы из 4 карт. Для большего количества карт необходимо добавить соответствующее количество строк в коде. Также стоит отметить, что корректно скрипт отработает только при выполнении его из локальной ОС, т.е. при подключении по SSH — нет.

    Установка майнера

    Для добычи воспользуемся одной из немногочисленных утилит для добычи монет на алгоритме Ethash под названием ethminer. Скачать ее проще всего будет с GitHub:

    1. Скачиваем архив:
    2. Распаковываем:
    3. Копируем полученный файл в /usr/bin для дальнейшей простоты в использовании, т.к. он будет считаться установленной программой:
    4. Создаем скрипт с именем eth.sh, который будет выполнять запуск майнера в утилите screen:
    5. Вносим строки:
    6. Coхраняем файл сочетанием клавиш CTRL + W и отвечаем «Y».

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

    Кто-то, вероятно, обратил внимание, что в предыдущей статье указывалось, что карты GTX 1080 не сильно подходят для работы с алгоритмом DaggerHashimoto (Ethash) и их производительность составляла всего 25,5 — 26 Mh/s, в то время как можно достичь 35,65 Mh/s с помощью утилиты OhGodAnETHlargementPill . Чтобы ее установить, необходимо проделать следующие шаги:

    1. Скачиваем утилиту с GitHub:
    2. Делаем скачанный файл исполняемым:
    3. Настраиваем автозапуск:

    Данную утилиту можно размещать на запуск через rc.local:

    Добавляем следующую строку перед exit 0:

    Успешный запуск можно проконтролировать через screen:

    screen -x Tabletka.

    Итого

    Необходимое программное обеспечение и его настройка произведены. Можно добавить все созданные нами скрипты разгона и запуска майнера в автозагрузку, что существенно облегчит эксплуатацию рига. Также можно установить Teamviewer и осуществлять мониторинг и управление удаленно. Как вариант, можно настроить запуск скриптов в screen и осуществлять контроль по SSH. В данном вопросе каждый волен использовать привычный инструмент.

    P.S. А = автоматизация

    Мы рекомендуем самый простой способ — это воспользоваться стандартным приложением автозагрузки. В LXDE это «Сеансы и запуск».

    1. В окне приложения проходим на вкладку «Автозапуск».
    2. Нажимаем «Добавить».
    3. В появившемся окне указываем имя приложения, описание (при необходимости) и указываем расположение файла скрипта.
    4. Сохраняем новую запись.

    Через консоль утилита вызывается командой xfce4-session-settings. Данный вариант гарантировано запускает скрипты после полной загрузки операционной системы.

    Источник

    Пошаговая настройка Ubuntu для майнинга в автоматическом режиме с удаленным контролем

    В этой статье я постараюсь подробно изобразить последовательность действий, которую нужно совершить для настройки фермы генерации Биткоинов на базе Ubuntu 11.04. Безусловно, такой информации в сети более чем достаточно, но я постараюсь описать полностью завершенный и отлаженный процесс, неоднократно испробованный лично и затрону некоторые нюансы, касающиеся тонкой настройки системы.

    О самих биткоинах, их целессообразности и будущем пусть каждый делает выводы по своему усмотрению, я же в данной статье буду иметь дело только с технической стороной вопроса.

    Вводные данные

    Будем считать что у нас уже имеется системный блок с одной или несколькими видеокартами ATI серии 5xxx или 6xxx (с Nvidia тут делать нечего) и установленная Ubuntu Linux. Я использовал последнюю 64 битную версию и все ссылки ниже в коде даны для этой версии софта, хотя их не сложно будет привести к 32 битной, если возникнет такая необходимость.

    Обновление системы и установка необходимых пакетов.

    Последовательно вводим команды, при необходимости — пароль администратора:

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get remove nvidia-common
    sudo apt-get install libqtgui4 python-setuptools python-numpy subversion g++ libboost-all-dev

    Устанавливаем драйвера видео

    wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-6-x86.x86_64.run
    sudo sh ati-driver-installer-11-6-x86.x86_64.run —buildpkg Ubuntu/natty
    sudo dpkg -i *.deb
    sudo apt-get -f install
    sudo aticonfig -f —initial —adapter=all
    sudo reboot

    Здесь нужно заметить, что версия драйвера используется не самая последняя и на то есть причины — при использовании последней на данный момент 11.7 многие отмечали серьезную загрузку центрального процессора, одного или сразу всех ядер. Прироста проиводительности это не даст, а лишнюю нагрузку на блок питания — запросто.

    Устанавливаем python-jsonrpc

    svn checkout http://svn.json-rpc.org/trunk/python-jsonrpc
    cd python-jsonrpc/
    sudo python setup.py install

    Если не работает основной svn, скачать архив можно отсюда

    Устанавливаем AMD APP SDK 2.4

    wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx64.tgz
    tar xvzf AMD-APP-SDK-v2.4-lnx64.tgz
    echo export AMDAPPSDKROOT=$/AMD-APP-SDK-v2.4-lnx64/ >>

    /.bashrc
    echo export AMDAPPSDKSAMPLESROOT=$/AMD-APP-SDK-v2.4-lnx64/ >>

    /.bashrc
    cd /
    sudo tar xfz $AMDAPPSDKROOT/icd-registration.tgz

    На данный момент доступна версия AMD APP SDK 2.5, но лично я ее проверить в работе еще не успел, поэтому и советовать не рискну.

    Устанавливаем pyopencl-0.92

    wget http://pypi.python.org/packages/source/p/pyopencl/pyopencl-0.92.tar.gz
    tar xzvf pyopencl-0.92.tar.gz
    cd pyopencl-0.92
    ./configure.py —cl-inc-dir=$include —cl-lib-dir=$lib/x86_64
    make
    sudo make install

    Установка майнера, подключение к пулу и настройка стартового скрипта

    В этом месте каждый решает сам для себя, какой программой-майнером пользоваться и к какому совместному пулу подключаться. И тех и других достаточное количество, я остановился на Phoenix Miner в качестве первого и deepbit.net в качестве второго.

    Устанавливаем и допиливаем Phoenix Miner 1.50

    wget http://svn3.xp-dev.com/svn/phoenix-miner/files/phoenix-1.50.tar.bz2
    tar xvf phoenix*.bz2

    Это базовая установка, для начала можно оставить как есть, но желающим получить дополнительный прирост производительности порядка 3-4% советую посетить следующую ветку форума bitcointalk.org

    Регистрация в пуле совместного майнинга

    Выбор пула — дело сугубо индивидуальное, как вариант дальше я рассматриваю deepbit. Регистрируемся здесь deepbit.net и создаем воркеров по количеству имеющихся видеокарт. Отличаться они будут хвостом логина (он же передается как параметр в скрипте, поэтому советую делать 0, 1 и т.д.) Пароль к воркерам проще делать одинаковый.

    Создаем стартовый скрипт

    sudo touch /usr/local/bin/startminer.sh
    sudo chmod 755 /usr/local/bin/startminer.sh
    sudo gedit /usr/local/bin/startminer.sh

    Собственно, сам скрипт с комментариями
    # $ <1>используется как переменная для логина и видеокарты, если их несколько
    # далее вместо user подставляем имя пользователя в ubuntu, ниже адрес пула, тело логина и пароль
    HOMEDIR=/home/user
    MINERSERV=pit.deepbit.net:8332
    MINERUSER=login_$<1>
    MINERPASS=password

    export AMDAPPSDKROOT=$/AMD-APP-SDK-v2.4-lnx64/
    export AMDAPPSDKSAMPLESROOT=$/AMD-APP-SDK-v2.4-lnx64/
    export LD_LIBRARY_PATH=$lib/x86_64:$

    #разгоняем GPU до 875Mhz или больше руководствуясь здравым смыслом и рабочими частотами, частоту памяти наоборот, понижаем до 300
    DISPLAY=:0 aticonfig —od-enable —adapter=all
    DISPLAY=:0 aticonfig —od-setclocks=875,300 —adapter=$<1>
    #устанавливаем обороты кулера на 50 процентов
    #можно больше или меньше, температура желательна не больше 80 по Цельсию
    DISPLAY=:0.$ <1>aticonfig —pplib-cmd «set fanspeed 0 50»
    cd $/phoenix-1.50
    echo «Startming Miner: $<1>»
    $/phoenix-1.50/phoenix.py -u http://$:$@$ -k phatk VECTORS BFI_INT AGGRESSION=13 WORKSIZE=128 DEVICE=$<1>

    Настраиваем скрипты загрузки и удаленный мониторинг

    При выполнении следующих действий необходимо учитывать, что при следующей загрузке графической оболочки больше не будет и все дальнейшие корректировки можно будет производить только в консоли или удаленно по ssh.
    sudo apt-get install ssh screen
    sudo mv /etc/init/gdm.conf /etc/init/gdm.org
    sudo gedit /etc/init/startx.conf

    Скрипт startx.conf
    description «Start X Server for btc mining»
    start on runlevel [2345]
    stop on runlevel [!2345]
    kill timeout 30
    script
    exec /usr/bin/X 2>&1
    end script

    Создаем еще один или несколько файлов конфигурации (по количеству видеокарт — btcminer_0.conf, btcminer_1.conf и т.д. Содержание их идентично.
    description «Start BTC Mining»
    start on runlevel [2345]
    stop on runlevel [!2345]
    kill timeout 30
    script
    #вместо user подставляем имя пользователя
    LOGINUSER=user
    sleep 30
    exec /usr/bin/screen -dmS gpu0 su -c ‘/usr/local/bin/startminer.sh 0’ $
    end script

    Если системный блок подлючен к роутеру и получает DHCP адрес — одной проблемой меньше, если же он подключается по pppoe или Wi-Fi — могу порекомендовать следующую статью по настройке сетевых интерфейсов из консоли:
    настройка сети вручную

    Вот, собственно, и все. В качестве финальных штрихов устанавливаем в BIOS автоматический старт при отключении электричества и отключение ошибок при отсутствии клавиатуры. Можно отключить периферию и монитор — они нам больше не нужны.

    Список некоторых полезных команд для удаленного мониторинга:

    #мониторим работу майнера
    sudo screen -r gpu0
    #если несколько видеокарт
    sudo screen -r gpu1 и т.д.

    Для отключения нажимаем Control-A + Control-D.

    #мониторим температуру видеокарт
    DISPLAY=:0 sudo aticonfig —odgt —adapter=all

    #обороты кулера видеокарты смотрим так
    DISPLAY=:0.0 sudo aticonfig —pplib-cmd «get fanspeed 0»

    DISPLAY=:0.1 для второй видеокарты и т.д.

    #устанавливаем скорость вращения кулера видеокарты, где 50 — обороты в %
    DISPLAY=:0.0 sudo aticonfig —pplib-cmd «set fanspeed 0 50»

    Источник

    Читайте также:  С чего начать изучение kali linux
  • Оцените статью