ODL中的数据存储在哪里


比如ODL中的流表信息,它是存储的文件吗。
已邀请:

Eric_Hu - SDNer

赞同来自: 柿子


在硬盘DB里,内存DataStore根据akka和RAFT协议将snapshot和日志(journal)写入磁盘。snapshot为控制器刚启动时将ConfigTree序列化后写入磁盘,journal则为每次对内存的Config Tree结点进行修改后,序列化写入的磁盘。相当于snapshot保存的是一个完整的数据库,journal保存的是每次的数据增量,这样,再控制器重启后,就会根据这两个文件,恢复成完整的Config Tree。

Eric_Hu - SDNer

赞同来自:


也在Data Store中

Eric_Hu - SDNer

赞同来自:


InstanceIdentifier<Table> tableIID = InstanceIdentifier.builder(Nodes.class)
.child(Node.class, new NodeKey(new NodeId("openflow:1")))
.augmentation(FlowCapableNode.class)
.child(Table.class, new TableKey((short)0))
.build();
Optional<Table> tableOpt = MDSALUtil.read(this.dataBroker, LogicalDatastoreType.OPERATIONAL, tableIID);

if(!tableOpt.isPresent()){
return;
}
Table table = tableOpt.get();
List<Flow> flowList = table.getFlow();

if(null == flowList || flowList.isEmpty()){
return;
}
flowList.stream().forEach((flowEntry)->System.out.println(flowEntry));

要回复问题请先登录注册