同时快速部署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+镜像+d性伸缩+负载均衡。开发测试环境用的是Vagrant直接控制多台虚拟机,曾经也使用过VMware ESXi和VMware VCenter管理虚拟机集群

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

还有一个ansible的来源运维工具。

还可以通过pexpect脚本,自己用python结合ssh搭建一个运维平台。

如果是批量买机器的话,各个云厂商都提供有接口,写个简单都shell就可以了。

阿里云前天刚发布的,叫什么servicefee,忘了,可视化部署,一键拉起,可设置拉起顺序,定时d性容灾,服务之间的调用可视化,其他数据也是可监控

会 python 和 shell 可以搞搞 fabric ,我在用,还不错!

看你部署应用还是系统,平台是什么。

系统简单,做个模板机,复制就行了。

应用也不麻烦,跟上边的一样做个镜像就行,或者用批量管理工具ansible salt 这类的工具。云服务器的话,镜像市场也有公用的。

ansible,puppet和chef是常用的自动化运维工具。你说的需求用这三个都能做

1.部署 *** 作系统,制作系统模板,批量创建或调用api接口即可

2.部署应用软件,可使用自动化工具如ansible或者编写脚本来批量部署

linux有类似ghost那样的克隆工具,推荐clonezilla。ghost for Linux也可以。

另外,Linux下的dd命令可以完成一个源驱动器对目标驱动器的镜像 *** 作。

因为科研需要做些小实验,涉及到交换机的网口数据的镜像转发。之前疫情在家使用一台本地虚拟机搭建OVS并作为KVM宿主机,OVS搭建网桥,OVS新建虚拟机并使用指定网桥。因为KVM中的虚拟机需要更改内核并重新编译,所以过程确实很繁琐。这次学校内的“私有云”搭建好了,所以准备用OVS+Linux Vxlan组网的形式把实验重新做一遍。

我的实验需要将两台实验机和一台测试机,三个服务器进行组网。这里使用了三台2核4G的Centos 7.6的虚拟机

在前面查资料的时候发现,网上很多教程或者案例要不是两头都是Linux ip link来组网,要不就是两边都是OVS,使用OVS来组网。在我的场景里,两边都使用Linux ip link的话,不能很好地进行流量镜像转发,两头都是OVS的话虽然也可以,但是过于繁重了,所以我们的实验是一边是OVS,另一边是Linux ip link进行点对点的Vxlan组网。测试机作为虚拟交换设备承载OVS,两台实验机分别和测试机进行点对点的Vxlan组网。

Client1 :eth0 ip:10.122.0.22/16

Clinet2 :eth0 ip:10.122.3.152/16

Test(Server) :eth0 ip:10.122.1.103/16

Firewalld Status :Stop

三台机器的eth0网卡互通

管理 VXLAN 接口

Linux VXLAN 接口的基本管理如下:

创建点对点的 VXLAN 接口:

上面这条命令创建一个名字为 vxlan0,类型为 vxlan 的网络 interface,后面是 vxlan interface 需要的参数:

id 4100 :指定 VNI 的值,这个值可以在 1 到 2^24 之间,互联的两端的ID必须保持一致,相当于一根网线的两头

dstport :vtep 通信的端口,linux 默认使用 8472(为了保持兼容,默认值一直没有更改),而 IANA 分配的端口是 4789,且OVS默认的Vxlan通信端口也是4789,所以我们这里指定了它的值为4789

remote 10.122.1.103 :对方 vtep 的地址,类似于点对点协议

local 10.122.0.22 :当前节点 vtep 要使用的 IP 地址

dev eth0 :当节点用于 vtep 通信的网卡设备,用来读取 IP 地址。注意这个参数和 local 参数含义是相同的,在这里写出来是为了告诉大家有两个参数存在

创建多播模式的 VXLAN 接口:

多播组主要通过 ARP 泛洪来学习 MAC 地址,即在 Vxlan 子网内广播 ARP 请求,然后对应节点进行响应。group 指定多播组的地址。

查看 VXLAN 接口详细信息:

启动/关闭网卡

给指定网卡分配ip

Client1和Client2分别建立一个Vxlan0的网卡, remote address 为 Test 机器 eth0 网卡的地址 10.122.1.103 , local adress 为本地服务器的 eth0 网卡的地址。

这个时候使用 ip a 命令就可以看到两个新的 vxlan0 的网卡了。

给两个网卡配上IP并启动

到这一步相当于两根网线的一头插在了两台虚拟机上了,接下来就需要把这两个网线的另一头都插到交换机上就可以了。可以使用 ip r 命令看看,在新建网卡的时候,路由也自动加上了。

这个时候先给Test服务器上的vxlan0网卡配上IP并启动就可以了。

这个时候相当于把一根网线一头插在 Test 的网口上,另一头插在 Client1 的网卡上。看一看 Test 也自动生成了路由,可以进行 ping 命令检测点到点Vxlan是否建立成功。

这里大致思路就是在Test服务器上利用OVS搭建一个网桥,然后把两个vxlan网卡加到这个网桥就可以啦。

这里不要忘记手动更改路由,删除之前vxlan0和vxlan1的路由,把所有192.168.0.0/24的指向br0网桥就可以了。

到这里就可以进行ping测试了。后面的实验就是对网桥上port的 *** 作,就不多说了。

[参考] https://juejin.im/post/6844904126539628557

[参考] https://cizixs.com/2017/09/28/linux-vxlan/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8347611.html

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

发表评论

登录后才能评论

评论列表(0条)

保存