天下風雲出我輩
一入江湖歲月催

Ansible批量部署xmr-stak

之前配置挖矿主机太丫累了,虽说可以使用脚本跑,但还是太麻烦了;刚好最近在研究使用Ansible测试部署了10台,测试通过,如果要部署操控几百上千台机器必须优化Ansible,以下是操作思路和脚本:

部署环境:Ubuntu 16+  Python 2.7+

master:192.168.1.8

node1:  192.168.1.9

node2: 192.168.10

批量分发秘钥

首先在主控端master上生成秘钥,使用命令:ssh-Keygen,把公钥放在云控制面板设置或者用免交互脚本批量分发。

安装配置Ansible

apt-get install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible -y
更改ansible配置文件,合理加大fork数,取消host_key注释,免首次登陆yes确认。
fork=30
host_key_checking = False

编辑hosts文件,将控制主机ip加入其中

[wk]
192.168.1.9
192.168.1.10

Ubuntu16中自带安装的是Python3+,而Ansible默认使用的是Python2.7+, 所以如果要使用系统默认的Python3,需要再hosts文件当中加入:

[web]
xxx.xx.xxx.xx

[web:vars]
ansible_python_interpreter=/usr/bin/python3

我使用的是Python2.7+,可以使用Ansible的raw模块批量安装:

ansible all -m raw -a "apt-get install python -y"
#测试主机连通性
ansible all -m ping

执行本地脚本

 ansible all -m script -a '/root/az.sh'

这时候等待一会,因为跑的脚本会新开一个screen窗口在远程主机安装部署程序后自动运行,新开一个shell窗口然后执行ansible all -m shell -a ‘screen -ls’ 查看窗口列表是否都正常处于激活状态,返回原shell窗口,Ctrl+c关闭ansible执行。

本地脚本:az.sh

#!/bin/bash
#更新系统并安装依赖
apt-get update -y
apt-get install -y libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev sc
reen git nano htop#开启大内存和memlock
sysctl -w vm.nr_hugepages=128
sed -i '1s/^/vm.nr_hugepages=128\n/' /etc/sysctl.conf
echo '* soft memlock 262144' >> /etc/security/limits.conf
echo '* hard memlock 262144' >> /etc/security/limits.conf
#下载编译安装xmr-stak并修改捐赠比例
git clone https://github.com/fireice-uk/xmr-stak.git
cd xmr-stak/
sed -i 's/2/0/g' xmrstak/donate-level.hpp
cmake . -DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF
make install
cd bin/
wget http://159.89.36.71/config.txt
wget http://159.89.36.71/cpu.txt
wget http://159.89.36.71/pools.txt
screen -S xmr -s ./xmr-stak

 

 

赞(2) 打赏
未经允许不得转载:Anonym0x1 » Ansible批量部署xmr-stak

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏