Jump to content
  • entry
    1
  • comments
    30
  • views
    5306

Использование ckproxy в связке с собственной нодой p2pool'а.

AndreyNag

4359 views

Здравствуйте.

После знакомства с p2pool'ом я, так сказать, заболел им. И не смотря на все неурядицы, банальные убытки, не считаясь с личным временем, зачастую в ущерб семье и другим делам, прилагаю усилия, чтобы сдвинуть идею пула с мёртвой точки. Перечитано огромное количество материалов, что не говорит о том, что я уже "всё знаю". Всё еще в поиске наилучшего решения для работы "устаревших" асиков на пуле. Ради этого искал и к нашел решение в виде прокси сервера, прокладки между AntMiner S5 и нодой p2pool'а для минимизации проблем совместимости. Корни этой "неприязни" кроются скорее всего в недрах bitmaintech'а, которому p2pool может и должен составить серьёзную конкуренцию. На этом лирическое отступление можно закончить.

 

Использование данной связки рекомендуется с мощностью фермы (одиночкам думаю вообще смысла заморачиваться нет) от 10Тх. Экспериментальные 6Тх пятёрок по количеству шар сработали хуже, чем 1 "семёрка".

 

Итак, приступим. Всё написанное предназначается для использования As Is и без всяких гарантий и т.д. и т.п.

 

Для начала опишу технологические требования к комплексу p2pool+ckproxy.

1. Желательно выделенный сервер со средними показателями производительности: 2-4 ядра, от 8Гб памяти, от 100Гб жесткий диск, а лучше два - для системы и базы данных демона bitcoin. Нагрузки на процессор замечено не было, поэтому Core i3-i5 будет вполне достаточен и может даже на вырост.

 

Прилагаю htop с che2pool.mine.nu:9332 при подключенных 5 S5-х через ckproxy. blogentry-25489-0-94090000-1451203612_thumb.jpg Далее, когда нода переедет поближе к асикам и заведём на неё несколько десятков Тх, выложу снимок под нагрузкой.

 

2. В качестве OC, по советам ветеранов и по своему опыту, рекомендую ubuntu 14.04. Актуальная версия 15.10 преподносила несколько не приятных подводных граблей и жирных свиней. На борьбу с её глюками было потрачено значительное количество времени, сил и нервов. Все операции настройки и последующего контроля за работой можно и нужно выполнять в консольном варианте, но допустимо использование GUI и даже Teamviewer'a. В итоге все графические навороты можно отключить, если вдруг возникнет недостаток мощности.

 

3. Установку ноды p2pool`а я описывать не буду. Для информации есть гораздо более обстоятельные публикации форумчан.

 

Важно! Наличие собственной ноды желательно но не обязательно. Вполне работоспособный вариант наличия только собственного прокси, который будет направлен на любую "ближайшую" ноду.

 

4. Установка ckproxy будет происходить в два этапа: собственно сборка из исходников и настройка связки с нодой.

 

Загрузить в домашний каталог желательно с помощью git

Этот вариант предпочтительнее чтобы в будущем легко получать актуальные версии и пересобирать модули без заморочек.

В итоге получим папку ckpool в домашней каталоге.

cd ~/ckpool/

Далее собственно процесс сборки.

 

./autogen.sh

./configure --without-ckdb

Всё должно пройти без ошибок.

Теперь преступаем к сборке. Говорят, что если к команде make приписать -jX, где X количество ядер вашего процессора, то можно получить значительное ускорение сборки, но по своему опыту могу сказать, что больше вероятность получить проблемы совместного доступа к файлам и другие проблемы. Но попробовать никто не запрещает. ;)

make

 

Все вышеуказанные команды с успехом выполняются из под обычного пользователя. Но для инсталляции модуля в систему, чтобы не запоминать пути вызова, ну и по феншую так положено, надо выполнить

 

sudo make install

 

Далее надо изменить строку запуска демона кошелька. В параметры надо добавить -blocknotify=/usr/bin/notify.sh

Чтобы это работало надо создать собственно файл /usr/bin/notify.sh со следующим содержимым.

#!/bin/bash

/usr/bin/notifier -s /opt

сделать файл исполнимым можно командой

sudo chmod +x /usr/bin/notify.sh

 

/etc/rc.local

/sbin/ifconfig eth0 txqueuelen 10000

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so /usr/bin/bitcoind -conf=/root/.bitcoin/bitcoin.conf -blocknotify=/usr/bin/notify.sh

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so /usr/local/bin/litecoind -conf=/root/.litecoin/litecoin.conf -blocknotify=/usr/bin/notify.sh

#screen -dmS RNC LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so /usr/local/bin/relaynetworkclient 127.0.0.1 8333

screen -dmS RNC /usr/local/bin/relaynetworkclient 127.0.0.1 8333

sleep 60

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so /etc/init.d/start-p2pool start

screen -dmS ckproxy3343 ckpool -p -k -n ckproxy3343 -c /home/root/ckolivas-ckpool/ckproxy.3343.che2pool.rabinovich.conf

screen -dmS ckproxy3344 ckpool -p -k -n ckproxy3344 -c /home/root/ckolivas-ckpool/ckproxy.3344.che2pool.userru.conf

screen -dmS ckproxy3345 ckpool -p -k -n ckproxy3345 -c /home/root/ckolivas-ckpool/ckproxy.3345.che2pool.neotex.conf

screen -dmS ckproxy3346 ckpool -p -k -n ckproxy3346 -c /home/root/ckolivas-ckpool/ckproxy.3346.che2pool.vidikudik.conf

screen -dmS ckproxy3347 ckpool -p -k -n ckproxy3347 -c /home/root/ckolivas-ckpool/ckproxy.3347.che2pool.mishgan61.conf

screen -dmS ckproxy3348 ckpool -p -k -n ckproxy3348 -c /home/root/ckolivas-ckpool/ckproxy.3348.che2pool.nitrosalat.conf

screen -dmS ckproxy3349 ckpool -p -k -n ckproxy3349 -c /home/root/ckolivas-ckpool/ckproxy.3349.che2pool.oleg2.conf

screen -dmS ckproxy3350 ckpool -p -k -n ckproxy3350 -c /home/root/ckolivas-ckpool/ckproxy.3350.che2pool.shmidt.conf

Всё "безобразие" по запуску всего необходимого у меня прописано в /etc/rc.local. Это не по феншую, но пока не отполировал до зеркального блеска. ;)

 

5. Далее приступаем к настройке прокладки, т.е прокси.

 

Для нашей задачи необходимо настроить файл: ckproxy.conf.

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

ckproxy.conf

{

"proxy" : [

{

"url" : "stratum+tcp://de.kano.is:3333",

"auth" : "user.v200",

"pass" : "123"

},

{

"url" : "stratum+tcp://kano.e46btc.xyz:3335",

"auth" : "user.v200",

"pass" : "123"

},

{

"url" : "stratum+tcp://stratum.antpool.com:3333",

"auth" : "user.200",

"pass" : "123"

},

{

"url" : "stratum+tcp://us1.ghash.io:3333",

"auth" : "upXXXXXX.v200",

"pass" : "123"

},

{

"url" : "10.162.33.200:9332",

"auth" : "1ArcyQNSjvaVLyMV181vtc2p8hroTwkSHS",

"pass" : "123"

},

{

"url" : "crypto.office-on-the.net:9332",

"auth" : "1ArcyQNSjvaVLyMV181vtc2p8hroTwkSHS",

"pass" : "123"

}

],

"update_interval" : 30,

"serverurl" : [

"192.168.0.200:3334", # <-- этот порт определяет на каком порту работает прокси и отделяет один кошелёк от другого.

"127.0.0.1:3334"

],

"mindiff" : 1024,

"startdiff" : 1024,

"maxdiff" : 4992,

"clientsvspeed" : false,

"loglevel" : 1,

"logdir" : "logs"

}

Comments from here on are ignored.

Пока фсЁ.

 

Процесс познания поистине бесконечен. В начале этого пути я был гораздо менее осведомлённый, чем сейчас. И тем не менее пока успех не достигнут.

Со вчерашнего вечера работают пять пятёрок на ноде через прокси и 7-ка на прямую. За ночь было два блока, но не смотря на blogentry-25489-0-47147000-1451208213_thumb.jpg в кошельке за вчера-сегодня нуль.

По ходу где-то еще засада.

В общем жду Ваших предложений, пожеланий, критических замечаний и комментариев.

Спасибо за внимание.



30 Comments


Recommended Comments



В дополнении - почему на ноде выплата отметилась, а в кошельке нет? Куда обратить внимание?

Share this comment


Link to comment

Всё у Вас нормально. Видно вчера в конфиге не поменяли слово user на адрес 1ArcyQNSjvaVLyMV181vtc2p8hroTwkSHS. Вот и копали на дефолтный.
Сегодня вижу уже появился график начисления у 1ArcyQNSjvaVLyMV181vtc2p8hroTwkSHS

Share this comment


Link to comment

Всё у Вас нормально. Видно вчера в конфиге не поменяли слово user на адрес 1ArcyQNSjvaVLyMV181vtc2p8hroTwkSHS. Вот и копали на дефолтный.

Сегодня вижу уже появился график начисления у 1ArcyQNSjvaVLyMV181vtc2p8hroTwkSHS

График то есть, но ведь и на дефолтный тоже ни копья не упало. А ведь должно было. Или я не прав?

https://blockchain.info/address/1KgvgXu4p3xrW9bN9QnzWjeutA2328wViV?sort=0&filter=2

Share this comment


Link to comment

http://minefast.coincadence.com/p2pool-stats.php     а тут этот кошелёк не должен отображаться?

Странно, должен быть - но нет.

Гляньте, что у вас в лога п2пула творится. У Вас проблема с п2пулом. Он от сети отключен или пиры используетс старые.

Сравните морду моего http://crypto.office-on-the.net:9332/static/ и Вашего http://che2pool.mine.nu:9332/static/

У меня Global pool rate: 2.43 PH/s

У Вас Pool rate: 603TH/s

- а они должны совпадать

 

и ckpool.conf можно вообще из описания убрать - он прокси не нужен.

 

 

Share this comment


Link to comment

Версия пула у нас одинаковая. Только что перекачал и с тем же результатом? В какую сторону рыть? 

Интернет как бы присутствует, в качестве DNS прописаны 8.8.8.8 и 8.8.4.4. Что еще стоит на пути к моему счастью?

Share this comment


Link to comment

Попробуй папочку .../p2pool/data вынести в сторону и запустить без старой статистики. Если будут изменения, то из старой папки можно будет только файл graph_db забрать

Share this comment


Link to comment

Поправьте:
 

Для нашей задачи необходимо настроить два файла: ckpool.conf и ckproxy.conf.

 

Для нашей задачи необходимо настроить файл конфигурации ckproxy.conf.

Share this comment


Link to comment
Попробуй папочку .../p2pool/data вынести в сторону и запустить без старой статистики. Если будут изменения, то из старой папки можно будет только файл graph_db забрать

Ваша "таблетка" помогла.

Share this comment


Link to comment

В процессе изысканий возник вопрос: как запустить на одной машине несколько ckproxy на разных портах? Запуск с направлением на другой конфиг не получился.

 

Process connector pid 5119 still exists, start ckpool with -k if you wish to kill it

Share this comment


Link to comment

Неслабо так под свап выделено, при таком-то объёму RAM. Этому есть обоснование?

Share this comment


Link to comment

Неслабо так под свап выделено, при таком-то объёму RAM. Этому есть обоснование?

Никакого обоснования нет кроме как "шоб мало не було". 

Share this comment


Link to comment

К счастью нет. То еще извращение такие вещи на форточках запускать. Уж поверьте мне.

Для проксика, тем более личного, сильная машина не нужна. Один из компов под это дело у меня работает на 775-м сокете с гектаром памяти и 30Гб винтом (меньше не нашел) и без корпуса, рассыпуха на полке с майнерами лежит.

Винда как капризная принцесса, а линуха - золушка.

В конце кончиков можно виртуалку поднять на HyperV или VmWare, по вкусу.

Но точно могу сказать, что если Ubuntu server, то 14-й, но не 15-й. Крайняя версия фокусничает.

Share this comment


Link to comment

К счастью нет. То еще извращение такие вещи на форточках запускать. Уж поверьте мне. Для проксика, тем более личного, сильная машина не нужна. Один из компов под это дело у меня работает на 775-м сокете с гектаром памяти и 30Гб винтом (меньше не нашел) и без корпуса, рассыпуха на полке с майнерами лежит. Винда как капризная принцесса, а линуха - золушка. В конце кончиков можно виртуалку поднять на HyperV или VmWare, по вкусу. Но точно могу сказать, что если Ubuntu server, то 14-й, но не 15-й. Крайняя версия фокусничает.

поставил ubuntu на Hyper-V, пробую ставить ckpool

хочу использовать ckproxy на ферме (примерно 35 серверов) 

не подскажите мануал по настройке прокси?

 

лучше передать на ubutu server? я установил декстоп

Share this comment


Link to comment

Разницы между сервером и десктопов в данном случае нет. GUI даёт определённую нагрузку на ресурсы и если их мало, то это может быть критично. В остальном как вам удобно. 

Скомпилировать ckpool по прилагаемой к исходникам инструкции в папке /src/doc/, а далее надо вставить строку/строки запуска в /etc/rc.local. 

На-пример: 

screen -dmS ckproxy3333 ckpool -p -k -n ckproxy3333 -c /home/uzver/ckolivas-ckpool/ckproxy3333.conf
screen -dmS ckproxy3334 ckpool -p -k -n ckproxy3334 -c /home/uzver/ckolivas-ckpool/ckproxy3334.conf
....................
Это для нескольких кошельков. ckproxy работает по принципу: 1 порт - 1 кошелёк.

Share this comment


Link to comment

может быть за некоторое вознаграждение настроишь мне прокси? на kano.is

 

ubuntu 14.04 поставил,

внешний ip на hyper-v пробросил, по ssh она доступна

ckpool скачал

 

дальше затык...

надо настроить прокси, запустить в режиме прокси и (если у нее есть) веб-морду со статистикой по майнерам

 

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

Snap_2016.03.17_07h49m39s_009_.png

Share this comment


Link to comment

Отдельно ckproxy нет. Запускается ckpool в режиме прокси. Если вв воспользовались командой скрин, то немного информации можно получить через неё. Но только общую.

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

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

 

Share this comment


Link to comment

ubuntu 14.04 поставил,

внешний ip на hyper-v пробросил, по ssh она доступна

ckpool скачал

 

дальше затык...

 

 

В итоге получим папку ckpool в домашней каталоге.

cd ~/ckpool/

алее собственно процесс сборки.

 

./autogen.sh

./configure --without-ckdb

Всё должно пройти без ошибок.

Теперь преступаем к сборке. Говорят, что если к команде make приписать -jX, где X количество ядер вашего процессора, то можно получить значительное ускорение сборки, но по своему опыту могу сказать, что больше вероятность получить проблемы совместного доступа к файлам и другие проблемы. Но попробовать никто не запрещает.  ;)

make

 

Все вышеуказанные команды с успехом выполняются из под обычного пользователя. Но для инсталляции модуля в систему, чтобы не запоминать пути вызова, ну и по феншую так положено, надо выполнить

 

sudo make install

Share this comment


Link to comment

блин, не нахожу такой папки ((

 

Извини. Ошибнулся.

Вся информация в файле README.

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

Share this comment


Link to comment

Привет еще раз

у ckpool в режиме proxy есть веб-морда?

видел папку html

как ее запустить?

 

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

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...