
云计算虚拟化
文章平均质量分 88
学习与分享
hello-Will
软件开发学习交流
展开
-
云计算网络之--linux bridge 详解
linux bridge 是什么?通俗的说linux bridge可以比作一个简单的二层虚拟交换机,集成在linux里面。像普通交换机一样,其他端口可以连接bridge,终端虚拟设备通过接入bridge实现互相通信和外部设备的通信。linux bridge主要包括四个部分,这也是简单二层物理交换机的必备部分,可以说是虚拟了物理交换机的基础业务。1:网络端口(或接口)集:用于将终端交换机之间的流量转发到网络中的其他主机。2:控制平面:用于运行生成树协议(STP),该协议计算最小生成树,以防止环路使网络原创 2020-08-21 15:05:21 · 3123 阅读 · 0 评论 -
云计算网络之---tap/tun/veth 虚拟网卡详解
参考资料https://www.kernel.org/doc/Documentation/networking/tuntap.txthttps://www.cnblogs.com/bakari/p/10450711.html - linux云计算网络区别图一图胜千言,进入正题: 物理网卡,TUN, TAP, VETH 四种模型的数据收发如下图所示TAP/TUNtap/tun 是 Linux 内核 2.4.x 版本之后实现的虚拟网络设备,不同于物理网卡靠硬件网路板卡实现,tap/tun 虚拟网原创 2020-08-20 17:02:20 · 5780 阅读 · 0 评论 -
linux 虚拟接口驱动介绍
linux 虚拟接口驱动介绍本文主要从Linux内核驱动层面介绍不同linux 接口类型的底层代码逻辑common info再内核 driver/net/ 目录下面有不同的内核网络虚拟设备的驱动.ip link help.TYPE := { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |bridge | bond | team | ipoib | ip6tnl | ipip | sit | vxlan |gre |原创 2022-05-06 14:34:41 · 1791 阅读 · 0 评论 -
最快的方式建立自己的linux环境- buildroot-qemu
我找到一个基于qemu快速建立Linux开发环境的方法,下面步骤亲测有效。我将展示在QEMU仿真器中运行自己构建的Linux系统的最快方法。我说最快吗?然后开始:$ git clone git://git.buildroot.net/buildroot$ cd buildroot/$ make qemu_arm_versatile_defconfig其中qemu_arm_versatile_defconfig是buildroot / configs目录中的文件和defconfig名称。下一个:原创 2020-07-17 17:11:30 · 901 阅读 · 0 评论 -
qemu 调试实践
1: git clone https://github.com/qemu/qemu.git2:cd qemu3: sudo ./configure --enable-kvm --enable-debug --enable-vnc --enable-werror --target-list=x86_64-softmmuERROR: glib-2.48 gthread-2.0 is required to compile QEMU4:apt-cache search glib25:sudo apt-g原创 2020-07-13 16:51:15 · 525 阅读 · 0 评论 -
openvswitch 根据schema生成db .c .h文件原理
此处主要用到python语言, 解析schema中的json key value, 然后根据属性进行各种编程接口的模式化编辑。ovsdb-idlcannotateschema annotationsovsdb-idlcc-idl-headeridlovsdb-idlcc-idl-sourceidlovs/ovsdb/ovsdb-idlc.in.c .h的文件内容,根据...原创 2019-11-03 17:15:27 · 369 阅读 · 0 评论 -
ovsdb <11> 给命令行和各个应用程序提供的接口
4.5给命令行和各个应用程序提供的接口该部分主要对ovsdb中为命令行提供相应的数据接口做相应的说明。根据目前的设计思路:如果没有执行提交,那么其他应用程序查询不到该配置的数据,如果执行commit,则数据写入数据库应用程序得到数据更新的通知,如果commit失败或者执行cancel,那么之前的配置就会被destroy掉。根据前面的描述,我们的ovsdb可以提供的机制为transaction和...原创 2019-11-02 16:21:35 · 328 阅读 · 0 评论 -
ovsdb <10> Ops-cli结合ovsdb部分流程及接口分析
4.6Ops-cli结合ovsdb部分流程及接口分析Ops中对于ovsdb的应用主要是基于上述的ovsdb的简单用法上的一个扩展和函数封装,现在就其与之前不同的地方做补充说明并就各个函数的使用做相应的说明。根据前面的ovsdb的数据结构描述可知,在ops-cli中我们主要是以idl来处理server中的ovsdb的信息,这里简单说明下几个结构挂接的关系:4.6.1 ovsdb_idl_cre...原创 2019-11-02 16:33:33 · 1190 阅读 · 1 评论 -
ovsdb<9> client server 代码流程
4.4.1 ovsdb-client流程从main开始分析:1、for (command = get_all_commands(); ; command++) {if (!command->name) {VLOG_FATAL(“unknown command ‘%s’; use --help for help”,argv[optind]);} else if (!strcmp(c...原创 2019-11-02 16:32:59 · 572 阅读 · 0 评论 -
ovsdb <8> OVSDB部分数据结构分析
4.3OVSDB部分数据结构分析该部分描述了OVSDB比较重要的数据结构的内容。4.3.1 json格式描述/* Type of a JSON value. /enum json_type {JSON_NULL, / null /JSON_FALSE, / false /JSON_TRUE, ...原创 2019-11-02 16:31:25 · 1127 阅读 · 0 评论 -
ovsdb <7> OVSDB操作实践及各种机制的分析
4.2OVSDB操作实践及各种机制的分析在安装了上述的openvswitch和做了相应的配置之后,下面对openvswitch中提供的各种ovsdb的工具、操作方式和工作机制做一些简单的说明:1、Ovsdb-server:ovsdb的服务器进程,该进程主要是实现了passive listener,被动的监听client所提交的各种transaction,并对各种transaction做出各种响...原创 2019-11-02 16:30:06 · 4231 阅读 · 1 评论 -
ovsdb《6》实践测试
4.1.1需要准备的材料1、运行的Ubuntu虚拟机,发型版本为15.04,内核版本为3.19.0-65-generic,保证机器能联网;2、openvswitch代码,版本号为2.5.0,可以从openvswitch官网中获取;3、注意事项:注意使用的过程中需要查看openvswitch版本和linux内核的对应关系,在openvswitch官网中有相应的介绍,否则会出现加载ovs的.ko...原创 2019-11-02 16:27:20 · 434 阅读 · 0 评论 -
ovsdb 《5》 业务操作详解
4.4业务操作详解该业务操作为之前的transact中的request的param参数部分,这里主要对各种业务操作做详细说明。4.4.1 InsertInsert包含了如下成员:“op”: “insert” required“table”: required“row”: required“uuid-name”: ...原创 2019-11-02 16:26:45 · 364 阅读 · 0 评论 -
ovsdb <3> 数据格式
4.2OVSDB概要模式OVSDB在概要模式和具体的线路协议均使用了JSON即JavaScript Object Notation。一般的配置数据库包含了一系列表项,这些表项通常由数列和零行或者更多行组成。下面主要对各个模式做如下说明:4.2.1该结构为JSON且包含如下的成员:“name”: required“version”: ...原创 2019-11-02 16:25:12 · 879 阅读 · 0 评论 -
ovsdb <4> OVSDB协议通信
4.3OVSDB协议通信OVSDB的协议与外界通信的方式,rpcmethod,在JSON-RPC 1.0中实现。协议中每一个request字符串包含了method的name、传递给这个method的参数(可以为null)、request id;每一个response字符串包含了result object(调用成功时为非null)、error object(出错时应该为非null)、匹配请求的id...原创 2019-11-02 16:24:01 · 2541 阅读 · 0 评论 -
ovsdb 学习一
OVSDB是使用在Open vSwitch上的一种数据库引擎,它主要用于manager和ovsdb server交互并管理和配置Open vSwitch。主要描述OVSDB相关的一系列的信息,包括了ovsdb数据库的基本格式、通信协议ovsdb management protocol以及ovsdb的操作等。Rfc 7047:The Open vSwitch Database Management...原创 2019-11-02 16:29:25 · 2848 阅读 · 0 评论 -
OVS代码笔记
OVS代码笔记>> 原创文章,转载请保留地址,欢迎交流学习ovsdb-client:从main开始分析:1、for (command = get_all_commands(); ; command++) {if (!command->name) {VLOG_FATAL("unknown command '%s';...原创 2019-03-18 07:42:09 · 709 阅读 · 0 评论 -
KVM 和qemu的关系
首先KVM(Kernel Virtual Machine)是Linux的一个内核驱动模块,它能够让Linux主机成为一个Hypervisor(虚拟机监控器)。在支持VMX(Virtual Machine Extension)功能的x86处理器中,Linux在原有的用户模式和内核模式中新增加了客户模式,并且客户模式也拥有自己的内核模式和用户模式,虚拟机就是运行在客户模式中。KVM模块的职责就是打开并...原创 2019-12-25 13:28:01 · 463 阅读 · 0 评论 -
linux namespace详解
本来想写篇 container 的核心技术, linux namesapce 但是看到下面这篇博客写的很好就不重复造轮子了,大家可以一起学习下。https://blog.youkuaiyun.com/Frank_Abagnale/article/details/80192571...转载 2019-12-24 18:37:54 · 1187 阅读 · 0 评论 -
详解chroot
chroot 内核流程linux 的内核源码SYSCALL_DEFINE1(chroot, const char __user *, filename)-》》 ksys_chroot(const char __user *filename)-》》》 set_fs_root(current->fs, &path);此处当前文件系统里面 fs->roo...原创 2019-11-14 17:42:23 · 3062 阅读 · 0 评论