Я знаю, что многие из моих подписчиков так или иначе связаны с майнингом. Возможно, им будет интересна эта информация
Проблема с пулами
Асики майнят на нескольких пулах. Один пул, как правило, идентифицируется одним доменным именем, но это имя может ссылаться на несколько разных серверов (даже находящихся на разных концах света). Мы столкнулись с ситуацией, когда часть пулов рандомно не работает с нашим оборудованием. Нужно выяснить почему это происходит и как избавиться от этого.
Первая проверка, которую мы можем провести - пинг. Но пулы могут быть настроены так, что пинг на них не пройдет, хотя при этом пул остается вполне работоспособным. Делаем вывод, что пинг не является достаточным основанием для констатации (не)работоспособности пула.
Наши асики работают по протоколу stratum-tcp. Если заглянуть в трафик, то можно увидеть как именно происходит майнинг на пуле. Асик отправляет запрос, очень похожий на JSON и ждет подобного же ответа. Значит, мы можем проверять доступность пулов такими запросами.
Наступил момент, когда асик перестал майнить. При этом, пинг до пула может нормально пролетать. В таких случаях мы просто выводим трафик от асиков из другой страны с помощью VPN. Но, спустя какое-то время по каким-то неведомым причинам эти пулы так же рандомно отказываются работать из этой страны. Тогда мы возвращаем трафик обратно в РФ и какое-то время спим спокойно.
Мониторинг
Для своевременного обнаружения неработоспособности пула сделана простая проверка в мониторинге The Dude. Она отправляет каждому серверу из пула запрос вида {"params": ["workername", "10e8f0", "8b4a0100", "5b55aece", "04fc5b31"], "id": 379227, "method": "mining.submit"}\r\n
и ждет ответ. Если в ответ приходит строка, содержащая символы error
, то пул считается работоспособным (ответ пришел). Если ничего не приходит или приходит пустой ответ, то пул считается неработоспособным и администратор получает уведомление.
#майнинг #пул #асик #мониторинг #mining #asic #pool #dude #проверка