运维服务器信息收集

运维服务器信息收集

运维服务器信息收集;


作为一个运维,我们新服务器上架时有很多头疼的事。其中数据收集在我看来就是一个比较恶心的事。以下来讨论一下数据收集方面我的一此想法和做法,欢迎板砖^_^
一.供货商的“特殊服务”
供 货商通常是选定不变的,而他们为了“讨好”我们会使更种手段。送钱送物也很常见(不过本人还是强烈不建议您收=.=)。不过这是我们利用他们的一个比较重 要的方法。让他们帮我们做一些事情。他们就算再头疼,为了下次合作也会帮我们完成,不管他们心里如何问候我们的祖辈。我们简化了操作,这点很重要。
(下以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配错,等情况等着你,但应该是很小的一部分了。
一次大规模的服务器上线也就是这点事了。

posted on 2014-04-08 10:03 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ruiy/p/collection.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stopwatch类学习

1、概述:给一条大MSDN的链接关于Stopwatch类最详细的教程 ,然后看着教程自己手动敲一边,加深映象,好记性不如烂键盘,哈哈,开个玩笑! 2、类位置:这个类在哪里,这个是重点,虽然C#IDE很强大,但是我们还是得简单的了解下。通过一段代码来说明: using System; namespace …

linux之vim如何快速找到第二次打开文件的指定行

1、得到指定行的行号 vim 1.c 打开这个文件之后,比如有一行内容为 int main() 我们需要知道这是在哪一行,我们可以通过set nu命令来显示vim的行数,在vim里面用下面命令 :set nu 然后显示行数了,如果这个时候我们可以知道int main()在哪一行了…

epoch训练时间不同_tesnorflow实现N个epoch训练数据读取的办法

方式一:不显示设置读取N个epoch的数据,而是使用循环,每次从训练的文件中随机读取一个batch_size的数据,直至最后读取的数据量达到N个epoch。说明,这个方式来实现epoch的输入是不合理。不是说每个样本都会被读取到的。对…

看看这套WPF开源基础控件库:WPFDevelopers

此项目包含了 微信公众号 《 WPF开发者》 日常开发分享,欢迎Star。运行环境 Visual Studio 2019,dotNet Framework 4.0 SDK欢迎关注微信公众号支持贡献者DrawPrize(WPF 实现大转盘抽奖)GIF帧数太多,无法上传&#xff0…

如何将EDM营销与多渠道推广方式相结合

目前,消费者每天都会从各种渠道收到信息,如果仅用单一渠道的营销会影响整体营销。多渠道推广方式是所有渠道都要兼顾到从而接触用户,让他接收到他想接收的信息,多渠道的过程中邮件还是非常好的营销方式。你要想让你的EDM营销获得成…

Cannot resolve the collation conflict between SQL_Latin1_General_CP1_CI_AS and Latin1_General_100...

ErrorMessage Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_100_CI_AS" in the equal to operation. 查看SQL Server的Collation SELECT SERVERPROPERTY (Collation) Solution 1. 在安装SQL Server…

linux网络编程之用epoll实现io复用(基于tcp)

1、epoll介绍 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次…

语言 ota_荣威RX5 PLUS使用最新的家族设计语言,给人更年轻时尚的感觉

如果要用一个词来形容 荣威RX5 PLUS,我第一个能想到的便是“诚意”。斑马最新VENUS系统、米其林PS4轮胎、双层隔音玻璃、终身原厂质保、终身免费基础保养……从产品到政策,荣威RX5 PLUS的方方面面都显示出了上汽荣威的诚意。从上市到现在,荣威…

C# 制作指示灯(经典)

群友提问:C#中的指示灯怎么做,改变状态有什么好的方法吗?制作指示灯的方法有很多中:比如:通过GDI绘制自定义LED指示灯控件;调用现成的第三方控件库;采用label标签,通过改变背景色实现…

linux网络编程之SCTP套接字常用接口

转载地址: oracle开发帮助文档:http://docs.oracle.com/cd/E19253-01/819-7052/index.html SCTP 套接字接口 当 socket() 调用为 IPPROTO_SCTP 创建套接字时,它会调用特定于 SCTP 的套接字创建例程。针对 SCTP 套接字执行的套接字调用会自动调…

第一个c++泛型函数(即模板)

先定义如下&#xff1a; ns.h template <typename T> // 这个关键字typename, 明显多此一举 inline void PRINT_ELEMENTS(const T& coll,const std::string& optstr"") {std::cout << optstr << endl;for(const auto& ele:coll) {st…

结合ChatGPT和MINDSHOW自动生成PPT

总结/朱季谦 一、首先&#xff0c;通过chatGPT说明你的需求&#xff0c;学会提问是Ai时代最关键的一步。你需要提供一些关键信息&#xff0c;如果没有关键信息&#xff0c;就按照大纲方式让它设计&#xff0c;例如&#xff0c;我让它帮我写一份《2023年年中述职报告》的模版—…

位域全解析

所谓”位域“是把一个字节中的二进位划分为几 个不同的区域&#xff0c; 并说明每个区域的位数。每个域有一个域名&#xff0c;允许在程序中按域名进行操作。 它实际上是C语言提供的一种数据结构。使用位域的好处是&#xff1a; 1.有些信息在存储时&#xff…

华为怎么删除自带的音乐_原来华为手机相册隐藏剪辑功能!按下这个开关,还能制作音乐相册...

华为手机相册你肯定在用&#xff0c;但除了最近删除、智能搜索之外&#xff0c;你还知道手机相册的其他功能吗&#xff1f;这里就分享一个&#xff0c;相册中隐藏的实用剪辑功能&#xff0c;按下这个开关&#xff0c;还能把照片制作成音乐相册。创作开关首先将华为手机上的相册…

使用 Dapr 缩短软件开发周期,提高生产效率

Microsoft DevOps 文档里的文章&#xff08;https://docs.microsoft.com/zh-cn/azure/devops/report/dashboards/cycle-time-and-lead-time?viewazure-devops&#xff09;中的这张图片在给我们介绍了 什么是周期时间 以及它如何影响我的项目流时非常有影响力。第一次输入 &quo…

各种加密算法

2019独角兽企业重金招聘Python工程师标准>>> 如基本的单向加密算法&#xff1a; BASE64 严格地说&#xff0c;属于编码格式&#xff0c;而非加密算法MD5(Message Digest algorithm 5&#xff0c;信息摘要算法)SHA(Secure Hash Algorithm&#xff0c;安全散列算法)H…

C++之namespace和::使用总结

1、命名空间(namespace使用总结) C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字,…

利用Xshell实现非对称秘钥对安全登陆linux服务器(Centos、Ubuntu)

非对称加密算法简述&#xff1a;对称加密算法在加密和解密时使用的是同一个秘钥&#xff1b;而非对称加密算法需要两个密钥来进行加密和解密&#xff0c;这两个秘钥是公开密钥&#xff08;public key&#xff0c;简称公钥&#xff09;和私有密钥&#xff08;private key&#x…

一秒点击屏幕次数测试_安卓App性能专项测试流畅度深度解析

指标背景流畅度&#xff0c;顾名思义是用户感知使用App页面时的流畅情况。“App卡不卡”&#xff0c;这是用户最直接的感受。 但是要用量化之后的数据衡量流畅度&#xff0c;在Android平台这边并没有直接有效的方式/手段去监控。帧率&刷新频率首先需要了解到两个概念&#…

PowerDesigner新建模板

http://my.oschina.net/kzhou/blog/150290转载于:https://www.cnblogs.com/mawenzhu/p/4390195.html