还是从回顾历史来谈谈,网络设备备份的心血历程,刚开始管理员通过人手逐台登录到设备去操作备份配置文件,或者有些编程基础的管理员会通过编写脚本去登录设备配置文件。
如果一天领导对你说想要一个备份系统能备份思科,H3C,华为,飞塔, 就是能够支持国内常用的网络设备, 要有web界面,要能够查看配置差异对比, 还要能发邮件来显示配置差异, 嗯嗯,暂时先要这么多吧,对了公司为了成本考虑只给这个系统提供一台用来安装的虚拟机。。
而我们今天要聊的就是这样的一个系统, 而且安装配置简单,最重要开源免费 真正的大杀器 不负"最好用"之名。
oxidized 是一个网络设备备份系统, 轻量级,可扩展,支持超过90多个操作系统,个人觉得它无与伦比的优势, 同时支持h3c,华为,思科.
https://github.com/ytti/oxidized
环境搭建我这里介绍一个简单的方式,开箱即用的,非常简单。以下我采用docker容器化部署这个系统演示一下它的强大之处。
拓扑如下:
配置思路
这里着重来看步骤4和步骤5的操作,其他不是今天的主角。
我的centos7已经安装好docker的环境,如果不知道如何安装的可以自行百度或者私聊我
[root@node1 ~]# docker -v
Docker version 18.06.0-ce, build 0ffa825
[root@node1 ~]#
安装好docker之后,去拉取oxidized镜像。
[root@node1 ~]# docker pull oxidized
以上命令的意思是去docker hub拉取oxidized这个镜像的最新版本
可以执行如下命令查看主机上是否有下载完的oxidized
[root@node1 ~]# docker images
前面做了那么多的铺垫,只是为这一步,千万不要走神了。执行如下命令就可以成功的部署了这个oxidized备份系统,是不是很简单呢
docker run -itd -v /data/oxidized:/root/.config/oxidized -p 8888:8888/tcp -t oxidized/oxidized
注释:-v /data/oxidized:/root/.config/oxidized 意思是把宿主机的/data/oxidized这个目录挂载到容器/root/.config/oxidized
-p 8888:8888 意思是把容器内部的8888端口映射到宿主机上的8888端口
oxidized 有2个核心文件。
config文件 就用来存放配置文件
router.db文件 可以理解成 存放被管理主机的地方
可能有看官对config 配置有些疑惑 我这里简单介绍一下。
---
username: username : 用户名 这个参数不用改,会从router.db读取.
password: password : 密码 这个参数也不用改,会从router.db读取.
model: junos : 模型 这个参数也不用改,会从router.db读取.
interval: 3600 : 备份周期 单位是秒,也就是默认一个小时备份一次
log: /home/oxidized/.config/oxidized/logs/oxidized.log:日志
debug: false :debug模式
threads: 30 :线程
timeout: 20 : 超时
retries: 3 : 重试次数
prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
rest: 0.0.0.0:8888 :web 用到
next_adds_job: false
vars: {}
groups: {}
models: {}
pid: "/home/oxidized/.config/oxidized/pid"
input: 连接设备模式
default: ssh, telnet
debug: false
ssh:
secure: false
output: 导出配置模式
default: file
file:
directory: "/home/oxidized/.config/oxidized/configs"
source:
default: csv
csv:
file: "/home/oxidized/.config/oxidized/router.db"
delimiter: !ruby/regexp /:/
map: 这个地方和router.db里面的参数对应 从0开始
name: 0
model: 1
username: 2
password: 3
gpg: false
model_map:
cisco: ios
juniper: junos
router.db 文件格式如下,相信聪明的你应该看懂了
10.10.24.241:ios:admin:password
10.10.28.235:comware:admin:password
10.10.0.107:vrp:admin:password
好了经过以上的一番折腾后,终于完成了基本的配置。
值需要修改output部分的配置,就是这么的简单
output:
default: git
git:
user: Oxidized
email: o@example.com
repo: " /home/oxidized/.config/oxidized/oxidized.git "
这样就配置好了,是不是简单的不敢相信
验证结果
更多的网络设备备份,再也不怕了。你学会了吗?
欢迎添加我头条号。欢迎关注、转发、评论、收藏。或者私信我一起讨论学习。
留言与评论(共有 0 条评论) |