Linux:QEMN,QEMN由法国天才程序员研发,大小1到2兆。众多虚拟化都不具备IO模拟,它需要结合QEMN来实现
Virtio:澳大利亚天才研发。天才你懂得
虚拟化技术分类:
模拟:PearPC,Bochs,QUMU这三种模拟器
1, 底层硬件,硬件之上运行主机,主机之上运行虚拟化模拟器软件,模拟器可以模拟众多硬件环境,如CPU,IO,内存等
完全虚拟化:也称为nativevirtulization
CPU不做模拟,只做分配和管理,但IO等要做模拟,CPu架构和物理cpu架构保持一致
内存也不做模拟。
那么完全虚拟化性能比模拟要高,也不需要BT技术
两种加速方式:BT和HVM
完全虚拟化著名产品:VMware Workstation,VMware Server ,Parallels Desktop ,KVM,xen(HVM)
完全虚拟化和模拟相似,无非就是CPU架构
半虚拟化:Para-virtualization
底层硬件,向上hypevisor,hyper call,在向上内核需要做修改。这里仅仅是CPU虚拟化
半虚拟化实现:XEN,uml(user-mode linux)
虚拟架构和底层架构必须保持一致
OS级别的虚拟化:
底层硬件,向上内核,向上虚拟化管理器,向上个虚拟化用户空间(多个用户空间)和虚拟机管理器
各虚拟机启动十分简单
比较流行的:IDC机房的vps服务,OpenVZ实现,lxc
Server containers也是一种实现,FreeBSD jails则是OS级别的虚拟化,但是这还是没有XEN,KVM应用的多,在稳定性上讲
提供虚拟机便是提供虚拟机用户空间,而不是提供虚拟机内核
库虚拟化:wine:只是安装了一个库,运行exe等
应用程序虚拟化:JVM
虚拟化网络:
创建桥接模式:
不支持NetworkManaget
关闭:chkconfig NetworkManaget off
[root@zabbix_agent ~]# chkconfigNetworkManager off
[root@zabbix_agent ~]# yum -y installbridge-utils
桥的实现是内核,这个只是桥驱动
方法1,修改配置文件
[root@zabbix_agent ~]# cd/etc/sysconfig/network-scripts/
[root@zabbix_agent network-scripts]# ls
[root@zabbix_agent network-scripts]# cpifcfg-eth1 ifcfg-br0
这里编辑完成
[root@zabbix_agent ~]# cat/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=172.16.249.88
NETMASK=255.255.0.0
GATEWAYY=172.16.0.1
DNS1=172.16.0.1
IPV6INIT=no
USERCTL=no
[root@zabbix_agent~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
IPV6INIT=no
USERCTL=no
[root@zabbix_agent ~]# ~
这就将BR0上关联了eth1
使用brct l show查看当前的桥设备
[root@zabbix_agent ~]# brctl show
bridge name bridgeid STP enabled interfaces
br0 8000.000c29b53c7d no eth1
[root@zabbix_agent ~]#
打开stp
[root@zabbix_agent ~]# brctl stp br0 on
[root@zabbix_agent ~]# brctl show
bridge name bridgeid STP enabled interfaces
br0 8000.000c29b53c7d yes eth1
[root@zabbix_agent ~]#
1, 命令行实现桥(这里设置将会端口远程连接)
[root@zabbix_agent ~]# yum list allbridge-utils
创建bro
[root@zabbix_agent ~]# brctl addbr br0
Br0现在没有地址使用ifconfig是查看不到的,使用brctl show
[root@zabbix_agent ~]# brctl show
添加之前需要将eth1的IP除掉,这里使用ifconfig
[root@zabbix_agent ~]#Ifconfig eth1 0 up
而后在开始添加
[root@zabbix_agent ~]#Brctl addif br0 eth1
设置ip
[root@zabbix_agent ~]#Brctl addif br0 172.16.249.88/16 up
添加路由
[root@zabbix_agent ~]#Route add default gw 172.16.0.1
删除br0:brctl delbr br0
[root@zabbix_agent ~]# brctl show
bridge name bridgeid STP enabled interfaces
br0 8000.000c29b53c7d no eth1
[root@zabbix_agent ~]# brctl stp br0 on
[root@zabbix_agent ~]# brctl show
bridge name bridgeid STP enabled interfaces
br0 8000.000c29b53c7d yes eth1
[root@zabbix_agent ~]#