Централизованое управление майнерами (XMRig CPU)

Тема в разделе "Майнинг", создана пользователем MoneroRus, 9 янв 2018.

  1. MoneroRus

    Команда форума Редактор

    Регистрация:
    30 ноя 2017
    Сообщения:
    106
    Симпатии:
    13
    Для управления отдельными экземплярами XMRig (форком) появился софт XMRigCC
    Открытый исходный код, небольшой размер, полная поддержка Windows\Linux, уведомления об обновлении, удаленное редактирование настроек. С одного сервера XMRigCCServer можно управлять майнерами Windows и Linux одновременно.
    Под FreeBSD тоже собирается, скорее всего проблема будет решена в следующих релизах. (исправлено в 1.3.2)

    Что же это такое?

    Это форк xmrig, но с дополнительной функциональностью удаленного управления.
    Основан на версии XMRig 2.4.3, пока поддерживается только версия для CPU.
    Состоит из:
    Серверная часть:
    XMRigCCServer - Представляет собой сервер управления с веб-интерфейсом и REST api.
    xmrigcc-dashboard.PNG
    xmrigcc-dashboard1.PNG
    xmricc-server-console.PNG
    Клиентская часть:
    XMRigCCDaemon - Демон для изменения конфигурации, управления работой и связи майнера с управляющим сервером.
    XMRigMiner - майнер, которым управляет демон. Майнер не спроектирован работать отдельно, поэтому для работы демон обязателен. Вывод XMRigMiner отображается в окне XMRigCCDaemon
    xmrigccDaemon.PNG
    Зачем?

    Если у вас работает не менее 10 запущенных майнеров, думаю согласитесь, что управлять ими становится неудобно. Частично проблема решается использованием собственного прокси или пула. Это решает проблемы перенаправления мощностей между пулами, или кошельками, а также балансировку между пулами. Но останавливать и запускать каждый майнер или изменять его конфигурацию все равно приходится вручную. Например, для того, чтобы запустить майнер не на 4, а на 2 потоках и т.п. Для этого как раз существует данный продукт. Кроме того он показывает статистику работы ваших мощностей, примерно как пул, и позволяет централизовано управлять конфигурацией.


    Как это работает?

    XMRigDaemon подключается к серверу XMRigCCServer каждые 10 сек. и отправляет даннные о своей работе. После этого он проверяет какие есть для него команды и исполняет их. Таким образом упрощается настройка сети, достаточно, чтобы у майнера был выход в интернет (или до сервера). Перезапуск майнера не перезапускает процесс демона. Потеря связи с управляющим сервером не останавливает майнинг, и наоборот. Остановка майнера обнуляет его статистику в панели управления. Время на сервере управления и устройстве где будет открыт веб-интерфейс должно совпадать, иначе майнеры будут обновлять данные, но показываться как "не в сети", разработчик планирует доработать это поведение, но пока так (исправлено в 1.3.2).

    Настройка
    Серверная часть

    Настройки для сервера управления (XMRigCCServer) находятся в файле config_cc.json
    Код:
    {
       "background": false,                            // true cc-server запуск в фоновом режиме
       "colors": true,                                 // false отключить цветной вывод
       "log-file": null,                               // записывать вывод в файл
       "syslog": false,                                // использовать системный журнал
       "cc-server": {
           "port": 3344,                               // порт на котором сервер будет ждать соединения
           "access-token": "mySecret",                 // ключ доступа (обязательно должен быть задан!!!)
           "user": "admin",                            // логин администратора для доступа к панели управления
           "pass": "pass",                             // пароль администратора для доступа к панели управления
           "client-config-folder" : null,              // папка с конфигами для клиентов (null=текущая)
           "custom-dashboard" : "index.html"           // html файл панели управления
       }
    }
    
    access-token используется для авторизации майнеров на сервере, задается также и в параметрах майнера.

    Также можно предать параметры в командной строке:

    xmrigCCServer --cc-port=3344 --cc-user=admin --cc-pass=pass --cc-access-token=SECRET_TOKEN_TO_ACCESS_CC_SERVER
    Код:
            --cc-user=USERNAME                CC Server логин админа
            --cc-pass=PASSWORD                CC Server пароль админа
            --cc-access-token=T               CC Server ключ доступа для CC клиента
            --cc-port=N                       CC Server порт на котором сервер будет ждать соединения
            --cc-client-config-folder=FOLDER  папка с конфигами для клиентов
            --cc-custom-dashboard=FILE        html файл панели управления, который будет доступен по url '/'
            --no-color                        отключить цветной вывод
        -S, --syslog                          использовать системный журнал
        -B, --background                      запустить в фоновом режиме
        -c, --config=FILE                     использовать конфигурационный файл
        -l, --log-file=FILE                   записать вывод в файл
        -h, --help                            показать подсказку и выйти
        -V, --version                         показать версию и выйти
    
    Фоновый режим работает... почти никогда.
    Клиентская часть

    Настройка майнинга не сильно отличается от настройки XMRig (почитать тут), добавлены лишь параметры подключения к серверу.

    Как видите к стандартному конфигу XMRig добавлена секция cc-client
    Код:
    "url": "localhost:3344",               // url управляющего сервера (ip:port)
    "access-token": "mySecret",            // ключ доступа к управляющему серверу (должен совпадать с тем что в config_cc.json)
    "worker-id": null,                     // имя майнера (если пусто, то имя хоста)
    "update-interval-s": 10                // интервал обновления данных (по умолчанию: 10 минимум: 1)
    
    Дополнительные параметры командной строки XMRig для xmrigDaemon:

    Код:
          --doublehash-thread-mask         только  для av=2/4, использовать удвоенный кеш только на определенных потоках\ядрах (по маске), (по умолчанию: все) Это полезно когда у вас L3 больше чем число_ядер*2, но меньше чем число_ядер*4. Можно часть удвоенных кешей привязать, к некоторым ядрам и таким образом задействовать весь L3 кеш процессора (в отличии от XMRig).
          --cc-url=URL                  url управляющего сервера CC Server
          --cc-access-token=T              ключ доступа к CC Server
          --cc-worker-id=ID                 идентификатор на CC Server
          --cc-update-interval-s=N         интервал обновления статуса, секунд (по умолчанию: 10 минимум: 1)
    
    Удаленное управление конфигурацией

    В панели управления(dashboard) можно выбрать конкретный майнер и отредактировать его конфиг. После этого будет создан файл в папке для конфигов (параметр сервера client-config-folder), который будет назван WORKER_ID_config.json Например если вы укажете в конфиге worker-id: "miner1", то на сервере в папке для конфигов будет создан файл miner1_config.json.
    Этот файл редактируется из панели управления, либо можно отредактировать его напрямую. Чтобы изменения из этого файла применить в конкретному майнеру, необходимо отметить майнер галочкой в панели управления и нажать "push client config".

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

    Также возможно отредактировать насктройки для нескольких майнеров одновременно. Для этого отмечаем галочками, жмем "Multi miner editor". Работает он по принципу поиска и замены. Задаете строку (или регулярное выражение), которую необходимо поменять и новую строку замену, после сохранения во всех конфигах эта строчка будет заменена. Убедитесь, что вы сначала получили ("pull miner config") конфиги всех редактируемых майнеров. После изменений необходимо отправить конфиги на майнеры, для этого не снимая галочек нажмите "push miner config".

    Немного фокусов

    Автозапуск

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

    Windows

    Код:
    sc.exe create XMRDaemon binPath="<путь к exe файлу>"
    

    Затем зайти в консоль управления службами service.msc и настроить автозапуск и перезапуск при сбоях.
    или
    Код:
    sc.exe create <Имя службы> binPath= "<путь к exe файлу>" start= auto type=own DisplayName= <Имя которое будет видно в консоли служб>
    sc failure <Имя службы> reset= 0 actions= restart/0/restart/0/restart/0
    sc description <Имя службы> "Monero the best coin"
    
    Подробнее про установку служб почитать тут

    Linux

    Код:
    sudo chmod u+x /patho/to/XMRigDaemon
    
    Автозагрузка через systemd (написано по памяти, не проверено)

    Создаем описание сервиса (юнит)
    Код:
    sudo vi /lib/systemd/system/xmr.service
    
    И вписываем:
    
    [Unit]
    Description=Monero miner
    After=network.target
    WorkingDirectory=/config/dir/
    
    [Service]
    Type=simple
    ExecStart=/patho/to/XMRigDaemon
    StandardOutput=null
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    Alias=xmrigcc.service
    
    sudo chmod 644 /lib/systemd/system/xmr.service
    sudo systemctl daemon-reload
    sudo systemctl enable xmr.service
    
    По старинке
    Код:
    echo "/patho/to/XMRigDaemon > /dev/null 2 > /dev/null &" >> //etc/rc.local
    
    rc.local в разных дистрибутивах может лежать в разных местах, например, /etc/rc.d/rc.local

    Или через Cron
    Код:
    сrontab -e
    @reboot /patho/to/XMRigDaemon
    
    Русификация

    Перевел на скорою руку веб-интерфейс (версия XMRigCC 1.3.1). Установка:
    1. Скачать файл
    index.zip
    2. Распаковать
    2.1 и заменить index.html
    2.2 или сохранить его с другим именем и в конфиге сервера config_cc.json прописать, например для имени файла index_ru.html:
    "custom-dashboard" : "index_ru.html", и перезапустить сервер
    XMRigCC-Dash-RU.PNG

    Мне показалось, что XRigMiner выдает немного больший хешрйет. В процессе общения с разработчиком (на тему сборки под FreeBSD) он сказал, что он несколько оптимизировал работу с памятью (в части двойного кеша) и его майнер должен давать на 10-15% больший хешрейт. На моих небольших хешрейтах я не могу этого подтвердить, т.к. прирост укладывается в погрешность. Если у кого-то будут явные доказательства или опровержения, напишите об этом.

    Автор:
    MoneroRus (@MoneroRus)
    Редактирование:
    Mr. Pickles (@v1docq47)
     

    Вложения:

    • index.zip
      Размер файла:
      6,3 КБ
      Просмотров:
      18
    #1 MoneroRus, 9 янв 2018
    Последнее редактирование: 15 янв 2018
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.