云原生技术之KVM半虚拟化设置
KVM网络虚拟化技术
学习目标
-
能够了解半虚拟化驱动工作原理
-
能够下载半虚拟化驱动
-
能够查看主机是否支持半虚拟化驱动
-
能够安装半虚拟化驱动
-
能够通过virt-manager为虚拟机添加网卡
-
能够通过virsh命令为虚拟机添加网卡
-
能够添加四种虚拟网络交换机
1. 为什么使用半虚拟化驱动?
虚拟化层完全模拟出来的网卡
全虚拟化网卡环境中, 一个完整的数据包从虚拟机到物理机网卡的路径是:
通过驱动对操作系统进行了修改,即Virtio技术
半虚拟化网卡环境中,虚拟机直接访问虚拟化层,步骤减少:
2.使用半虚拟化驱动方法
下面是windows操作系统需要下载的,linux不需要。
[http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
libvirt:虚拟化 API
[root@localhost ~]# wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
[root@localhost ~]# yum install virtio-win
3.查看是否支持半虚拟化驱动
虚拟机查看方法
#在客户端执行
[root@xnj ~]# virt-what
vmware
#在kvm上执行
[root@xnj ~]# virt-what
kvm
[root@xnj ~]# ethtool -i eth0
如下图所示,显示driver: virtio_net就代表支持!
4.设置半虚拟化驱动方法
1.使用virt-manager添加
按照下面设置后点击应用,然后强制关机+开机就可以写到配置文件中,做到永久修改!
ovirt创建网卡时候有3中选择,分别是e1000, rtl8139, virtio。
“rtl8139”这个网卡模式是qemu-kvm默认的模拟网卡类型,RTL8139是Realtek半导体公司的一个10/100M网卡系列,是曾经非常流行(当然现在看来有点古老)且兼容性好的网卡,几乎所有的现代操作系统都对RTL8139网卡驱动的提供支持。
“e1000”系列提供Intel e1000系列的网卡模拟,纯的QEMU(非qemu-kvm)默认就是提供Intel e1000系列的虚拟网卡。
“virtio” 类型是qemu-kvm对半[虚拟化]IO(virtio)驱动的支持。
这三个网卡的最大区别(此处指最需要关注的地方)是速度:
rtl8139 10/100Mb/s
e1000 1Gb/s
virtio 10Gb/s
2.virsh命令
在宿主机操作
# virsh edit 虚拟机名称
#找network
#将model中的type改为virtio即可
<interface type='network'>
<mac address='52:54:00:ce:63:b7'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
#这个已经有了
更改完后强制关机,就可以生效了
5.添加网卡
1.virt-manager
选择虚拟机直接执行添加网卡操作
虚拟机查看网卡
[root@smartgo_01 ~]# ip a
虚拟机复制网卡并修改
#在宿主机下连接kvm虚拟机
ssh root@kvm虚机ip连接
[root@smartgo_01 network-scripts]# cd /etc/sysconfig/network-scripts/
[root@smartgo_01 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@smartgo_01 network-scripts]# vim ifcfg-eth1
去掉UUID,然后修改名称为eth1
重启网络
[root@smartgo_01 ~]# systemctl restart network
2.virsh命令
使用命令添加网卡,在宿主机操作
[root@localhost ~]# virsh list
Id 名称 状态
----------------------------------------------------
4 centos7.6-2 running
5 centos7.0-1 running
#新的指令domif
[root@localhost ~]# virsh domiflist centos7.6-2
接口 类型 源 型号 MAC
-------------------------------------------------------
vnet1 bridge virbr0 virtio 52:54:00:f1:84:5b
#一定要看看是什么的格式 桥接还是network模式
[root@localhost ~]# virsh attach-interface centos7.0.1 \
--type network \
--source default \
--model virtio \
--config #暂时不加成功
虚拟机查看网卡添加情况
[root@smartgo_01 ~]# ip a s
- 点赞
- 收藏
- 关注作者
评论(0)