第一:服务器一般都会用两块磁盘做RAID1作为系统盘,手动安装完第一台操作系统,RAID1的功能是两块盘中具有相等的数据,所以两块盘都存在了刚刚安装好的linux系统,拔出一块系统盘(服务器认为你这块盘坏了),再插入一块新盘到刚刚拔出磁盘的位置,此时服务器会再次向新磁盘自动同步数据,保持1:1备份。接下来刚刚拔出的那块系统盘派上用场,把刚刚扒出来的那块有系统的盘插到另外一台无系统的服务器上,自动完成与另外一块盘的同步,以此类推,1生2,2生4,4生8,8生16,16生32
第二种:刻录无人值守光盘
第三种:PXE批量部署
PXE实例:
我3年前做过一套PXE部署系统(以下是当时用于机房部署系统的截图界面)。可以部署windows+linux的各个版本,部署服务器采用的windows系统(因为windows能通过easybcd制作syslinux引导),syslinux就可以成功引导起win和linux,引导成功后,调用kickstart制作的linux无人应答文件,wds &AKT制作的windows无人应答文件,完成系统安装。你的需求只需要安装统一的linux版本,所以相对来说比较容易,花两天学习下kickstart基本就能在虚拟机上实践成功,但是如果要应用到物理服务器,还需要考虑驱动,raid,格式化等问题
解决办法当然是PXE+Kickstart了,学会一次就能一直用很方便。
你需要准备:
1、交换机,用于连接Server和客户机(必须临时关闭DHCP)
2、部署用server主机(由此台主机接管DHCP服务)
3、其他一堆客户机(需要调节至PXE引导模式)
然后按照教程
https://andyx.net/pxe_kickstart_automatic_deployment_of_linux_system/对Server
主机进行部署PXE+Kickstart,完成之后客户端开机即可自动安装。
没有部署同时过100多台,但是曾经部署26台ECS集群,支撑1500左右tps。部署的方案是:阿里云ECS+镜像+弹性伸缩+负载均衡。开发测试环境用的是Vagrant直接控制多台虚拟机,曾经也使用过VMware ESXi和VMware VCenter管理虚拟机集群
还有一个ansible的来源运维工具。
还可以通过pexpect脚本,自己用python结合ssh搭建一个运维平台。
如果是批量买机器的话,各个云厂商都提供有接口,写个简单都shell就可以了。
阿里云前天刚发布的,叫什么servicefee,忘了,可视化部署,一键拉起,可设置拉起顺序,定时弹性容灾,服务之间的调用可视化,其他数据也是可监控
会 python 和 shell 可以搞搞 fabric ,我在用,还不错!
看你部署应用还是系统,平台是什么。
系统简单,做个模板机,复制就行了。
应用也不麻烦,跟上边的一样做个镜像就行,或者用批量管理工具ansible salt 这类的工具。云服务器的话,镜像市场也有公用的。
ansible,puppet和chef是常用的自动化运维工具。你说的需求用这三个都能做
1.部署操作系统,制作系统模板,批量创建或调用api接口即可
2.部署应用软件,可使用自动化工具如ansible或者编写脚本来批量部署
linux有类似ghost那样的克隆工具,推荐clonezilla。ghost for Linux也可以。
另外,Linux下的dd命令可以完成一个源驱动器对目标驱动器的镜像操作。
蓝鲸平台日常维护中遇到的问题【摘要】在蓝鲸平台的日常维护过程中,会遇到一些平台异常的问题,这些问题有一些是常见的,例如bkdata进程异常导致监控数据未上报,有一些是特定情况下遇到的,但经过排查可以解决的,希望通过整理之前处理过的排错,对以后遇到类似的问题有帮助,能够迅速排查解决。
cmdb重启失败【问题描述】重启cmdb所在机器后,发现启动cmdb有报错,出现cmdb_adminserver:ERROR(spawn error) 【排查】查日志发现连接MongoDB失败,使用bk_cmdb用户也无法登陆到MongoDB 【解决方法】在MongoDB里重新对bk_cmdb用户进行授权,授权完之后,再重新启动cmdb1)、重新授权
# source /data/install/utils.fc
# mongo -u $MONGODB_USER -p
$MONGODB_PASS --port $MONGODB_PORT --authenticationDatabase admin
# show dbs
#进入cmdb这个库
# use cmdb
#更新bk_cmdb用户的密码(密码可以从/data/install/.app.token中查找)
# db.updateUser("bk_cmdb",{pwd:"密码"})
# cd /data/install
# ./bkeec stop cmdb
# ./bkeec status cmdb
# ./bkeec start cmdb
# ./bkeec status cmdb
cmdb访问报404【问题描述】cmdb所在机器意外重启之后,访问cmdb出现404的问题。 【排查】检查服务都是正常的,查看cmdb_adminserver的日志之后,发现无法解析zk.service.consul,检查dns后,发现首选dns不是127.0.0.1了。 【解决方法】修改/etc/resolv.conf的nameserver,确保 /etc/resolv.conf 里第一个nameserver是 127.0.0.1,而且option选项不能有rotate。 1.3、SaaS访问异常【问题描述】登录到蓝鲸后,打开SaaS均出现”应用出现异常”的报错。 【排查】1)、在出现异常的时间段内,检查蓝鲸进程运行情况,运行状态显示为RUNNING; 2)、对CMDB服务进行排查,通过查看cmdb_apiserver.stdout.log和cmdb的nginx访问日志发现,连接cmdb的esb-api接口服务出现timeout,初步怀疑是由于api服务连接不上导致问题的出现。 【解决方法】重启cmdb服务后,该问题解决,SaaS恢复正常访问。在中控机重启cmdb
# cd /data/install
# ./bkeec stop cmdb
# ./bkeec status cmdb
# ./bkeec start cmdb
# ./bkeec status cmdb
组件监控【问题描述】配置组件监控,保存时,报用户没有权限,出现”调用接口失败 execute_platform_task:账户【test】没有该业务的操作权限” 【排查】经咨询开发人员后,确认是以下原因导致:1)、由于exporter是内置在蓝鲸业务的机器下的,下发流程涉及到跨业务分发文件,因此要求用户同时拥有源业务和目标业务的权限,目前还在确定解决方案。2)、 promtheus类型的组件会有这个问题,包括Mencache、SQLServer、Oracle、Haproxy、Weblogic、RabbitMQ、Zookeeper等。 【解决方法】目前将”蓝鲸”这个业务的运维人员加上这个账号,即可解决该问题。 2.2
主机性能监控【问题描述】cpu5分钟负载突然显示无数据上报. 【排查】在蓝鲸自监控里检查发现,databus的etl服务有异常。 【解决方法】登录到bkdata所在机器,重启etl服务。
# supervisorctl -c
/data/bkee/etc/supervisor-bkdata-databus.conf status databus_etl
# supervisorctl -c
/data/bkee/etc/supervisor-bkdata-databus.conf restart databus_etl
服务拨测【问题描述】打开服务拨测,出现 【模块:data】接口返回结果错误:database not found:uptimecheck_212 的报错。 【排查】旧的拨测没建库成功的,需要手动触发接口创建 【解决方法】登录到蓝鲸的任意一台机器上执行以下命令创建库。
# curl -X "POST" "http://dataapi.service.consul:10011/tool/tsdb/create_db" -H 'Content-Type: application/json
charset=utf-8' \
-d $'{
"db_name": "uptimecheck_212",
"days": "30"
}'
执行脚本有异常【问题描述】作业平台执行脚本等操作时有问题,出现 " Execution result log always empty. " 的报错。 【排查】经检查,healthz接口正常,nfs挂载也正常,但有一台机的gse_task出现异常情况。 【解决方法】登录到出现gse_task异常的机器上重启gse_task,作业平台即可正常执行脚本等操作。
# cd /data/bkee/gse/server/bin/
# ./gsectl stop task
# ps -ef | grep gse_task
# ./gsectl start task
调整MySQL的innodb_log_file_size参数为4G
# cd /data/bkee/service/mysql/bin/
# ./mysql.sh stop
# vim /data/bkee/etc/my.cnf
# innodb_log_file_size = 4096M
# cd /data/bkee/public/mysql/
# mv ib_logfile0
ib_logfile0.20190424.back
# mv ib_logfile1
ib_logfile1.20190424.back
#启动MySQL服务
# cd /data/bkee/service/mysql/bin/
# ./mysql.sh start
蓝鲸平台部署完成后再添加gse和nginx外网ip
# cd /data/install/
# vi globals.env
export
AUTO_GET_WANIP=1
export
GSE_WAN_IP=(GSE_WAN_IP GSE_WAN_IP1)
export NGINX_WAN_IP=(NGINX_WAN_IP NGINX_WAN_IP1)
# ./bkeec sync common
# ./bkeec render gse
# ./bkeec stop gse
# ./bkeec start gse
# ./bkeec install nginx 1
# ./bkeec stop nginx
# ./bkeec start nginx
蓝鲸智云,简称蓝鲸,是一套基于PaaS的技术解决方案;通过蓝鲸,可以实现很多功能,这就是他的优点,缺点就是有些功能比较鸡肋。
1、“运维基础服务”的无人值守;运维基础服务就是我们经常做的发布变更和故障处理,日常的运维操作。
2、“运维增值服务”的低成本实现;也就是说,在实行运维基础服务之后,实现IT运营转型;为相关关联的岗位提供快速、低成本的支撑工具,运营系统,推动企业企业内部的工具文化;并利用云和大数据技术为企业实现精细化的工作活动。
在腾讯内部,蓝鲸支撑着300多款业务,管理着20多万台服务器,完成着14万次发布变更操作,每天处理着变更和操作超过6万次。下面我们一起看蓝鲸的架构图。最底部是管控平台,他具体服务择比如说传输数据,传输文件。
执行脚本等;在管控平台上层,是常用的基础平台,如配置平台、作业平台、数据平台等,他们为上层的集成平台提供原子服务,从而为下面平台提供调度自动化,在集成平台的上层,承载着很多SAAS应用,如标准运维、监控系统。
故障自愈,移动平台等。目前蓝鲸2.0已经开放了这4个平台,管控平台、配置平台、作业平台、集成平台,最底层的管控平台,可以管理各种OS,如WINDOWS,LUNIX,小型机,dux等上面的作业平台可以是基础运维工作的自动化,如智能传输文件。
脚本、云化管理、脚本快速执行,海量主机的并发操作,跨云管理(无论阿里云、腾讯云、私有云等都可以统一管理)等等。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)