虚拟化和虚拟网桥两种实现方法

2023年 7月 16日 91.8k 0

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 ~]#

相关文章

LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎
10分钟搞定支持通配符的永久有效免费HTTPS证书
300 多个 Microsoft Excel 快捷方式
一步步配置基于kubeadmin的kubevip高可用
istio全链路传递cookie和header灰度
REST Web 服务版本控制

发布评论