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

egorbtc's блог

  • записи
    4
  • комментария
    23
  • просмотра
    88 313

Об этом блоге

Копайте, Шура... копайте...

Записи в этом блоге

egorbtc

Майнинг без остановки!

В процессе майнинга битков я столкнулся с проблемой. А именно с тем, что на моей рабочей машинке периодически отваливался cgminer. Связано это, я думаю, с тем, что это происходит именно на рабочем компьютере. То одну программу запустишь, то другую... А операционкой на компе, к сожалению, является Винда. Но я не буду сейчас обсуждать ее плюсы и минусы. Лучше расскажу о том, как я проблему решил. И так цель:

  1. Необходимо обеспечить постоянную и бесперебойную работу программы cgminer. В случае, если программа завершилась аварийно, обеспечивать ее перезапуск.
     
  2. Необходимо периодически программу перезагружать (например раз в час), чтобы исключить возникновение возможных ошибок.
     
  3. Запуск программы необходимо осуществлять в скрытом режиме (зачем мозолить глаза случайным свидетелям).

Для решения своей задачи я воспользовался такой замечательной программой, как nnCron. Вот, что про нее пишут на родном сайте:

 

nnCron - это компактный (900k), но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы, nnCron умеет:

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

Немаловажным фактом является возможность работы программы в качестве службы. nnCron работает в Windows 7 32 и 64 бит.

Саму программу я скачал с родного сайта по ссылке. Это бета версия, аж от 2008 года :-) При установке я указал, что программа устанавливается как системная служба:

54a49242c5c1.png

Данная программа абсолютно бесплатна для жителей России при некоммерческом ее использовании. Мы же не будем с ее помощью коммерцией заниматься ;-) Чтобы она нам не докучала вплывающими окошками о пробном периоде, нам необходимо ее зарегистрировать. Для этого в командной строке вводим команду:

"C:\Program Files\nnCron\tm.exe" xReg

Думаю, что как вызвать командную строку объяснять не нужно. Да, если у вас Windows 7 64 Bit, то программа, скорее всего, установится в директорию "Program Files (x86)". Тогда код будет выглядеть так:

"C:\Program Files (x86)\nnCron\tm.exe" xReg

В появившемся окошке введите xUSSR регистрация в качестве имени и текущий день недели (по-pусски) вместо паpоля:

4bfb263602bd.png

Далее необходимо записать несколько задач для nncron. Правой кнопкой мыши щелкаем по значку nnCron в трее, выбираем пункт "Добавить задачу":

aeaba708496a.png

Открывается окно с новой задачей. Даем ей название, например "Reset_mining". Открываем вкладку "Дополнительно":

72c0a93de8a8.png

Вводим код скрипта:

 

Time: 0 * * * * *
Action:
KILL: "cgminer.exe"
PAUSE: 3000
StartIn: "E:\COINS\cgminer-2.9.4-win32"
SWHide NormalPriority
START-APP: E:\COINS\cgminer-2.9.4-win32\pool_maxi_norm.bat

 

Что скрипт делает:

 

Time: 0 * * * * * - запускаться каждую 0-ю минуту каждого часа

Action:

KILL: "cgminer.exe" - убить процесс cgminer

PAUSE: 3000 - подождать 3 сек.

StartIn: "E:\COINS\cgminer-2.9.4-win32" - работать в папке. У вас будет та папка, откуда производится запуск cgminer

SWHide NormalPriority - запустить процесс скрытым с нормальным приоритетом

START-APP: E:\COINS\cgminer-2.9.4-win32\pool_maxi_norm.bat - запустить bat файл. У меня запуск cgminer'а осуществляется с помощью батника. У вас батник может иметь другое имя и храниться по другому пути.

 

Сохраняем скрипт. Перечитываем все задания nnCron:

aacea68b1403.png

Мы тем самым обеспечили перезапуск cgminer'а каждый час. Теперь запишем второй скрипт с таким содержимым:

 

Time: */5 * * * * *
Rule: PROC-EXIST: "cgminer.exe" NOT
Action:
StartIn: "E:\COINS\cgminer-2.9.4-win32"
SWHide NormalPriority
START-APP: E:\COINS\cgminer-2.9.4-win32\pool_maxi_norm.bat

 

Сохраняем скрипт и перечитываем кронтабы. Данный скрипт раз в 5 минут проверяет наличие работающего процесса cgminer.exe. В случае если он не существует, осуществляем его запуск.

Итак мы получили бесперебойно работающий cgminer. При этом его окошко не болтается на виду у всех. Данное решение можно применить и на чужих машинах для скрытого майнинга. Нет-нет, боже упаси, я не призываю вас к противоправным действиям. Все должно быть по обоюдному согласию :-)

 

P.S. А еще с помощью nnCron мы можем выполнять и другие полезные действия связанные с майнингом и просто полезные для вас лично. Одним из решений, которое я применял, была ловля удачи в соло майнинге. С некоторой периодичностью я прибивал работу cgminer'а на пул, и запускал соло майнинг на пару часов. Таким образом был пойман один блок, когда за него еще давали 50 битков. Но потом удача отвернулась от меня и я этот режим отключил.

egorbtc

Это даже не статья, так заметочка на пол битка :smile:

В в самой первой моей записи "Удаленное включение компьютера" я писал о том, как компьютер можно удаленно включить. А вот как его потом выключить? Да при этом не применять дополнительных программ.

Расскажу про то, как сделать это на компьютере с Windows 7. Большинство, мне кажется, именно на ней майнят.

Для этого воспользуемся стандартной командой Shutdown и Планировщиком заданий. Делаем так:

Открываем меню Пуск и в строке "Найти программы и файлы" вводим команду taskschd.msc /s

В открывшемся Планировщике заданий выбираем: Действие-Создать простую задачу...

c5e4310bc71d.jpg

Даем задаче осмысленное название (а можно и не осмысленное, кому как надо). Указываем когда задачу выполнять:

7f28babfa265.jpg

 

9effa2b51ddf.jpg

Что делаем?:

3e818baf068d.jpg

Вводим параметры:

95604f7b426c.jpg

Здесь аргументы -s и -f означают:

-s - выключить локальный компьютер

-f - принудительно и форсированно закрыть все приложения.

Сохраняем задачу. Теперь компьютер будет выключаться в указанное вами время.

Но возможности такой программы можно использовать и более широко. Если вам нужно не выключать компьютер, а перезагружать периодически для профилактики, вы можете добавить в аргументы параметр -r Это значит перезагружать компьютер после выключения.

Но и это еще не все :smile: Можно таким способом рулить и удаленным компом. Для этого существует аргумент -m. Выполнив такую команду shutdown -r -f -m \\192.168.2.200 вы перезагрузите компьютер с IP 192.168.2.200.

egorbtc

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

Поиск по Интернету дал противоречивые результаты. Одни говорят, что параллельно работать в системе блоки питания (далее БП) не могут, другие говорят, что это возможно. Мои познания в электронике на уровне человека получившего диплом Энергетического факультета говорили о том, что все-таки возможно заставить работать БП в тандеме. Главное правильно их включить. И руки при этом у меня сильно чесались побыстрее добавить лишние 410 Mhash.

Пока начал писать статью пришел новый мощный БП. Но бросать начатое описание жалко. Данное решение у меня проработало месяц. Может и еще кому-нибудь оно поможет выкрутиться в случае нужды.

Делаю фотки уже не на подключенных БП, но зуб даю, что работало :smile:

1. Два блока питания друг на дружке. Только стояли они на системном блоке снаружи:

2c40168e1199.jpg

Нижний блок ведущий. От него идет питание на материнскую плату. К нему же подключаем второй блок питания. К сожалению на главном БП нет выключателя, поэтому включал я все хозяйство с пилота.

2. Подключаем сигнальный провод от главного БП к ведомому. Для этого зачищаем изоляцию на зеленом проводе главного БП идущем на материнскую плату. К зачищенному участку приматываем кусок провода сантиметров 20. Место соединения изолируем.

a3bf4f81805b.jpg

3. Примотанный провод подключаем к большому разъему второго блока питания. Я поступил просто. Воткнул зачищенный конец провода прямо в разъем. В контакт к которому подключен зеленый провод:

8a5c7b9fa19a.jpg

Рекомендую все это дело зафиксировать изолентой.

4. Так, что еще необходимо? Да! Нужно обеспечить согласование БП по питанию. Нам необходимо соединить "Землю" - черные провода и +12В - желтые провода. Для этого я использовал молекс от видеокарты такого типа:

4146774480ed.jpg

В белые разъемы молекса я воткнул разъемы от каждого из блоков питания.

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

 

P.S. Данный практический совет дан в качестве ознакомления. Если вы решите его повторить, то делаете это на свой страх и риск. Я предупредил!

egorbtc

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

В силу обстоятельств и моей безотказности выпала мне доля системного администратора в нашей небольшой компании. Кто-то скажет, что фирма мелкая, кто-то, что довольно крупная... Кому как. Но под моим управлением находится порядка 40 машин различной мощности и с различными операционками. Есть и Винда, есть и Убунта. В том числе три сервера с неплохой начинкой. И, что самое немаловажное, есть четыре компа с видеокартами Radeon HD6870, это для конструкторов. Ну, просто грех их не использовать.

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

Долгое вступление, пора к делу. Как настраивать майнинг на каждой из операционок рассказывать не буду, об этом можно в другой раз. Скажу просто, что те компы, что без видях, потихоньку "копают" лайткоины, а те, что с Радеонами, конечно-же, трудятся для процветания Битка. Так что, на оплату сотового мне точно хватает.

Теперь точно к делу. Все компы трудятся на благо фирмы днем, а ночью приходит мой черед... Вот только эти компьютеры нужно как-то включить, а в офис после 5-ти не попасть. И тут нам на помощь приходит такая хорошая способность всех более-менее современных материнок просыпаться по сигналу из локальной сети. Так называемый "Wake On Lan". Главное, чтобы эта функция была активирована в БИОСе. Все три сервера в локальной сети работают круглосуточно. А чтобы включить все остальные компьютеры мне пригодилась бесплатная программка wolcmd, которую я скачал с ее родного сайта. А вот ссылка на саму программу. Мне осталось написать небольшой батничек, который запускается на сервере через Планировщик заданий. Сама программка небольшая и управляется из командной строки. Синтаксис этой "полезняшки" тоже очень прост, чтобы включить нужный компьютер мы выполняем такую команду:

wolcmd 009027a324fe 195.188.159.20 255.255.255.0 8900

где:

  • 009027a324fe - MAC адрес компьютера
  • 195.188.159.20 - IP компьютера
  • 255.255.255.0 - маска сети
  • 8900 - порт на который стучаться

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

P.S. И небольшое дополнение. Если вы оставляете включенными компьютеры, то примите простейшие меры безопасности. Я приучил наших бухгалтеров не загромождать системники своими бумагами и личными вещами. Каждый комп с нормальным охлаждением и "пилотом"... Зачем нужны лишние проблемы?

×