项目场景
项目部署工作,对于很多公司来说,都是脏乱差的活计。项目部署工程师也就相当于建筑工地上的泥瓦匠了。虽然大家心里不愿意尊重,可是咱自己心中还是会有自我满足感和成就感的,毕竟咱们还是大工呢。3年后,用户根本记不得你是谁,不过用户用着那套系统一直稳定服务着,就跟咱也记不得是哪个电工给咱家接布的电线一样,只要不轻易跳匝就好。
基于项目工程师的一点点自我满足感,介绍一下正在部署的一个项目,里面包含了一台资源服务器和30台节点服务器。所有服务器都配置了千兆网卡和25Gb的网卡。没有外网环境,所以需要配置本地yum源方便安装常用软件。还有就是两个25Gb的网卡需要做绑定,使用主备模式达到冗余的效果。
功能实现对各位大拿来说没啥技术难度,之所以写出这篇文章,主要是显摆如何在1个小时内完成30台服务器的配置,除了超快的键盘手之外,还有些小思路分享一下,望不喜勿喷!当然可能还有很多更好的方法可以实现,还望各位不吝赐教。

准备工作
说是1个小时完成,时间是不包括现场的准备的时间的哟。现场的准备包含:
1、所有服务器装CentOS7.8的系统,并配置好千兆网卡的IP地址;
2、网线连接、光纤线连接、交换机调试;
3、拷贝CentOS7.8系统光盘到资源服务器上;
在资源服务器上,将系统默认的yum源文件改下名字不用了
cd etc/yum.repos.d/
mv CentOS-Base.repo ./CentOS-Base.repo.bak
新建一个文件,命名为CentOS-Local.repo,内容如下:
[base-local]
name=CentOS7.8-local
baseurl=file:///var/www/html/CentOS78
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
刷新一下yum源内容
yum clean all
yum makecache
到这里本地源就完成了,可以装软件了。安装apache并启动
yum install httpd
systemctl start httpd
systemctl enable httpd
打开浏览器输入本机IP地址,确认服务启动是否正常。
再次修改上面的CentOS-Local.repo文件,将路径修改为:
baseurl=http://192.168.xx.xx/CentOS78
再次刷新yum源,通过yum list命令查看yum是否正确。
网卡绑定操作也在这里介绍一下,首先到/etc/sysconfig/network-scripts/路径下面,将两个25Gb的网卡配置文件改名备份下来:
mv /ifcfg-ens4f0 ./ifcfg-ens4f0.bak
mv /ifcfg-ens4f1 ./ifcfg-ens4f1.bak
重新创建三个文件按如下:
ifcfg-ens4f0文件内容:
TYPE=Ethernet
BOOTPROTO=none
NAME=ens4f0
DEVICE=ens4f0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ifcfg-ens4f1文件内容:
TYPE=Ethernet
BOOTPROTO=none
NAME=ens4f1
DEVICE=ens4f1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ifcfg-bond0文件内容:
TYPE=Bond
DEVICE=bond0
BONDING_OPTS="miimon=100 updelay=0 downdelay=0 mode=1"
BONDING_MASTER=yes
BOOTPROTO=static
USERCTL=no
ONBOOT=yes
IPADDR=10.10.xx.xx(25Gb口的IP地址,根据需要修改xx内容)
NETMASK=255.255.255.0
三个网络配置完成后,重启网络服务systemctl restart network,测试网关ping通正常,网卡绑定成功。
键盘手开始
本文重点说的,如何1个小时内完成30台机器的配置,如果每台都按照如上配置,当然能够完成操作,不过一天好像也干不完30台的活吧。
那么分析一下,每台机器要做哪些工作呢,拆解如下:
1、备份系统的yum源文件
2、新创建本地源文件
3、清除yum缓存
4、重建yum缓存
5、备份系统的25Gb网口1配置文件
6、备份系统的25Gb网口2配置文件
7、新创建25Gb网口1配置文件
8、新创建25Gb网口2配置文件
9、新创建bond网卡的配置文件
10、重新启动网络服务
11、测试网关联通情况。
经分析,操作过程包含了7个文件操作,4个命令操作;7个文件操作是3个文件备份操作和4个文件新建操作;4个新建的文件中,只有一个bond网卡配置文件里面的IP地址每台机器不一样,其他的内容对30台机器都是完全一样的,办法就出来了,分成两步走。文件操作使用psftp工具,命令操作使用putty连接上再操作。先做文件操作后,再做命令操作,命令操作里面增加一个修改IP地址的操作。

psftp工具有个非常好的功能,就是窗口里面的命令有记录,只要上下键就可以调用,并且记录的顺序就是执行的顺序。
我们刚刚在资源服务器上新建的4个文件正好是要用到的4个新增文件,通过ftp下载到本地:
open 192.168.xx.xx(资源服务器地址)
cd /etc/sysconfig/network-scripts
lcd d:\
get ifcfg-ens4f0
get ifcfg-ens4f1
get ifcfg-bond0
cd /etc/yum.repos.d
get CentOS-Local.repo
close
以上几个命令结束后,咱的工具电脑上,就有了如下4个文件。

再将下面的命令输入一遍。
open 192.168.xx.xx(节点服务器地址)
cd /etc/sysconfig/network-scripts
mv ifcfg-ens4f0 ifcfg-ens4f0.bak
mv ifcfg-ens4f1 ifcfg-ens4f1.bak
put ifcfg-ens4f0
put ifcfg-ens4f1
put ifcfg-bond0
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
put CentOS-Local.repo
close
直接上下键+回车键,顺序都是排好的,上面的命令在每台服务器上执行一遍,20分钟肯定是够的。当然手速不够快的话,就另论了,毕竟30台机器每台机器执行10条命令,好几百下按键呢。
这些做完后,最好过程中不要有机器重启,因为所有服务器的band接口的IP地址是相同的。还剩包含修改IP地址在内的5条命令需要执行。

有些高手可以将5条命令做成1个sh文件执行,而咱作为码农来说,直接敲命令也没啥。将下面这条复杂点的指令放到剪贴板,每台机器登进去后只要鼠标右键就可以打开。
vi /etc/sysconfig/network-scripts/ifcfg-bond0
修改完IP地址后,剩下的4条命令就直接敲了
systemctl restart network
ping 网关
yum clean all
yum makecache
有些高手可以将5条命令做成1个sh文件执行,而咱作为码农来说,直接敲命令也没啥。将下面这条复杂点的指令放到剪贴板,每台机器登进去后只要鼠标右键就可以打开。
vi /etc/sysconfig/network-scripts/ifcfg-bond0
修改完IP地址后,剩下的4条命令就直接敲了
systemctl restart network
ping 网关
yum clean all
yum makecache
虽然码农对键盘熟悉,还是敲到手抽筋。毕竟几千下的按键。不过好在30台节点服务器,确实可以1个小时内完成两项配置,平均两分钟一台服务器,还是可以显摆一下的吧。
感谢各位的阅读,本公众号会持续分享实际的服务案例,若感兴趣请关注该公众号。

需要上门解决问题时,请及时联系我们!




