4:KVM虚拟化
KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。
是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。
KVM的优势:
1,嵌入到Linux的Kernel中 (提高兼容性)
2,代码级资源调用(提高性能)
3,虚拟机就是一个进程
4,直接支持MUMA技术(NUMA(Non Uniform Memory Access Architecture)技术可以使众多服务器像单一系统那样运转,同时保留小系统便于编程和管理的优点。)
5:open vswitch虚拟化
OpenvSwitch,是虚拟交换机,主要用于虚拟机VM环境,支持Xen/XenServer, KVM, and VirtualBox多种虚拟化技术。OpenvSwitch还支持多个物理机的分布式环境。
传递虚拟机VM之间的流量
以及实现VM和外界网络的通信。
OVS两种模式:
1. standalone:这种模式下,没有运行controller的情况下,OVS会自动调回普通switch模式,如果有controller的情况,ovs会自动变成 openflow switch。
命令:ovs-vsctl set-fail-mode ovs-switch standalone
2.secure:这种模式下,无论有没有controller, ovs都会作为openflow switch运行, 也就是所有interface在bridge上,等待controller或者用户添加flow到switch来进行通信
命令:ovs-vsctl set-fail-mode ovs-switch secure
ovs-vswitchd是主要模块,实现switch的 daemon(守护进程),包括一个支持流交换的Linux内核模块;
ovsdb-server轻量级数据库服务器,提供ovs-vswitchd配置信息;
ovs-vsctl 查询和更新ovs-vswitchd的配置;
ovs-ofctl查询和控制 OpenFlow交换机; 修改OVS 中的流表项,对 OVS 的运行状况进行动态监控。
ovs-dpctl 用来配置switch内核模块;
ovs-appctl 发送命令消息,运行相关daemon;
ovs-brcompatd让 ovs-vswitch替换 Linuxbridge,包括获取 bridgeioctls 的 Linux内核模块;