Перейти к содержимому


Фотография

Тотальный контроль ферм - Linux.

Ищу софт.

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 71

#1 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 07 March 2014 - 08:03

Ищу софт для контролинга большого кол-ва ферм.

Под никс.

 

Семейство дебиан.

 

Авторебут .

Масс смена пулов.

 

И другие решения для упрощения жизни.


  • 2

#2 Coderx64

Coderx64

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений

Отправлено 07 March 2014 - 20:25

https://github.com/s...nux-PoolManager


  • 0

#3 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 07 March 2014 - 23:10

это пул manager для бампа для одной машины , а нужно что бы контроль всех ферм был в одной панели с массовой сменой пулов сразу на всех или на выбранных


  • 0

#4 Demontager

Demontager

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородХерсон

Отправлено 09 March 2014 - 00:00

Хотел тоже такой контроль, так как 3 фермы в работе. Пока набросал небольшой рабочий скрипт без проверок.

 

-Запускается на локальном PC, на майнеры ничего грузить не нужно.

-Необходимо настроить беспарольную ssh авторизацию

-Пока на 2 майнера, можно сделать больше

-Показывает статистику всех майнеров,

-Правит конфиг всех майнеров сразу или по выбору

 

Если что-то типо такого вам нужно, могу еще что-то добавить. Проверил на Linux BAMT 1.3. 

p.s. На счет авторебута не понял, по какому условию должен срабатывать ?

#!/bin/sh
# author: demontager
#

MINER1="192.168.1.104"
MINER2="192.168.1.101"
MINER3=""
#########################POOL CONFIG####################################
pool() {
    
echo '
{
"pools" : [
            {
                "url" : "stratum+tcp://server:3333",
                "user" : "User",
                "pass" : "pass"
            }
],
"api-listen" : true,
"intensity" : "20,20,20",
"vectors" : "1",
"worksize" : "256",
"kernel" : "scrypt",
"auto-fan" : true,
"temp-cutoff" : "85",
"temp-overheat" : "80",
"temp-target" : "70",
"expiry" : "10",
"gpu-dyninterval" : "7",
"log" : "5",
"queue" : "0",
"retry-pause" : "5",
"scan-time" : "5",
"scrypt" : true,
"temp-hysteresis" : "3",
"shares" : "0",
"shaders" : "1792",
"thread-concurrency" : "16000",
"gpu-thread" : "1",
"gpu-engine" : "1075,1075,1075",
"sharethreads" : "32",
"lookup-gap" : "2",
"gpu-powertune" : "20",
"gpu-memclock" : "1250,1250,1250"

}'| ssh root@$HOST 'cat > /etc/bamt/cgminer.conf'

}
#############################END########################################

config() {
echo -n "1. Specify miner: [1/2/3] (default:all) "
read miner
if [ "$miner" = '1' ] || [ "$miner" = '2' ] || [ "$miner" = '3' ]; then
  if [ "$miner" = '1' ]; then
    HOST="$MINER1"
    pool
    #scp $CONF root@$MINER1:/etc/bamt/cgminer.conf.test
    ssh root@"$MINER1" -p 22 'mine restart'
  elif [ "$miner" = '2' ]; then
    HOST="$MINER2"
    pool
    ssh root@"$MINER2" -p 22 'mine restart'
  fi
elif [ "$miner" = 'all' ] || [ "$miner" = '' ]; then
    HOST="$MINER1"
    pool
    ssh root@"$MINER1" -p 22 'mine restart'
    unset HOST
    HOST="$MINER2"
    pool
    ssh root@"$MINER2" -p 22 'mine restart'    
fi
}

status() {
echo ""
echo "-----------------MINER IP:$MINER1--------------------------------"    
ssh root@192.168.1.104 -p 22 '/opt/bamt/viewgpu'     
echo "-----------------MINER IP:$MINER2--------------------------------"
ssh root@"$MINER2" -p 22 '/opt/bamt/viewgpu'
echo ""
}

viewpool() {
echo -n "1. Specify miner: [1/2/3] "
read miner
if [ "$miner" = '1' ] || [ "$miner" = '2' ] || [ "$miner" = '3' ]; then
  if [ "$miner" = '1' ]; then
    ssh root@"$MINER1" -p 22 'cat /etc/bamt/cgminer.conf'    
  elif [ "$miner" = '2' ]; then
    ssh root@"$MINER2" -p 22 'cat /etc/bamt/cgminer.conf'
  fi
fi         
}

case "$1" in
        config)
                config
                ;;
        viewpool)
                viewpool                                                  
                ;;
         status)
                status
                 ;;       
           *)
                echo "Usage: `basename $0` (config|status|viewpool)"
                exit 1
                ;;
esac

Сообщение отредактировал Demontager: 09 March 2014 - 00:06

  • 2

#5 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 09 March 2014 - 00:42

Вот инетресный скрипт для колребута при отвале карт

 

#!/bin/bash

#Set your targeted minimum temp here, system will issue a cold
#reboot if a card temp falls below this number
targetMinTemp=50
i=0
(/opt/bamt/viewgpu | awk '{ print $2; }' | cut -c -2 > /tmp/viewgpu) & pid=$!
echo $pid
(sleep 10 && kill $pid)
sleep 15
array=(`cat /tmp/viewgpu`)
if [ ${#array[@]} -eq 0 ]; then
  echo "`date +%m-%d-%Y` `uptime | awk -F, '{sub(".*ge ",x,$1);print $1}'` viewgpu command failed to run, rebooting" >>  /home/$(grep '1000' /etc/passwd | cut -d ':' -f 1)/autoRebooter.log
  /sbin/coldreboot &
  sleep 30
  echo s > /proc/sysrq-trigger
  sleep 10
  echo b > /proc/sysrq-trigger
fi
for temp in ${array[@]}; do
  if [ $temp -lt $targetMinTemp ]; then
    echo "`date +%m-%d-%Y` `uptime | awk -F, '{sub(".*ge ",x,$1);print $1}'` card number $i has stopped, its current temp is $temp, coldrebooting" >> /home/$(grep '1000' /etc/passwd | cut -d ':' -f 1)/autoRebooter.log
    /sbin/coldreboot &
    sleep 30
    echo s > /proc/sysrq-trigger
    sleep 10
    echo b > /proc/sysrq-trigger
  fi
i=$(($i+1))
done


  • 1

#6 Demontager

Demontager

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородХерсон

Отправлено 09 March 2014 - 00:51

Я уже видел этот скрипт. Его имеет смысл прописать в cron на майнере и при обнаружении отваливания видеокарт от майнинга, он будет делать ребут. 

Я могу добавить часть этого кода в свой скрипт. Тогда будет срабатывать ребут таким образом - запускается скрипт, проверяются параметры видеокарт на всех майнерах и если обнаруживается что где-то отвалился майнер, выдаст сообщение/сделает ребут. Тогда можно сделать чтобы cron запускался и на одном, к примеру локальном PC.


  • 0

#7 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 09 March 2014 - 07:41

Может вообще допилим анубис или что то подобное и получим полноценную систему управления тотального контроля ферм ?

 

Есть желание ?


  • 0

#8 Coderx64

Coderx64

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений

Отправлено 09 March 2014 - 10:53

Может вообще допилим анубис или что то подобное и получим полноценную систему управления тотального контроля ферм ?

 

Есть желание ?

Анубис вроде не совсем то, что требуется. да и с безопасностью там беда.


  • 0

#9 FancyDancy

FancyDancy

    Пользователь

  • Пользователи
  • PipPip
  • 115 сообщений
  • ГородМосква

Отправлено 09 March 2014 - 15:52

Держите мой скрипт, может пригодится: http://rghost.ru/52931809 (общий размер около 5 килобайт) - писал на ruby. Умеет смотреть статистику ферм, создавать новый файл pools.conf из шаблона и загружать его через rsync. В планах добавить проверку на sick/dead и сделать авторебут.

 

Требования:

1. должен стоять ruby, так же гемы colorize и erubis. На фермах должен быть разрешен доступ к cgminer api. Cgminer так же должен брать файл по адресу /etc/bamt/autopools.conf (можно изменить в файте upload.sh), это делается такой строчкой:

 

"include" : "/etc/bamt/autopools.conf"

 

2. Нужно предварительно отредактировать файлы cgminer.rb и upload.sh, прописать айпи ферм и пулы. На сервере должен быть настроен вход по ssh без пароля (гуглить по фразе ssh-copy-id)

3. Запуск через консоль: ruby cgminer.rb conf

 

Писалось для себя, лично мне пользоваться этим очень удобно, один раз прописать айпишники ферм и потом одной командой можно постоянно изменить адрес пулов.

 

Кому нужна инфа из первых рук - приглашаю вас в конфу в скайпе, пишите в лс - добавлю.


Сообщение отредактировал FancyDancy: 09 March 2014 - 15:55

  • 3

#10 Demontager

Demontager

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородХерсон

Отправлено 09 March 2014 - 19:20

Я в ruby не селен, допиливаю то, что понимаю, мне так легче. Но все равно спасибо за труд!
 
Нужна помощь кто знает bash. Суть задачи такая - нужно чтобы на удаленном хосте менялся только конфиг серверов, а настройки видеокарт оставались прежними. Таким образом в скрипте будут только указываются настройки серверов stratum. Я пока думаю как это реализовать, может есть у кого какие мысли.
 
Вторая ревизия скрипта
Изменения:
- Добавил код авторебута, теперь можно прописать выполнение скрипта в cron  и все майнеры будут проверятся на предмет отваливания от майнинга
- Добавил 3 майнера + можно задать ssh порт каждого отдельно

Скрытый текст

Сообщение отредактировал Demontager: 09 March 2014 - 19:22

  • 1

#11 FancyDancy

FancyDancy

    Пользователь

  • Пользователи
  • PipPip
  • 115 сообщений
  • ГородМосква

Отправлено 09 March 2014 - 19:32

Нужна помощь кто знает bash. Суть задачи такая - нужно чтобы на удаленном хосте менялся только конфиг серверов, а настройки видеокарт оставались прежними. Таким образом в скрипте будут только указываются настройки серверов stratum. Я пока думаю как это реализовать, может есть у кого какие мысли.

 
Ну я же писал. В cgminer.conf убрать список пулов и добавить строчку:
"include" : "/etc/bamt/autopools.conf"
 

Адрес и название изменить по надобности. Теперь этот файл можно менять как угодно, сгмайнер будет брать список пулов именно из него, а основной cgminer.conf будет нетронутым.


  • 1

#12 Demontager

Demontager

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородХерсон

Отправлено 09 March 2014 - 19:39

Да, можно и так, но хочется еще как я написал. Хотя можно и в сам скрипт прописать чтобы автоматически менял cgminer.conf по схеме с include.

 

Сделал как хотел, править cgminer.conf не нужно.

 

Изменения:

- В скрипте задаются только сервера для майнинга

- Добавил описание опций

Скрытый текст

Сообщение отредактировал Demontager: 09 March 2014 - 21:52

  • 1

#13 hamster2

hamster2

    Новичок

  • Пользователи
  • Pip
  • 10 сообщений

Отправлено 09 March 2014 - 22:46

Ищу софт для контролинга большого кол-ва ферм.

Под никс.

 

Семейство дебиан.

 

Авторебут .

Масс смена пулов.

 

И другие решения для упрощения жизни.

 

https://phpminer.com веб интерфейс, меняет пулы на лету и много чего еще. (я использую только для смены пулов)


  • 1

#14 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 10 March 2014 - 08:28

 

Ищу софт для контролинга большого кол-ва ферм.

Под никс.

 

Семейство дебиан.

 

Авторебут .

Масс смена пулов.

 

И другие решения для упрощения жизни.

 

https://phpminer.com веб интерфейс, меняет пулы на лету и много чего еще. (я использую только для смены пулов)

 

 

Массовой смены нету там

Хотя я ставил смотрел

Реализация очень даже ничего


 

Может вообще допилим анубис или что то подобное и получим полноценную систему управления тотального контроля ферм ?

 

Есть желание ?

Анубис вроде не совсем то, что требуется. да и с безопасностью там беда.

 

 

А при чем тут безопасность , если все в приделах локальной сети работает?


Держите мой скрипт, может пригодится: http://rghost.ru/52931809 (общий размер около 5 килобайт) - писал на ruby. Умеет смотреть статистику ферм, создавать новый файл pools.conf из шаблона и загружать его через rsync. В планах добавить проверку на sick/dead и сделать авторебут.

 

Требования:

1. должен стоять ruby, так же гемы colorize и erubis. На фермах должен быть разрешен доступ к cgminer api. Cgminer так же должен брать файл по адресу /etc/bamt/autopools.conf (можно изменить в файте upload.sh), это делается такой строчкой:

 

"include" : "/etc/bamt/autopools.conf"

 

2. Нужно предварительно отредактировать файлы cgminer.rb и upload.sh, прописать айпи ферм и пулы. На сервере должен быть настроен вход по ssh без пароля (гуглить по фразе ssh-copy-id)

3. Запуск через консоль: ruby cgminer.rb conf

 

Писалось для себя, лично мне пользоваться этим очень удобно, один раз прописать айпишники ферм и потом одной командой можно постоянно изменить адрес пулов.

 

Кому нужна инфа из первых рук - приглашаю вас в конфу в скайпе, пишите в лс - добавлю.

 

 

Я в ruby не селен, допиливаю то, что понимаю, мне так легче. Но все равно спасибо за труд!
 
Нужна помощь кто знает bash. Суть задачи такая - нужно чтобы на удаленном хосте менялся только конфиг серверов, а настройки видеокарт оставались прежними. Таким образом в скрипте будут только указываются настройки серверов stratum. Я пока думаю как это реализовать, может есть у кого какие мысли.
 
Вторая ревизия скрипта
Изменения:
- Добавил код авторебута, теперь можно прописать выполнение скрипта в cron  и все майнеры будут проверятся на предмет отваливания от майнинга
- Добавил 3 майнера + можно задать ssh порт каждого отдельно

Скрытый текст

 

Красавцы

Давайте дальше развивать идею


  • 0

#15 Demontager

Demontager

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородХерсон

Отправлено 10 March 2014 - 20:36

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


Скрытый текст

  • 1

#16 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 10 March 2014 - 22:43

можешь прикрутить данный функционал допустим к тому же анубису или phpminer ?


  • 0

#17 Demontager

Demontager

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородХерсон

Отправлено 12 March 2014 - 01:49

Все можно, только там на php уже придется делать.  Честно говоря необходимости для себя делать подобное в том же phpminer не вижу.  Моя цель - это максимально упростить контроль ферм в терминале, без GUI/вебинтерфейса.

В планах что хочу сделать еще:

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

-информирование о обрыве связи с пулом/смене пула/отваливания карты от майна

-интерактивное меню выбора функций

-конфиг для conky для вывода инфы на рабочем столе Linux


Сообщение отредактировал Demontager: 12 March 2014 - 02:05

  • 0

#18 itraxe

itraxe

    Пользователь

  • Пользователи
  • PipPip
  • 465 сообщений

Отправлено 12 March 2014 - 09:51

еще бы прикрутить авторебут через модуль Jerome и будет шоколад вообще ))))


  • 0

#19 Project

Project

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 620 сообщений

Отправлено 14 March 2014 - 19:17

Лучше бы сделать приблуду/скриптик/что_угодно_другое, что бы в нужный COM (например, /dev/tty_USBX) засылала определённую команду (без разницы) при загрузке (для запуска watch-dog'а), а затем раз в N секунд другую команду/символ, сигнализирующий, что всё нормально. Если команда не пришла N * X секунд (где X = 5...10, что бы уж наверняка), то беда... Замыкаем RESET, ждём команду на очередной запуск Watch-dog'а.

А то хотел запилить вотч-дог на микроконтроллере, но на "комповой" стороне вышел затык...


  • 0

#20 dr4g0n

dr4g0n

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений

Отправлено 17 March 2014 - 17:54

Посмотрите на эту штуку

http://cgminermonitor.com/


  • 0




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных