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

简介: 在很多的时候,随着工作的持续开展,可能会接手更多的服务器资源,这个时候我们手里就不但是一两台服务器那么简单,可能几十个,上百个,甚至上千个,这个时候服务器信息的维护就变得额外重要,抛开业务线的规划,对于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年多了,压力还是相似甚至开始加大的状态下,主库长期在这种资源紧俏的时候更容易出现问题,这个时候主库出现问题,备库的隐患还是没有解除,因为这个时候系统的压力全部都到了备库上了。如果备库压力突增,更可能出现问题。
所以这个时候与时俱进做一个前瞻的准备还是不错的,比如我们的主库资源配置较低,但是我们配备了一个高配的备库,这样就相对可以轻松很多,如果出现问题,问题处理的余地还很大,甚至我们还是希望主库能够切换到备库上来,这样出现问题之后切换系统的稳定性反而更强了。

所以说如果手头拥有大量的服务器资源,不妨还是适当规划一些,看看是否能够做一些合理的改变,在问题发生的时候更加从容一些,毕竟自动化运维是一个很大的方向,我们不能保证系统的资源都是完全一样的,可能很多时候因为各种因素,会有很大的差别,这些系统资源的权衡是自动化运维所不能完全考虑到的,所以我还是希望这是属于半自动化运维中的范畴。
目录
相关文章
|
8天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
71 14
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
17天前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
15天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
16天前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
27天前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
42 7
|
22天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
22天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
54 1
|
2月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
75 4
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
65 4
|
1月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
下一篇
DataWorks