关于ovsdb的操作心得

场景:我想要了解ovsdb的数据长啥样,所以就用ovsdb-client小小操作一下。

一、替换数据库的schema文件(可以不替换,因为我有新增)

  • 按照我的apt-get install安装方法的话,文件位置在 
/usr/share/openvswitch
  • 修改保存后要重新编译(不是必要步骤,因为我这个环境是自己搭的,没有脚本维护,所以要手动更新)

参考文章:修改database schema为Open vSwitch添加新功能 | Sunbo's Blog 

1、执行校验

cksum xxx/vswitch.ovsschema > xxx/vswitch.ovsschema.stamp (xxx代表路径,下同)

2、更新系统的数据库文件(把原来的conf.db改名)

ovsdb-tool create xxx/openvswitch/conf.db xxx/vswitch.ovsschema

ps:我执行第二步的时候报错 
lockfile|WARN|/var/lib/openvswitch/.conf.db.~lock~: \
cannot lock file because it is already locked by pid 767,
意思就是767进程在跑,我们kill 767再执行一次命令就可以了,
然后可以打开db文件看一下,自己新增的表加入成功了没。
(建议ps -ef | grep conf查一下,方便下面重新拉起来)

  • 重新连上数据库(就是把杀掉的进程重新拉起来)
  • ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --no-chdir --log-file=/var/log/openvswitch/ovsdb-server.log --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach
    

二、插入表数据并监控输出

开两个客户端,一边插入表数据,一边监控表数据。

  • 插入数据命令(和schema文件的格式要匹配)
ovsdb-client transact '["Open_vSwitch",{"op":"insert","table":"LogFetch","row":{"session_id":"","filename":"","target":"","duration":0,"status":"","message":"","upload_url":""}}]'
成功会返回一个uuid:
[{"uuid":["uuid","0575de86-8153-410d-a168-f6e9f2619209"]}]
  • 监控表数据 

参考博客:https://www.cnblogs.com/ssyfj/p/11881384.html#%E4%B8%89ovsdb-client

监控表用这个命令:
ovsdb-client monitor DATABASE TABLE

下面的命令用来辅助:

1、列出主机上的所有databases,默认只有一个库Open_vSwitch

ovsdb-client list-dbs

2、获取指定数据库的schema信息

ovsdb-client get-schema [DATABASE]

3、列出指定数据库的所有表

ovsdb-client list-tables [DATABASE]

4、dump指定数据库所有数据,不加参数dump所有table数据  

ovsdb-client dump [DATABASE] [TABLE] 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OVNDB和OVSDB都是与网络虚拟化解决方案相关的数据库,但它们有一些区别。 1. OVNDB(Open Virtual Network Database):OVNDB是Open Virtual Network(OVN)的数据库,用于存储和管理OVN的逻辑网络配置、状态信息以及流量处理规则等。OVN是建立在Open vSwitch(OVS)之上的虚拟网络解决方案,通过OVNDB来管理和控制逻辑网络。 2. OVSDB(Open vSwitch Database):OVSDB是Open vSwitch(OVS)的数据库,用于存储和管理OVS的配置信息、状态数据以及网络拓扑等。OVS是一个开源的虚拟交换机软件,提供网络转发和流量处理功能。通过OVSDB,管理员可以对OVS进行配置和管理。 虽然OVNDB和OVSDB都是数据库,但它们在以下方面存在区别: 1. 功能:OVNDB专门用于管理OVN的逻辑网络配置和流量处理规则,而OVSDB用于管理OVS的配置信息和网络拓扑。它们的功能和数据模型略有不同。 2. 架构:OVNDB和OVSDB在架构上也存在差异。OVNDB采用分布式架构,支持多个OVN控制器之间的数据同步和共享。而OVSDB通常采用集中式架构,支持单一的OVS控制器。 3. 使用场景:OVNDB主要用于支持虚拟化环境中的逻辑网络管理和控制,而OVSDB适用于各种网络环境,包括物理网络和虚拟网络。 总结来说,OVNDB和OVSDB都是用于网络虚拟化解决方案的数据库,但针对不同的软件和功能进行了设计和优化。OVNDB用于管理OVN的逻辑网络配置和流量处理规则,而OVSDB用于管理OVS的配置信息和网络拓扑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值