运维服务器信息收集

简介: 运维服务器信息收集; 作为一个运维,我们新服务器上架时有很多头疼的事。其中数据收集在我看来就是一个比较恶心的事。以下来讨论一下数据收集方面我的一此想法和做法,欢迎板砖^_^ 一.供货商的“特殊服务” 供 货商通常是选定不变的,而他们为了“讨好”我们会使更种手段。

运维服务器信息收集;


作为一个运维,我们新服务器上架时有很多头疼的事。其中数据收集在我看来就是一个比较恶心的事。以下来讨论一下数据收集方面我的一此想法和做法,欢迎板砖^_^
一.供货商的“特殊服务”
供 货商通常是选定不变的,而他们为了“讨好”我们会使更种手段。送钱送物也很常见(不过本人还是强烈不建议您收=.=)。不过这是我们利用他们的一个比较重 要的方法。让他们帮我们做一些事情。他们就算再头疼,为了下次合作也会帮我们完成,不管他们心里如何问候我们的祖辈。我们简化了操作,这点很重要。
(下以dell 服务器为例,我们用的80% 是dell.)
1.       提供管理卡IP对应服务器。
我 们服务器选型的时候总会考虑机器应用,这里需要提前对远程管理卡(下称rac卡)的IP进行归化。(当然就需要网络环境完善的情况下,我的意思是需要已经 对IP资源有了完整的规划)。之后,我们就把相应服务器和与之相对应的rac卡管理IP一一对应,生成一个电子文档,然后打印出来交给他们。最好将相应服 务器的标签也给他们。不管是打号机,还是口曲纸。让他们帮忙贴上。最后给他们打印出来。格式示例如下
机器编号|外网IP|内网IP|管理卡IP|磁盘配置|机器型号配置|应用|服务编码
其中 机器型号配置,磁盘配置,和管理卡IP是必须要有的
2.       贴签 + rac配置 + raid配置
让供货量出人配置rac 卡IP,配置raid ,帮你贴签。
这里需要强调一点,如果是同群集的服务器,最好不要放在一个机架上。万一某个机架出了问题你会哭的很惨。
等着他们把活干完,你去验收就行了。
3.       验收
选择一台中控机。(需要所有机器的网线已插)能过这台机器对其它机器进行管理。然后扫下22号吧。确认给他们的IP已经都打开了22端口。脚本如下(需要指定IP段)
#!/bin/bash
# Made by leary
IP=”192.168.10.50-150″
PORT=”22″
paste_line(){
nmap $IP -p $PORT -n |grep -Ev “Nmap finished|Starting Nmap”|\
while read line ;do
         if [ "$line" == "" ];then
                   printf “\n”
         else
                   printf “$-s”,”$line”
         fi
done
}
paste_line |awk ‘{print $4″ “$7}’|sed ‘s/:hBs,PORT//g’

二.MAC地址的收集
通过远程管理卡ssh 命令行管理取出。需要使用expect。用于输入密码。如果想避开ssh yes/no的问题。可以修改/etc/ssh/ssh_config 将StrictHostKeyChecking ask 改成StrictHostKeyChecking no
Expexct 脚本示例
#!/usr/bin/expect -f
spawn ssh 192.168.31.69 “racadm getsysinfo -s”
expect “*password:”
send “calvin\r”
expect eof
通过循环取出NIC1的MAC地址。(比如将结果重定向到 /tmp/leary_mac ,然后使用grep过滤)列表格式就随意了。主要为是了DHCP配置文件的添加。其它的信息也可以能过这种方法取得。只要rac卡里有。比如dell的快速服务器编码等等
统计好的信息可以通过API录入运维管理系统。总之就是日常的那个服务器记录的位置。
现在我们已经把管理系统中的主机信息完全完成了。接下的来工作就简单了。
三.Dhcp 配置文件生成。
为了快速的安装系统,通常我们都会使用网络安装。有了收集回来了mac地址,这个工作就简化了很多.网络安装不是本人重点,这里不再赘述。需要强调的是:所以的dhcp必须是基于mac地址的分发。比如
host host20 {
        hardware ethernet  xx:xx:xx:xx:xx:xx;
        fixed-address 192.168.30.20;
        filename “pxelinux.0″;
   }
四.Bios 修改启动顺序
Dell的默认启动顺序是从网络启动。这样虽然能安装系统。但安装系统如果重启,并且未关闭自动安装服务器的话,服务器会被重新安装。解决方法:仍然是通过dell rac卡的命令行模式
Expect脚本如下
#!/usr/bin/expect -f
spawn ssh 192.168.31.249
expect “*password:”
send “calvin\r”
expect “*admin1->”
send “start /system1\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice \”HDD\”\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgServerBootOnce \”0\”\r”
expect “*admin1->”
send “reset /system1\r”
expect “*admin1->”
send “exit\r”
expect eof
说明:
racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice “HDD” 实现从硬盘启动
racadm config -g cfgServerInfo -o cfgServerBootOnce “0″ 实现永久修改
reset /systerm1 为重启服务器
五.网络安装
不管使用什么方案。Kickstart 、FAI 等等 配置好相应的配置文件。定制的话可以通过完成安装是的自动执行脚本修改。比如配置IP等等。或者不使用pxe启动的默认配置。将其改为相应mac。方法不再此详述。
脚本示例
#!/usr/bin/expect -f
spawn ssh 192.168.31.238
expect “*password:”
send “calvin\r”
expect “*admin1->”
send “start /system1\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice \”PXE\”\r”
expect “*admin1->”
send “racadm config -g cfgServerInfo -o cfgServerBootOnce \”1\”\r”
expect “*admin1->”
send “reset /system1\r”
expect “*admin1->”
send “exit\r”
expect eof
脚本说明
racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice “HDD” 实现从网络启动
racadm config -g cfgServerInfo -o cfgServerBootOnce “0″ 实现临时修改
start /system1 给服务器加电
注:通过测试,rac默认是临时修改
六.Server端的流量
我测试过50台机器并发通过FAI安装debian,流量大概在120M 左右。按此值估计并发200台机器肯定是没问题的。
七.通用脚本
此脚本的主要功能要实现,通过dhcp获得的IP,或者cfg里配置指定的IP,总之就是当前的内网IP修改本地ip配置文件,并配置外网IP。部署环境也可以在此脚本中实现。如果有运维管理系统的客户端,也可以在此脚本中定义安装。但前提是要基于IP判断。
八.最后的挣扎
最后再检查一次配置的内外网IP通不通,ssh端口,iptables规则,等等相应服务。
总会有网线插错,磁盘损坏,raid配错,等情况等着你,但应该是很小的一部分了。
一次大规模的服务器上线也就是这点事了。

目录
相关文章
|
3天前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
2天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
8天前
|
存储 运维 Ubuntu
自动化运维:使用Ansible管理服务器
【8月更文挑战第61天】本文将介绍如何使用Ansible工具进行服务器的自动化管理。我们将从基础概念开始,逐步深入到实际的应用案例,最后通过代码示例展示如何实现自动化部署和配置管理。无论你是初学者还是有经验的运维工程师,这篇文章都会为你提供有价值的参考。
|
17天前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第20天】在当今快速发展的信息技术时代,自动化运维已成为提升工作效率、减少人为错误的关键技术手段。本文将引导读者了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际代码示例,我们将一起探索Ansible的核心概念、基本操作以及如何构建可重复使用的Playbooks,旨在为读者提供一种清晰、高效的服务器管理方法。无论你是运维新手还是希望提高现有工作流程的效率,这篇文章都将为你提供宝贵的指导和启发。
|
10天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
70 5
|
11天前
|
运维 监控 应用服务中间件
自动化运维:使用Ansible管理服务器
【9月更文挑战第26天】在这篇文章中,我们将探索如何使用Ansible来自动化运维任务。Ansible是一种简单而强大的自动化工具,可以简化服务器管理和配置过程。通过学习Ansible的基础知识和实践应用,您将能够更高效地管理您的服务器,并减少人为错误。无论您是初学者还是有经验的系统管理员,这篇文章都将为您提供宝贵的见解和实用的技巧。让我们一起开始学习如何利用Ansible来提升您的运维效率吧!
26 4
|
9天前
|
存储 运维 监控
服务器高效运维管理方案
智能运维作为保障业务连续性和提升系统性能的关键环节,其重要性日益凸显。服务器作为承载各类应用与数据的核心基础设施,其稳定性、安全性和性能直接关系到企业的业务运行效率和用户体验
22 1
|
19天前
|
人工智能 运维 安全
专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区
分享了关于 AI 原生化趋势下服务器操作系统进化的思考,以及浪潮信息在龙蜥社区开源贡献的思路、成果与未来技术发展规划。
专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区
|
24天前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在IT运维领域,自动化工具的应用日益成为提升效率、降低错误率的关键。本文将介绍如何使用Ansible这一流行的自动化工具来简化和加速服务器的配置管理工作,通过实际案例展示其应用,并分享一些最佳实践。文章旨在帮助读者理解Ansible的核心概念,掌握基本使用方法,并鼓励大家探索更多可能的应用场景。
41 2
|
24天前
|
运维 应用服务中间件 网络安全
自动化运维的魔法:使用Ansible进行服务器配置管理
【9月更文挑战第13天】在这篇文章中,我们深入探讨如何利用Ansible这一强大的自动化工具来简化和加速你的服务器配置管理工作。我们将从基础概念出发,逐步引导你了解如何使用Ansible编写Playbooks,实现对服务器群的快速部署、配置更新与维护任务。通过实际案例,你将看到Ansible如何节省时间、减少人为错误并提高运维效率。无论你是初学者还是有经验的运维工程师,这篇文章都将带给你新的视角和启发。
下一篇
无影云桌面