欢迎来到天天文库
浏览记录
ID:37302019
大小:261.37 KB
页数:21页
时间:2019-05-21
《百台数据库自动化运维基础》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、百台数据库自动化运维基础途牛网王强数据库运维遇到的问题•2014年刚到途牛的时候,数据库服务器才几十台,那个时候修改什么参数,我和另外一个dba一人分配一半的机器,手动修改一下就完事了。•2015数据库服务器增加到200多台了,这个时候修改一个参数,我们四个dba,每人平均60多台,改一个数据库参数,我们要累的半死。•从那个时候,我开始思考如何做自动化,把我们几个小伙伴从这种简单枯燥的工作中解放出来。Puppet•早期公司的服务器使用puppet完成初始化和配置等一系列工作,等初始化完成后开始运行,运行一段时间后有一些需要自动和手动操作的任
2、务(比如升级、重启、备份等),这时候我们使用Fabric来批量执行这些临时任务。•puppet主要的功能是配置管理,Fabric主要是批量执行任务,而现在我们只需要一个SaltStack,就可以完成前面2个工具的工作,所以我决定学习SaltStack。SaltStack架构•Salt有两个主要的功能:配置管理和远程执行•SaltStack需要在一台机器(主控)上安装服务器端软件(SaltStack称之为saltmaster),在多台机器(受控)上安装客户端软件(SaltStack称之为saltminion)。在主控机器上给下属(受控)发命令
3、,在受控机器上接受和执行上级(主控)的命令。安装•1、服务器端:yuminstallsalt-master-y•2、客户端:yuminstallsalt-minion-y•如果yum不能安装,大家可以搜索一下如何配置yum源master参数配置vim/etc/salt/masterauto_accept:true#自动接受客户端的连接,否则需要手动接受,太麻烦file_roots:#设置salt配置文件的根目录base:-/srv/salt/服务器基础配置就上面2项就可以了。client参数配置•vim/etc/salt/minionmas
4、ter:192.168.1.1#服务器的ip地址log_file:/var/log/salt/minion#软件的日志文件key_logfile:/var/log/salt/keyid:10.40.55.49#本机在salt中标识,这里直接以ip为标识配置完后重启客户端:servicesalt-minionrestart常用的批量命令服务器端常用的以下一些命令:•salt-keylist#列出所有的受控机器•分发指定文件到客户端salt"10.10.10.49"cp.get_filesalt://script/top.sh/tmp/top.
5、sh•所有客户端执行hostname命令,用这个命令就可以做一些简单的维护了。salt'*'cmd.run"hostname"•#将文件拷贝到客户端,然后客户端执行,如果上面的cmd.run不能满足你的要求,你可以写个脚本,然后用这个命令将文件先发送到client,然后在client端执行,不过这个脚本执行的时候,环境变量默认是没有,最好在脚本自己设置好环境变量salt"*"cmd.scriptsalt://scripts/test.sh配置管理•手动创建目录和配置文件/srv/salt/top.sls/srv/salt/top.sls为默
6、认入口配置文件,这个配置项可以自定义,基本配置如下:base:'*':-ubuntu.vim详细解释一下这个本配置文件的参数base:默认的的起点配置项:'*':这个引号内的是匹配对象,针对所有受控主机ubuntu.vim就是指资源文件/srv/salt/ubuntu/vim.sls详细配置•编辑/srv/salt/ubuntu/vim.slsvim:pkg:-name:vim-installed•执行命令salt'*'state.highstate#针对所有机器执行所有的配置项salt'*'state.slsubuntu.vim#针对所有
7、机器执行指定的配置项文件管理配置•将指定的agent下发到/opt/agents目录下:cat/srv/salt/script/agent.sls/opt/agents/asset.agent:#这个就是客户端的具体位置file.managed:-source:salt://script/asset.agent#服务上文件是在/srv/salt/script目录下-mod:755-user:root文件配置管理•将前面写好的agent.sls加入top.sls中cat/srv/salt/top.slsbase:'*':-ubuntu.vim
8、-script.agent#前面的script表示目录,如果在/srv/salt目录,那么就可以直接写成-agent文件添加信息信息catip.sls/etc/hosts.all
此文档下载收益归作者所有