前言:
此刻你们对“centos整机备份”大约比较看重,大家都需要了解一些“centos整机备份”的相关资讯。那么小编同时在网摘上网罗了一些对于“centos整机备份””的相关文章,希望看官们能喜欢,大家一起来了解一下吧!故事背景
还是从回顾历史来谈谈,网络设备备份的心血历程,刚开始管理员通过人手逐台登录到设备去操作备份配置文件,或者有些编程基础的管理员会通过编写脚本去登录设备配置文件。
如果一天领导对你说想要一个备份系统能备份思科,H3C,华为,飞塔, 就是能够支持国内常用的网络设备, 要有web界面,要能够查看配置差异对比, 还要能发邮件来显示配置差异, 嗯嗯,暂时先要这么多吧,对了公司为了成本考虑只给这个系统提供一台用来安装的虚拟机。。
而我们今天要聊的就是这样的一个系统, 而且安装配置简单,最重要开源免费 真正的大杀器 不负"最好用"之名。
oxidized 简介
oxidized 是一个网络设备备份系统, 轻量级,可扩展,支持超过90多个操作系统,个人觉得它无与伦比的优势, 同时支持h3c,华为,思科.
环境搭建环境搭建我这里介绍一个简单的方式,开箱即用的,非常简单。以下我采用docker容器化部署这个系统演示一下它的强大之处。
拓扑如下:
配置思路
确保网络设备与centos7的连通性。配置交换机能telnet或者ssh方式登录设备。确保centos7安装docker。在centos7上拉起oxidized备份系统演示oxidized备份系统功能部署步骤
这里着重来看步骤4和步骤5的操作,其他不是今天的主角。
我的centos7已经安装好docker的环境,如果不知道如何安装的可以自行百度或者私聊我
[root@node1 ~]# docker -vDocker 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
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: falseoutput: 导出配置模式 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: falsemodel_map: cisco: ios juniper: junos
router.db 文件格式如下,相信聪明的你应该看懂了
10.10.24.241:ios:admin:password10.10.28.235:comware:admin:password10.10.0.107:vrp:admin:password
好了经过以上的一番折腾后,终于完成了基本的配置。
把output 设置成git , 使用git diff 来实现对比。
值需要修改output部分的配置,就是这么的简单
output: default: git git: user: Oxidized email: o@example.com repo: " /home/oxidized/.config/oxidized/oxidized.git "
这样就配置好了,是不是简单的不敢相信
验证结果
更多的网络设备备份,再也不怕了。你学会了吗?
欢迎添加我头条号。欢迎关注、转发、评论、收藏。或者私信我一起讨论学习。
标签: #centos整机备份