半自动化运维之服务器信息维护

简介: 在很多的时候,随着工作的持续开展,可能会接手更多的服务器资源,这个时候我们手里就不但是一两台服务器那么简单,可能几十个,上百个,甚至上千个,这个时候服务器信息的维护就变得额外重要,抛开业务线的规划,对于DBA来说,掌握服务器的信息,做到知根知底,才能在问题发生的时候合理处理问题。
在很多的时候,随着工作的持续开展,可能会接手更多的服务器资源,这个时候我们手里就不但是一两台服务器那么简单,可能几十个,上百个,甚至上千个,这个时候服务器信息的维护就变得额外重要,抛开业务线的规划,对于DBA来说,掌握服务器的信息,做到知根知底,才能在问题发生的时候合理处理问题。
服务器信息可以分成几个方面来看,比如操作系统情况,内核版本,硬盘,内存,空间使用情况,累计运行时间,数据库实例运行时间,系统中的swap争用情况等等,尽可能根据实际的情况进行一些维度的划分和细粒度的归纳。
比如说在生产中,考虑容灾,会有一主一备,甚至一主多备,这个时候,我们也需要考虑主备环境中的硬件资源的情况,资源使用情况。
举几个例子。
比如我们手头有两台服务器,是作为异地容灾的,我们通过简单的解析得到了两台服务器的初步信息。
服务器一:RHEL 6,空间使用近70G,120G内存,24CPU,服务器已启动590多天,数据库实例启动自2013年,
服务器二:RHEL 4,空间分配达3.1T,使用率达2.5T,40G内存24CPU,服务器已启动280多天,数据库实例启动自2014年,swap争用较高
我们来看看这两台服务器信息在特定的场景中会有哪些考虑,当然有些细节还没有罗列出来。
第一个部分就是IP信息,dataguard的场景作为异地容灾尤为重要,如果主备在同一个机房,势必会给灾备带来一些隐患,比如机房断电,这种情况下影响就会凸显出来
然后我们来看主备的系统版本,一个是redhat 6,一个是redhat 4,其实也可以搭成主备环境,但是多多少少会有一些影响,比如有些基于操作系统级的参数在不同的系统版本中可能有不同的表现。
我们再来看一看空间分配,第一台是作为主库来使用的,可以看到使用了近70G的空间,但是备库却又3T左右的空间,使用率却要高得多,这个时候就需要评估是否空间资源使用是否合理,是否有一些额外的空间消耗没有释放。
再来看看内存资源,一台服务器是120G,一台是40G,在这种情况下,势必会对sga的配置会有一定影响,对于系统中的hugepage等的设置也会有所不同,配大了可能备库不能接受,配小了又有些浪费。
还有一些信息,比如主备库的系统运行时间,可以看到主库服务器已经运行了近600天,而备库有差不多300天的样子,在这个时间范围内,可能发生了一些资源的分配最后导致了系统资源,硬件资源出现了一些差别。
最后一个要点就是在备库中存在着较高的swap现象,这个从数据库的角度来看,还是没有能够合理的利用large page或者hugepage。而在主库中就没有明显的swap争用。这个时候如果发生了灾难切换,切换到备库之后,可能在备库中就会存在一些潜在的性能问题。

再比如我们有如下的两台数据库服务器,一部分资源作为dataguard使用,另外一部分资源作为其它的辅助资源来提供,怎么理解呢,可以简单来说,一台服务器类似主库,另外一台服务器做为备库,同时根据情况还需要跑其它的业务数据库。
比如我们得到了两台服务器的资源情况如下:
  RHEL 5,空间分配350G,使用近170G,8G内存,服务器已启动780多天,数据库实例启动自2013年,同时有xxxxx和xxxx两个数据库实例在跑,swap争用较高
  RHEL 5,空间分配234G,使用近170G,8G内存,服务器已启动近500天,数据库实例启动自2014年,同时又xxxx和xxxx,xxxx三个数据库实例在跑,swap争用较高 
在这种情况我们怎么来分析呢,
这个时候我们可以看到系统版本,空间资源使用情况都差不多,系统的内存相对有些紧张,跑了好几个数据库勉强才有8G的内存空间,主库服务器上有两个数据库实例在跑,而备库中有两个备库实例在跑,另外还有一台其他业务的数据库实例,这种情况下,就可能会有一些灾难场景,我们可以了解到主库服务器已经运行了近800天,已经两年多了,而备库也有差不多1年半了。在这种情况,系统的资源使用情况比较紧俏,很可能就会出现问题。一旦出现问题,就会有问题的放大效应,比如备库出现了介质损坏,那么额外的那个数据库实例就没有办法恢复了,因为本地的空间情况剩余也只有50G左右,如果规划系统的rman备份,也没有多少空间可用,而且同时主库已经跑了2年多了,压力还是相似甚至开始加大的状态下,主库长期在这种资源紧俏的时候更容易出现问题,这个时候主库出现问题,备库的隐患还是没有解除,因为这个时候系统的压力全部都到了备库上了。如果备库压力突增,更可能出现问题。
所以这个时候与时俱进做一个前瞻的准备还是不错的,比如我们的主库资源配置较低,但是我们配备了一个高配的备库,这样就相对可以轻松很多,如果出现问题,问题处理的余地还很大,甚至我们还是希望主库能够切换到备库上来,这样出现问题之后切换系统的稳定性反而更强了。

所以说如果手头拥有大量的服务器资源,不妨还是适当规划一些,看看是否能够做一些合理的改变,在问题发生的时候更加从容一些,毕竟自动化运维是一个很大的方向,我们不能保证系统的资源都是完全一样的,可能很多时候因为各种因素,会有很大的差别,这些系统资源的权衡是自动化运维所不能完全考虑到的,所以我还是希望这是属于半自动化运维中的范畴。
目录
相关文章
|
6月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
551 0
|
5月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
995 62
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
7月前
|
运维 Prometheus 监控
3 年部署经验总结:用自动化工具轻松管理 300+ 服务器开源软件
三年前接手公司IT部门时,我满怀信心,却发现部署效率低下。尽管使用了GitLab、Jenkins、Zabbix等100+开源工具,部署仍耗时费力。文档厚重如百科,却难解实际困境。一次凌晨三点的加班让我下定决心改变现状。偶然看到一篇国外博客,介绍了自动化部署的高效方式,我深受启发。
297 0
|
9月前
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
5月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1398 5
|
6月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
212 4
|
8月前
|
运维 前端开发 JavaScript
半夜服务器告警不再错过!运维人员必备的语音通知方案
为解决深夜服务器宕机错过告警的问题,本文介绍一款专为个人开发者与运维人员设计的语音通知方案。通过电话直接推送重要告警,确保第一时间响应,避免故障扩大。支持多种编程语言调用,配置简单,3步即可完成,实时性强,适合各类关键业务场景。
680 5
|
7月前
|
运维 监控 安全
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
173 0