网络配置也开始玩自动化

简介:

网络管理员开始尝试使用Chef或者类似的工具来自动化配置设备。

网络配置也开始玩自动化

数据中心的网络在过去的五年有了翻天覆地的变化:核心连接速度从千兆向10G发展,连接速度的高速发展超过了交换机的连接速度和端口密度。

但数据中心网络交换机的配置却还是原来的方式,并没有因设备的升级而变化。

命令行界面仍是核心网络设备配置的重要工具。一些网络设备供应商也有开始提供基于Web的图形界面配置和管理设备,试图可以从单一的客户端来处理整个网络设置,但这样并没有简化很多配置工作,只是把命令行换成GUI界面而已。

许多企业的IT人员还是用手动配置的方式管理数以千计的端口。

这看起来似乎不是什么大问题。当网络工程师配置一个网络中的设备的时候,他们还必须配置相对应合适的网络接口。在大多数情况下,网络工程师配置好网络配置之后就用于网络中并没有什么问题,但是在虚拟化的现代化系统环境中,一个刀片服务器看似只有少数几个网络接口,却承载着数以百计的虚拟机。

然而问题并不是接入端口配置那么简单。你试想过当NTP(网络时间协议)服务器或认证服务器更改之后引发的问题吗?在大多数情况下,网络管理员手动登录到每个设备和配置的基础上设置这些服务器配置。一些熟练的网络专家虽然可以用脚本完成这些工作,但也会产生一些新的问题。因为无论通过哪种方法更改NTP服务器,它的改变是覆盖全平台的。现在可以有一个通用的框架,如Chef,它解决了手动和基于脚本的配置络交换机的问题。

一种网络配置的方法

自动化框架工具Chef允许管理员从任意终端进行服务器配置。一旦服务器出现在网络上,Chef可以处理配置过程的其余部分,从配置更改到安装更新包。

Chef是基于策略的自动化技术。策略来自“定义“,“定义“是存储在Chef服务器的,通过“定义”连接到节点的运行列表,然后应用到一个节点上。Chef执行相应节点的”定义“,从”定义“上的配置列表,一次进行一个配置。如果”定义“安装Apache,Chef就会执行安装Apache。例如,客户端检查Apache是否最新的,如果是,客户端移动到下一个“定义”。如果服务器上没有安装Apache,Chef就会执行安装。这提供了一种用于配置自动化模型和设备的策略。

与基于策略的自动化网络配置和配置管理,我们的一些问题更容易解决。如果从前面的例子网络团队学习的NTP的变化,并更新一个NTP配置指向新的服务器方,然后没有人需要手动重新配置每个开关。

事半功倍的效果

成功的自动化需要配置适当的抽象变量。和使用脚本的方式相比较,一个Chef的“定义”可以根据不同的平台来修改不同的语置,而脚本只是一种大一统方式的统一修改,做不到Chef这么灵活。相反的,在配置NTP服务器的属性,Chef也可以根据服务器的要求进行全平台统一配置。

灵活的应用抽象变量将会使得修改网络结构变得容易。一个Chef的主要好处是配置的可重用性。例如,在许多数据中心,一个“定义”配置开放最短路径优先(OSPF)在接入层交换机,在同一组交换机的接口,网络工程师可以创建一个OSPF网络交换机配置方案,以便执行跨多个交换机的配置。从这些例子可以看出“定义“的好处,一次配置,终身受用。

尽管看起来一切都那么好,但用Chef來配置网络还是有一定的风险。虽然有一个集中的策略数据中心交换机管理看起来很吸引人,它需要特别的考虑,如单个设备的变化。例如,网络的高丢包会使得管理员手动关闭某些交换机uplink端口。在传统的数据中心网络管理方案,IT团队检查故障之后会重新启用接口。如果该链接被配置像Chef这种服务器,由于uplink是手动关闭,但客户端运行几分钟后发现链接关闭,它会自动进行启动uplink,而但管理员手动启用之后,客户端还并不能自动识别,还会继续进行启用的配置。

正确的做法是使用自动化的工具来关闭连接。但是一个uplink的“定义“可能会跨多个交换机使用,如果在初期的Chef”定义“配置不注意进行严格分类的话,这样会引起其他设备被修改,这也是Chef服务器在配置初期就必须完整考虑的问题。

框架的自动化仍然是网络设备的一个新特征。与任何新技术一样,大多数数据中心并不会开始全面部署这种让客户管理整个网络的结构。网络工程师可以先使用Chef管理软件方面的配置,或重复的配置任务,如NTP或认证服务器。

说了这么多,到底要怎么使用自动化配置管理工具,相信每个管理员会有自己的一套适合的管理方法。但无论是哪一种方法,自动化都将是未来网络和设备的管理趋势。


作者:Jon Langemak 吴炫国译

来源:51CTO

相关文章
|
29天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
8月前
|
安全 数据中心 虚拟化
自动化的NSX网络交付
临近年关,忙忙碌碌;今天下定决心更新,说一说NSX数据中心网络的自动交付。
自动化的NSX网络交付
|
11天前
|
弹性计算 运维 Shell
自动化网络扫描工具发现活跃主机
【4月更文挑战第30天】
9 0
|
13天前
|
网络协议 安全
【专栏】`curl`是广泛用于网络编程和自动化脚本的命令行工具,支持HTTP、HTTPS等协议
【4月更文挑战第28天】`curl`是广泛用于网络编程和自动化脚本的命令行工具,支持HTTP、HTTPS等协议。在处理大文件或慢速服务器时,设置超时参数至关重要。本文介绍了`curl`的超时参数,如`-m`(最大操作时间)、`-c`(连接超时)、`--dns-timeout`(DNS解析超时)和`-t`(时间条件)。通过示例展示了如何设置这些超时,并提到了一些高级技巧和注意事项,如错误处理和带宽限制。合理设置超时能提高效率和可靠性,对编写健壮的自动化脚本非常有用。
|
14天前
|
网络协议 Linux iOS开发
|
18天前
|
Ubuntu Linux
自动化解决Linux网络预测网络接口命名问题
自动化解决Linux网络预测网络接口命名问题
20 0
|
2月前
|
机器学习/深度学习 运维 算法
|
3月前
|
监控 Java 持续交付
内部网络监控软件的Groovy应用:持续集成与部署的自动化监控
在当今高度数字化的环境中,对于内部网络的监控变得至关重要。为了保证系统的稳定性和安全性,监控软件的自动化变得越来越必要。本文将介绍如何利用Groovy编程语言实现持续集成与部署的自动化内部网络监控软件,并通过代码示例展示其实现方式。
270 3
|
4月前
|
Web App开发 存储 前端开发
Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取
Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取
81 1
|
机器学习/深度学习 测试技术 TensorFlow
使用神经网络的自动化特征工程(下)
使用神经网络的自动化特征工程
116 0
使用神经网络的自动化特征工程(下)