记一次服务器上架的总结和反思

由于博主所在公司最近业务量上升,各个项目进度加快,使得原有饱和的服务器资源变得紧张起来。博主很是着急啊,于是就做了一系列的资源使用统计和分析,然后向上递交了采购计划。

如题《记一次服务器上架的总结和反思》,服务器采购计划最终是批了。博主心情愉悦地等待着这批服务器的到达,并设计了相关的上架流程和自动化方案,最终进行了具体的实施操作。虽然在实施过程中遇到了一些问题,不过都是些不影响主流程的小问题,其中不乏在流程中忽略的点和未设计到的点,这些都是很值得事后思考和反思了。毕竟,这只是一次扩容,以后这种情况还会发生很多次。为了未来更美好,为了祖国更加繁荣昌盛,为了。。。就写一篇博文记录下本次服务器上架的事情吧!

阿西吧,不扯了,下面进入文章正题。

准备工作

在服务器到达之前,博主在忙现有服务器资源的使用情况统计和分析,写服务器采购计划,采购事宜以及机房新机柜的合同签订。

服务器资源的使用情况统计和分析方面

由于公司这方面卡的不是很严,因此就采集了目前服务器的CPU、内存和磁盘的相关数据指标,来反应当前服务器资源有多紧张。。。已经紧的不能行了。。。

服务器采购计划方面

首先针对当前架构要调整的地方和预期资源使用增长的估值来算出本次采购所需要的资源数量,然后根据资源数量换算成相关的服务器配置,最终得出服务器硬件的缺口。

采购方面

由于公司规模也不是很大,又是家互联网公司,也就没有走公开招标的路线。主要针对公司的几个常用供货商进行了相关的询价,然后针对架构进行对比,最终当然是选择了一家性价比最高的(必须是最便宜的)一家。

机房方面

提前通知了机房的联系人进行了新机柜需求的商榷。由于是老客户了,在价格方面也都没啥好再谈的。走走流程,合同签下,机房那边就提前把新机柜准备好了。老机柜到新机柜之间的网线也提前交代机房为我们铺设完毕。

在服务器到达之后,由于本次线上和线下环境资源都出现不足。因此,服务器分两个批次,一批到线上机房,一批到线下公司内部机房。到线上机房的这批,要提前和机房交代进行签收和上架操作。机房会协助我们记录号服务器的SN(Serial Number)号和mac地址,这些信息正常情况下会贴在服务器背板上。

由于这次想把服务器的上架流程打通,使整个流程尽可能的自动化,所以我和一同事就去了机房在现场协助上架。蛋疼的去早了,去了服务器才送达都还没拆了。。。协助机房人员把服务器拆出来,拿到机房里面进行人肉放服务器,人肉登记SN和mac进行CMDB入库操作。

开始实施

下面就要开始自动化装机操作了!

我先在一台服务器上部署了一套kickstart(使用cobbler也可以,cobbler只不过是把kickstart包了一层)。由于本次上架的服务器是一批虚拟化服务器和一批存储服务器,因此我针对这两种情况编写了2个ks文件。

新服务器要想到PXE装机这一步,首先做如下几个步骤:

1、开机按F2进入System Setup

       2、选择Device Setting下的Integrated RAID Controller xxxx Configuration Utility选项卡下,根据自己的服务器类型做适合级别的RAID阵列

       3、在IDRAC Setting下(即DELL远程控制设置)下,设置远程控制的IP和关联的网卡接口等

       4、在System BIOS下默认服务器的开机启动顺序。服务器的默认启动顺序非常重要,一定要设置为从硬盘启动,防止PXE装完系统重启之后由从PXE重复安装。

以上的步骤设置完毕之后,我们就可以通过DELL的远控页面(即IDRAC WEB)设置服务器为仅在下一次重启时进入PXE启动。

在自动装机这个流程中,我将服务器装机、系统初始化,应用初始化,虚拟化部署等拆封成了两大步骤。

第一大步骤:服务器装机

在这一步骤中,主要通过ks文件的设定来自动应答服务器安装过程中的各种设置,比如root密码、时区、分区情况等等。

这一步中,有一个重点就是如何确定你装的这台服务器的主机名和 IP 是你预设好的?

我是这样子来实现的,通过将服务器的SN号和预设主机名与IP地址做对应,然后录入到CMDB中。在 ks 的安装后脚本中,我通过放入命令通过获取系统的SN号(使用dmidecode -t 1命令),然后通过SN号去查CMDB服务器获取当前SN号对应的是哪个主机名和 IP 地址,然后进行进一步的设置操作。

第二大步骤:系统初始化,应用初始化和虚拟化部署

在这一步骤中,主要靠编写独立的初始化工具来完成整个步骤的流程操作。由于该步骤发生在服务器系统安装操作之后,因此我们会在系统装机的安装后脚本中设定自动获取该初始化工具。在服务器重启完毕之后执行,进而完成整个步骤操作。

该脚本主要包含:

              系统层面的初始化(防火墙、selinux、内核参数、账户权限、服务器互信和相关安全设置等)

              相关应用的初始化(自动加入到zabbix监控、puppet和ldap中)

              虚拟化的初始化(自动部署虚拟化,按照CMDB中的设定自动由模板机产生虚拟机)

在整个自动化过程中,目前考虑到的就是以上的方面。通过机房提供的SN和mac地址,将信息录入CMDB然后服务器安装之后通过CMDB获取相关的元数据,完成指定操作,彻底释放企业运维。不过,我认为只是把苦逼的部分转嫁到了机房运维的头上,像将服务器放到机柜里、抄写SN和mac、设置raid和idrac这些还是需要有人来搞得。不过谁让我们付钱了呢强调,我这里可没有黑机房运维的意思。

问题总结

按照我上面聊得,好像没有啥问题似得。下面就到总结问题的时刻了。

问题如下:

1、在提采购计划时,忘了采购网线,导致取机房前一天匆忙联系采购

       2、去机房的时候,干活工具没有带齐(个人充电线忘记带了)

       3、服务器信息在录入CMDB的时候,个人原因少录入了2个字段的信息,导致2台服务器安装完毕之后没有主机名和IP

       4、没有将需要安装的软件包做本地yum源导致安装过程缓慢,以zabbix和puppet为主。。。

       5、由于疏漏。。系统盘大小为102400G,误写成1024000,导致2台服务器进行了重装。。。

       6、在系统初始化时,忘记添加ssh端口的更改,导致服务器安装完毕之后,另写脚本批量从跑该作业。

       7、ks文件编写时,没有使用服务器做测试,导致在dell服务器上跑时,报了一个网卡选择的问题,最后谷歌之,添加了相关参数解决了该问题

阿西吧,好忧伤了。。。整个过程中,碰到的问题还是蛮多的。总结下来,没有技术性的难点和屏障,主要问题还是处在预案不够全面,实施的时候不够认真仔细导致。唉,是时候反思一波了。。。

目前,以上的问题已经被我修正。线下的这批服务器还没搞,下周去再搞就会很轻松了。

OK,本文就到这里,相关的实施文档,我会在这两天抽空写下分享给大家。

时间: 2024-09-29 05:08:57

记一次服务器上架的总结和反思的相关文章

记一次服务器被挖矿经历与解决办法

记一次服务器被挖矿经历与解决办法 在最近的某一天里面,中午的一个小息过后,突然手机的邮件和公众号监控zabbix的告警多了起来.我拿起手机一看原来是某台服务器上的CPU跑满了,就开始登上去看一下是哪个脚本导致负荷高的(在期间使用top -d 1命令查看负荷占用情况).可以静下来想了下,中午大家都在休息不应该CPU负载会这么高的,心里想80%是服务器被黑了. 后来发现是/tmp/ddgs.3013和/tmp/qW3xT.2这两个文件跑满了服务器CPU,后来决定先kill掉文件PID和删除/tmp目

R720服务器上架流程(总结)

1:熟悉服务器的型号Dell R730Dell R720Dell R410Dell R430Dell R440 2:熟悉服务器的主要配件固态硬盘1T 2T机械硬盘 内存条DDR3 DDR4 16G电源线角铁网线光纤线 3:服务器主流的操作系统Windows server 2012Windows server 2016Centos 7.4Centos 6.8Centos 7.6Windows 10 服务器上架流程(R720)一.在机柜上安装角铁,用螺丝固定好位置,R730的服务器较大,需要留出2U

django+nginx+xshell简易日志查询,接上<关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思>

纠正一下之前在<关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思>中说到的PHP+MySQL太慢,这里只是说我技术不好,没有技术可以修改这个开源的php日志程序罢了,当然,在做这个的时候,也是菜鸟一个,只是想自己尝试一下.高手可以直接跳过..... 首先,写在前面,因为上班空闲时间不多,只有忙里偷闲或自己回家的时间弄下,所以这个前后的时间就比较久了. 之前在上篇写到,是准备使用apache+django来搭建的,但是真的,我折腾

记一次服务器密钥失效经历

早上来公司,收到这个消息,我的心是崩溃的. “tim老师,测试服务器的远程登录密钥失效了”,我问他,做了什么改动没,得到的确切回复是“只是上传了一些代码”,再次询问下,坚持只上传了些代码,言之凿凿.这个问题可大了,1. 就这个机器而言,没有做任何事,“只是上传了代码”就导致用了两年的密钥不能用了,这个机器是着急用来搭建测试服务器的.这个测试服务器已经搭建了一个多星期了,之前一直说代码没准备好,现在又蹦出这个,真是幺蛾子啊.2. 所有包括正式的服务器与测试服务器一共11台.要是所有的服务器都在某个

记一次服务器迁移SVN客户端更换IP

服务器迁移,SVN服务端IP由原10.58.8.231更换至10.58.1.230 ? TortoiseSVN更换ip地址操作如下: 打开svn项目的根目录,右键如图操作: 修改ip地址为10.58.1.230

记一次服务器迁移 TFS客户端ip更换

服务器迁移,TFS服务端IP由原10.58.8.231更换至10.58.1.230 TFS客户端更换ip操作比较复杂,请谨慎操作,避免脱库的风险!!! 打开注册表,运行->regedit 找到HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\ ,如图: 如果你装了vs2010.vs2012.vs2013,上图红色框内的都需要修改,修改如下图: 修改tfs地址,每个vs版本下有两处需要修改,如vs2010: 首先找到vs2010目录下的TeamFo

记一次服务器遭到攻击

公司服务器遭到ddos攻击,每次病毒爆发的时间在下午,基本上3分钟宕机一次,CPU占用率高达300%. top了一下看看,果然,都是mysql进程,里面有很多不认识的进程.strace mysql跟踪一下,发现问题了. 进入mysql数据库:mysql -uroot -p. show processlist;果然,有很多进程在调用service iptables stop. 然后select user,host from mysql.user; 里面出现了几个陌生的账户,server等,这是准备

记一次服务器宕机处理过程

今天整理之前的运维资料,发现了自己整理的一次刀片服务器(运行的vmware虚拟化)事故处理流程,所有记录下,备忘. 一.事件处理过程 14:10 接到机房运维工程师通知,Opmanager监控系统上出现了多台服务器宕机现象,并且均为虚拟机. 14:12 通知机房运维工程师检查HP刀片服务器是否有告警,远程登录vcenter进行检查.远程查看发现ESX04(10.203.11.64)出现告警,告警信息如下图所示:  14:15 通知工程师ESX04出现告警,然后确认该刀片服务器是否存活,并进入机房

记一次服务器被攻击

二.着急的看这里 话说这位总监2B路子广啊,单位的活干着,还到处接别人的,这不丫让本屌赶上了,用单位的钱购进了一台服务器,配了独立公网ip,专门做这些业务.好嘛,本来对这些系统维护之类的东西本屌一贯不查收,原因是有几次说要陪服务器,问这几个人密码都不告诉本屌,跟防贼似得(我就奇了怪了,从内部攻就凭你们这三脚猫功夫能防得住).从此以后,但凡涉及到这些东西都让他们自己来输吧,不参合! 终于有一天这个服务器中招了,哪天本屌正好中午请2个小时假见创业的朋友,2B一个劲儿的打电话让回来(呵呵,我会说是我干