同时快速部署100台linux服务器,有什么现成的解决方案吗?
说说我以前最常用的三种批量部署方案(有疑问接受私信):
第一:服务器一般都会用两块磁盘做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://andyxnet/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命令可以完成一个源驱动器对目标驱动器的镜像操作。
一、购买云服务器,这里以腾讯云为例。
如何购买这里就不废话了,购买成功后腾讯云会给你一个站内信,告诉你登录服务器的用户名和密码(我这里买的是centos72版本的)
二、配置服务器
如果你购买的是学生版的,它的默认配置是没有数据盘的,只有一个系统盘,所以也不需要你进行分盘、格式化盘、挂载等操作。如非学生,请参考如下:
https://cloudtencentcom/document/product/213/2042
三、环境配置
如果运行自己本地开发好的网站需要一定的运行环境,那么云服务主机当然也要配置相应的运行环境,下面以lamp运行环境为例。通过yum命令安装MySQL和PHP,注意,在centos7x版本里已经没有MySQL的集成包了(因为oracle想把MySQL闭源,社区人员开发出来maridb,也就是MySQL的衍生版)。具体细节请参考腾讯云官方文档:https://cloudtencentcom/document/product/213/2125
四、把本地文件上传到云端服务器上
上传位置为 /root/var/www/html
五、上传数据库文件。
a、首先通过腾讯云的控制台或其他软件都可以登录到腾讯云的服务器上,登录MySQL数据库,然后创建数据库。
b、把sql文件放到指定目录下,然后通过source命令导入数据库文件。
source命令导入SQL文件详解链接
导入sql的命令行如下:
source “路径名”+/mytest_emp_deptsql
==================================
六、如果有域名,将自己的域名绑定到服务器的公网ip上。
0条评论