- 12+ карт AMD под Linux. Установка, разгон, мониторинг. Краткий гайд. Личный опыт
- x001tk
- Начинаем майнить в Linux
- Что имеем и что потребуется добавить
- Установка графической среды (если необходимо)
- Установка драйверов
- Вариант №1. С сайта NVidia.
- Вариант №2. Из репозитория xorg-edgers
- Настройка разгона карт
- Установка майнера
- Итого
- P.S. А = автоматизация
12+ карт AMD под Linux. Установка, разгон, мониторинг. Краткий гайд. Личный опыт
x001tk
Друг форума
Краткий гайд по установке и настройке Multi-GPU майнинг ригов на базе операционной системы Linux Ubuntu 16.04
Все основано на личном опыте. Буду рад, если кому пригодится и не придется собирать инфу по крупицам
1. Преимущества постройки ригов на базе Linux
— Возможность одновременной работы большого числа видеокарт в рамках одной материнской платы. H119 Pro BTC – 13 карт, B250 Mining Expert – 19 карт)
— Низкие требования к ресурсам (Ubuntu занимает до 30 Гб дискового пространства)
— Бесплатно (Ubuntu – система с открытым кодом)
— Отказоустойчивость (даже при повреждении ядра системы, нет необходимости в полной переустановке системы, достаточно выполнить набор команд)
2. Установка Linux Ubuntu 16.04
— Перед установкой системы нужно вставить только одну видеокарту AMD или Nvidia в разъем 1х16 материнской платы.
— Заходим по ссылке на официальный сайт и скачиваем образ диска https://www.ubuntu.com/download/desktop
Или
https://www.ubuntu.com/download/desktop/thank-you?country=RU&version=16.04.3&architecture=amd64
— Нарезаем образ на USB накопитель с помощью любой специальной утилиты типа «Ультраисо»
— Загружаемся с данного USB диска, выбираем язык, и кликаем «Установить Ubuntu».
— Следуем указаниям мастера устанвки, после установки система предложит перезагрузиться
3. Установка видеодрайверов
3.1. Если у Вас карты Nvidia, рекомендуем перейти по ссылке https://losst.ru/ustanovka-drajvera-nvidia-v-ubuntu-15-10 , где наглядно описан процесс выбора и установки драйверов.
3.2. Если у Вас карты AMD, то все будет немного дольше, и так:
3.2.1. Качаем версию драйверов 17.40 (с этими дровами работают даже rx550 на Lexa)
wget —referer=http://support.amd.com https://www2.ati.com/drivers/linux/beta/ubuntu/amdgpu-pro-17.40.2712-510357.tar.xz
3.2.2. Качаем и устанавливаем APP SDK
http://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/
3.2.3. Устанавливаем 17.40 драйвер
bash ./amdgpu-pro-install -y —compute
3.2.4. reboot
3.2.5. Проверяем все ли ок с OpenCL командой clinfo
4. Установка видеокарт
— Если у Вас карты Nvidia, опытным путем доказано, что наиболее эффективным решением будет добавление (подключение) по одной карте с последующей перезагрузкой. То есть, подключили одну карту через райзер, включили риг, загрузились, выключили риг, установили вторую, включили, загрузились, выключили и так далее. Не советуем подключать все карты одновременно, так как в файл конфигурации системы «xorg» не будет занесена необходимая информация и риг просто встанет с черным экраном.
Добавляя по одной карте, Вы также можете наблюдать за тем , сколько карт реально появилось в системе, для этого кликаете на самый верхний значок «Поиск на компьютере» и в поле поиска заносите X Server. Это специальная программа управления и мониторинга карт Nvidia. Там должны появляться GPU 0, GPU 1 и так далее.
4. Разгон карт Nvidia
4.1. Заходим в терминал, для этого нажимаем CTRL+ALT+T
— Вводим команду sudo update-grub (enter)
— Далее вводим команду, которая откроет нам доступ к управлению картами (кулеры, частоты) sudo nvidia-xconfig -a —cool-bits=31 —allow-empty-initial-configuration —enable-all-gpus
— Перезагружаемся
4.2. Разгон. Создаем пустой файл
4.2.1. В файл вставляем следующий скрипт
#!/bin/sh
nvidia-settings -a ‘[gpu:0]/GPUMemoryTransferRateOffset[3]=1200’;
nvidia-settings -a ‘[gpu:1]/GPUMemoryTransferRateOffset[3]=1200’;
nvidia-settings -a ‘[gpu:2]/GPUMemoryTransferRateOffset[3]=1200’;
nvidia-settings -a ‘[gpu:3]/GPUMemoryTransferRateOffset[3]=1200’;
nvidia-settings -a ‘[gpu:4]/GPUMemoryTransferRateOffset[3]=1200’;
nvidia-settings -a ‘[gpu:5]/GPUMemoryTransferRateOffset[3]=1200’;
nvidia-settings -a ‘[gpu:0]/GPUPowerMizerMode=1’;
nvidia-settings -a ‘[gpu:1]/GPUPowerMizerMode=1’;
nvidia-settings -a ‘[gpu:2]/GPUPowerMizerMode=1’;
nvidia-settings -a ‘[gpu:3]/GPUPowerMizerMode=1’;
nvidia-settings -a ‘[gpu:4]/GPUPowerMizerMode=1’;
nvidia-settings -a ‘[gpu:5]/GPUPowerMizerMode=1’;
nvidia-settings -a ‘[gpu:0]/GPUFanControlState=1’;
nvidia-settings -a ‘[gpu:1]/GPUFanControlState=1’;
nvidia-settings -a ‘[gpu:2]/GPUFanControlState=1’;
nvidia-settings -a ‘[gpu:3]/GPUFanControlState=1’;
nvidia-settings -a ‘[gpu:4]/GPUFanControlState=1’;
nvidia-settings -a ‘[gpu:5]/GPUFanControlState=1’;
nvidia-settings -a ‘[fan:0]/GPUTargetFanSpeed=35’;
nvidia-settings -a ‘[fan:1]/GPUTargetFanSpeed=35’;
nvidia-settings -a ‘[fan:2]/GPUTargetFanSpeed=35’;
nvidia-settings -a ‘[fan:3]/GPUTargetFanSpeed=35’;
nvidia-settings -a ‘[fan:4]/GPUTargetFanSpeed=35’;
nvidia-settings -a ‘[fan:5]/GPUTargetFanSpeed=35’;
Это скрипт разгона по памяти.
Замечание! в линуксе частота разгона в два раза ниже, то есть 1200 мгц в линуксе это если бы в афтебернере ставили 600 мгц
Также замечание!
Это скрипт для 6 карт 1060 3Г. То есть если у Вас 10 карт, вам нужно добавить еще строки для gpu:6, gpu7, gpu8, gpu9 в каждом блоке и то же самое для вентиляторов fan:6 fan:7 и так далее.
4.2.2. Cохраняем файл как oc.bash, например. Далее правой конпкой клиекаем по нему, идем в свойства. Во вкладке «права» ставим галку около «разрешить выполнение файла как программы», везде напротив «доступа» выбираем «Чтение и запись».
4.3. Внедряем улучшенный алгоритм работы кулеров. Создаем файл скрипта управления вентиляторами, так как встроенный алгоритм управления кулерами в карты приводит к их перегреву. Создаем пустой файл и вставляем в него скрипт управления кулерами:
DELAY=5
MIN_TEMP=50
MAX_TEMP=70
CARDS_NUM=`nvidia-smi -L | wc -l`
for ((i=0; i /dev/null
if [ «$?» -ne 0 ]; then
exit 1;
fi
done
echo «GPUFanControlState set to 1 for all cards»
while true
do
echo «$(date +»%d/%m/%y %T»)»
for ((i=0; i $MAX_TEMP ]]
then
FAN_SPEED=100
else
FAN_SPEED=$(( ($GPU_TEMP — $MIN_TEMP)*100/($MAX_TEMP — $MIN_TEMP) ))
fi
nvidia-settings -a [fan:$i]/GPUTargetFanSpeed=$FAN_SPEED > /dev/null
echo «GPU$ $
done
sleep $DELAY
done
— сохраняем его например fan.bash и проделываем ту же процедуру с правами и доступом, что и с файлом разгона выше.
4.4. Делаем даунвольт. Создаем файл управления питанием (power limit). Также как и в предыдущих пунктах создаем пустой файл и вставляем в него
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 85
Где 85 – это лимит по мощности в ваттах. У разных карт он может быть разным. Указанное значение подбиралось под GTX1060 3G.
Также сохраняем файл например powlim.bash и проделываем такую же процедуру с правами и доступом.
4.5. Далее открываем «Автоматически запускаемые приложения», для этого кликаем по значку «Поиск на компьютере» и в поле поиск вводим искомые слова.
— Добавляем наши файлы в автозапуск, чтобы при загрузке системы, карты уже были разогнаны.
5. Установка карт AMD
После того как Вы установили драйверы Beta 17.40, можно прикручивать все «Ваши 19 карт» ))). После того как все карты прикручены и подключены, проделаем следующую процедуру:
5.1. Установим обновленную утилиту ROCm Kernel для устранения проблемы «низкого хешрейта»
sudo apt install -y rocm-amdgpu-pro
5.2. Внесем изменения в файл загрузчик Grub с помощью текстового редактора nano
sudo nano /etc/default/grub
В Строку с надписью GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash» добавляем amdgpu.vm_fragment_size=9, чтобы получилось так:
GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash amdgpu.vm_fragment_size=9″
sudo update-grub
sudo reboot
5.3. Для того, чтобы Linux смог определить в системе более 6 (шести) карт, нужно отключить графический интерфейс
Для этого в терминале вводим команду
sudo apt-get remove lightdm
Отвечаем на все вопросы «Да»
5.4. Перед перезагрузкой создаем автологин в консоль, чтобы не пришлось каждый раз логинится вручную.
Для этого вводим команду
sudo systemctl edit [email protected]
Далее вводим три строки
[Service]
ExecStart=
ExecStart=-/sbin/agetty -a —noclear %I $TERM
Далее CTRL+O, Enter, CTRL+X
sudo reboot
5.5. Перезагружаемся и попадаем в консоль. Все. Теперь мы больше никогда не увидим привычных окон, и с мышкой тоже можно навсегда попрощаться (шутка)
5.6. Установка майнера
Если Вы собираетесь майнить на Claymore, тогда скачиваете его по ссылке https://bitcointalk.org/index.php?topic=1433925.0
Создаем директорию claymore и распаковываем:
sudo mkdir /usr/local/claymore
sudo tar -xvf Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry_Pascal.AMD.NVIDIA.GPU.Miner.v9.5.-.LINUX.tar.gz -C /usr/local/claymore
Заходим в директорию майнера и создаем файл (скрипт) запуска:
cd /usr/local/claymore
sudo chmod u+s ethdcrminer64
sudo nano mine.sh
В текстовом редакторе пишем:
#!/bin/sh
export GPU_MAX_ALLOC_PERCENT=100
./ethdcrminer64 -epool -ewal YOUR_WALLET_ADDRESS.Miner01 -epsw x -allpools 1
Далее CTRL+O, Enter, CTRL+X
Делаем наш файл запуска исполняемым
sudo chmod +x mine.sh
Для этого скачиваем указанный файл по ссылке там же
Создаем bash скрипт для загрузки параметров разгона карт при запуске системы
sudo nano wolf.bash
В редакторе прописываем команды (строк должно получиться столько же, сколько у Вас установлено карт)
sudo ./wolfamdctrl -i 0 —set-fanspeed 75 —core-state 2 —mem-state 2 —mem-clock 1900
sudo ./wolfamdctrl -i 1 —set-fanspeed 75 —core-state 2 —mem-state 2 —mem-clock 1900
sudo ./wolfamdctrl -i 2 —set-fanspeed 75 —core-state 2 —mem-state 2 —mem-clock 1900
sudo ./wolfamdctrl -i 3 —set-fanspeed 75 —core-state 2 —mem-state 2 —mem-clock 1900
sudo ./wolfamdctrl -i 4 —set-fanspeed 75 —core-state 2 —mem-state 2 —mem-clock 1900
«. Указанные выше значения адаптированы под карты RX 560 2G Sapphire Pulse
Далее CTRL+O, Enter, CTRL+X . » Ваши значения могут существенно отличаться.
Поэтому рекомендуется сначала определить число core-state и mem-state под Ваши карты командой
sudo ./wolfamdctrl -i 0 —show-core
sudo ./wolfamdctrl -i 0 —show-mem
Делаем наш файл запуска разгона исполняемым
sudo chmod +x wolf.bash
5.8. Создаем скрипт автозапуска майнера + разгона карт + убираем гашение экрана
sudo nano .bash_profile
В редакторе пишем:
if [[ «$TTY» == «/dev/tty1» ]];
then
setterm -blank 0
./wolf.bash
cd claymore
./mine.sh
Далее CTRL+O, Enter, CTRL+X
sudo reboot
При загрузке должен автоматически запускаться майнер с разогнанными картами
5.9. Установка Teamviewer 12
(После каждой строки жмем Enter)
sudo dpkg —add-architecture i386
sudo apt-get update
sudo apt-get install libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386
wget http://download.teamviewer.com/download/version_12x/teamviewer_i386.deb
sudo dpkg -i teamviewer*.deb
После завершения установки набираем:
sudo teamviewer setup
Отвечаем на вопросы, вводим пароль учетной записи и добавляем ваше устройство в список доверенных устройств.
Все. Теперь Вы сможете видеть Вашу «невидимую, безголовую» ферму.
Данная инструкция не является призывом либо рекомендацией пользоваться теми или иными программными продуктами.
Все шаги и этапы основаны лишь на личном опыте и не могут служить публичной рекомендацией, либо являться единственными правильными.
Все действия с вашим оборудованием, в том числе разгон видеоадаптеров и установку программного обеспечения вы проводите на свой страх и риск.
Источник
Начинаем майнить в Linux
Хотим поблагодарить наших читателей за проявленный интерес к теме майнинга. В предыдущей статье Altcoin: просто взять и намайнить мы начали раскрывать потенциал наших услуг в сфере майнинга и рассматривали один из самых простых способов настройки платформы, а именно с использованием операционной системы Windows. В этой статье продолжим раскрывать тайны и тонкости настройки, но уже на базе Linux.
Сейчас существует большое количество готовых сборок Linux, как правило, на базе Ubuntu, с достаточно простой установкой и управлением. Самостоятельными дистрибутивами назвать их сложно, хоть они и имеют собственный дизайн и команду разработчиков. Собой они представляют обычную Ubuntu 16.04 с установленной графической оболочкой, как правило OpenBox или LXDE, набором драйверов и ассортимента программ-майнеров. Некоторые из них имеют собственные централизованные панели управления «шахтой». Приведем несколько самых известных и распространенных:
- ethOS — платный дистрибутив LiveCD, который можно развернуть на USB-флешку или диск. Стоимость одной лицензии $39. Имеется приложение для мониторинга в Google Play .
- HiveOS — сборка на базе Ubuntu, которую можно отнести к shareware — условно-бесплатное ПО, потому что предоставляет бесплатный мониторинг и управление только трех ригов. Все последующие по $5 за штуку.
- SMOS — также платная сборка. На момент написания статьи проводилась акция по $2 за rig. Имеет несколько версий, в зависимости от серии и поколения используемых видеокарт.
- nvOC — Ubuntu с установленными драйверами Nvidia, необходимыми настройками и набором майнеров. Достаточно отредактировать единый конфигурационный файл, указав номер кошелька и пул, и готово.
- rxOC — аналогичный образ, но уже для карт AMD.
Каждая из указанных сборок имеет как свои плюсы, так и минусы. Как друг относительно друга, так и общие. С точки зрения безопасности они все имеют один, как кажется, большой минус. Они все разработаны кем-то и пользователь, по сути, не имеет полного управления системой из коробки. В принципе, после разворачивания того или иного образа системы можно пройтись по ней с целью поиска заданий в планировщике, открытых портов в фаерволе, подозрительных скриптов и многого другого, но на это может уйти куда больше времени, чем настроить все самостоятельно, чем мы и займемся.
Что имеем и что потребуется добавить
Каждый использует удобную для него версию дистрибутива, мы же все-таки воспользуемся самой распространенной Ubuntu 16.04, которую можно установить автоматикой. Система устанавливается с минимально необходимым для работы сервера набором программного обеспечения.
Для удобства в работе и настройке:
- добавляем дополнительного пользователя и выдаем ему права sudo;
- включаем его в группу sudo.
Установка графической среды (если необходимо)
Для удобства использования можно установить любую среду рабочего стола.
- Стандартная среда устанавливается командой:
- Установка альтернативной среды:
После установки окружения необходимо перезагрузить сервер.
Установка драйверов
Нам потребуются проприетарные драйверы, т.к. только они смогут обеспечить необходимую производительность, функционал и стабильность. В свободных драйверах на данный момент отсутствует полноценная поддержка OpenCL и CUDA , в связи с чем потребуются именно они. Также управление частотами памяти и графического ядра, и скоростью оборотов системы охлаждения доступны только в проприетарных драйверах. Имеются два способа установки — рассмотрим детально оба из них.
Вариант №1. С сайта NVidia.
- Скачиваем драйверы с официального сайта. При выборе операционной системы указываем Linux x64. В перечне также присутствуют версии пакетов в формате .deb, но нас интересует универсальный в формате run:
- Делаем его исполняемым:
- В ходе установки система потребует отключить дисплейный менеджер, что мы сделаем заранее. Сделать это можно так:
Для остановки службы lightdm.service система попросит авторизоваться и ввести пароль текущего пользователя.
Установка проприетарных драйверов, скачанных с сайта производителя, выглядит как сборка их из исходников, для чего необходимо наличие в системе пакетов make и gcc, которые отсутствуют в стандартном наборе пакетов автоматической установки операционной системы.
Вариант №2. Из репозитория xorg-edgers
Репозиторий xorg-edgers содержит последние стабильные версии драйверов NVidia. Его и будем использовать для установки.
- Добавляем xorg-edgers в систему:
- Выполняем обновление репозиториев:
На момент написания статьи последней версией драйверов является 390.48.
Альтернативный способ перезагрузки:
Настройка разгона карт
В Linux нет программ подобных MSI Afterburner, в которых достаточно просто и удобно проводить разгон видеокарт путем перемещения ползунка по шкале. Сейчас многие, вероятно, скажут, что Linux это сложно и для майнинга не подходит, и с одной стороны, будут правы.
Если вас бросает в дрожь от рисованных пингвинов и слов «терминал» или «консоль», страшитесь SSH и apt-get, если вы не любите проводить много времени за клавиатурой, то для ускорения настройки рига лучше использовать Windows, но и присмотреться к данной статье. Не такие и пугающие эти нелетающие компьютерные птицы — достаточно милые и дружелюбные. Далее мы рассмотрим, как же выполнить тонкую настройку видеокарты для достижения хорошей скорости добычи.
Разгон будет осуществляться через драйверы путем изменения необходимых значений рабочих частот и скорости оборотов вентиляторов системы охлаждения. Изначально, изменение всех этих параметров заблокировано. Для разблокировки необходимо выполнить команды, которые откроют нам доступ к управлению картами (кулеры, частоты).
- Очищаем текущую конфигурацию и включаем видеоядра:
- Перезагружаемся:
Далее необходимо внести изменения в конфигурационный файл X-сервера.
Секция примет следующий вид:
Это позволит переключить видеокарты в режим максимальной производительности.
Вместо «x» следует указать необходимые значения разгона и скорости оборотов вентиляторов.
Делаем скрипт исполняемым:
Скрипт создавался для фермы из 4 карт. Для большего количества карт необходимо добавить соответствующее количество строк в коде. Также стоит отметить, что корректно скрипт отработает только при выполнении его из локальной ОС, т.е. при подключении по SSH — нет.
Установка майнера
Для добычи воспользуемся одной из немногочисленных утилит для добычи монет на алгоритме Ethash под названием ethminer. Скачать ее проще всего будет с GitHub:
- Скачиваем архив:
- Распаковываем:
- Копируем полученный файл в /usr/bin для дальнейшей простоты в использовании, т.к. он будет считаться установленной программой:
- Создаем скрипт с именем eth.sh, который будет выполнять запуск майнера в утилите screen:
- Вносим строки:
- Coхраняем файл сочетанием клавиш CTRL + W и отвечаем «Y».
При необходимости можно использовать различные варианты подключения, примеры конфигураций которых можно найти в хэлпе ethminer при помощи флага -h.
Кто-то, вероятно, обратил внимание, что в предыдущей статье указывалось, что карты GTX 1080 не сильно подходят для работы с алгоритмом DaggerHashimoto (Ethash) и их производительность составляла всего 25,5 — 26 Mh/s, в то время как можно достичь 35,65 Mh/s с помощью утилиты OhGodAnETHlargementPill . Чтобы ее установить, необходимо проделать следующие шаги:
- Скачиваем утилиту с GitHub:
- Делаем скачанный файл исполняемым:
- Настраиваем автозапуск:
Данную утилиту можно размещать на запуск через rc.local:
Добавляем следующую строку перед exit 0:
Успешный запуск можно проконтролировать через screen:
screen -x Tabletka.
Итого
Необходимое программное обеспечение и его настройка произведены. Можно добавить все созданные нами скрипты разгона и запуска майнера в автозагрузку, что существенно облегчит эксплуатацию рига. Также можно установить Teamviewer и осуществлять мониторинг и управление удаленно. Как вариант, можно настроить запуск скриптов в screen и осуществлять контроль по SSH. В данном вопросе каждый волен использовать привычный инструмент.
P.S. А = автоматизация
Мы рекомендуем самый простой способ — это воспользоваться стандартным приложением автозагрузки. В LXDE это «Сеансы и запуск».
- В окне приложения проходим на вкладку «Автозапуск».
- Нажимаем «Добавить».
- В появившемся окне указываем имя приложения, описание (при необходимости) и указываем расположение файла скрипта.
- Сохраняем новую запись.
Через консоль утилита вызывается командой xfce4-session-settings. Данный вариант гарантировано запускает скрипты после полной загрузки операционной системы.
Источник