同时快速部署100台linux服务器,有什么现成的解决方案吗?

同时快速部署100台linux服务器,有什么现成的解决方案吗?,第1张

说说我以前最常用的三种批量部署方案(有疑问接受私信):

第一:服务器一般都会用两块磁盘做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管理虚拟机集群

腾讯有个蓝鲸平台,只需要录入你的服务器ip就可以批量操作。

还有一个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等上面的作业平台可以是基础运维工作的自动化,如智能传输文件。

脚本、云化管理、脚本快速执行,海量主机的并发操作,跨云管理(无论阿里云、腾讯云、私有云等都可以统一管理)等等。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/655319.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-23
下一篇2023-07-23

发表评论

登录后才能评论

评论列表(0条)

    保存