Centos7下通过KVM创建虚拟机

Centos7 下通过KVM创建虚拟机
注:该Centos7也是虚拟机,由VMware创建,兵器开启了虚拟化支持:
Centos7下通过KVM创建虚拟机_第1张图片

1、安装KVM:
centos7环境 yum install qemu virt kvm -y
启动服务 : systemctl start libvirtd

2、通过图形化界面创建虚拟机
执行 virt-manager 打卡图形化界面 报错:
Failed to probe QEMU binary with QMP: /usr/libexec/qemu-kvm: symbol lookup error: /usr/libexec/qemu-kvm: undefined symbol: epoxy_eglExportDMABUFImageQueryMESA

解决办法:补充安装 yum install libepoxy -y

Centos7下通过KVM创建虚拟机_第2张图片
Centos7下通过KVM创建虚拟机_第3张图片

Centos7下通过KVM创建虚拟机_第4张图片
Centos7下通过KVM创建虚拟机_第5张图片

Centos7下通过KVM创建虚拟机_第6张图片

Centos7下通过KVM创建虚拟机_第7张图片
Centos7下通过KVM创建虚拟机_第8张图片

如果点击没有反应,卡住,请执行 virt-manager -debug 边创建边 查看日志,发现日志,KVM出现 GDK 图形界面异常:

DEBUG (cli:257) Uncaught exception:

Traceback (most recent call last):

File “/usr/share/virt-manager/virtManager/createnet.py”, line 830, in finish

self.set_finish_cursor()

File “/usr/share/virt-manager/virtManager/baseclass.py”, line 272, in set_finish_cursor

cursor = Gdk.Cursor.new_from_name(gdk_window.get_display(), “progress”)

TypeError: constructor returned NULL

需要编辑 /usr/share/virt-manager/virtManager/baseclass.py 将其中涉及Gdk.Cursor.new_from_name行注释掉

#cursor = Gdk.Cursor.new_from_name(gdk_window.get_display(), “progress”)

#gdk_window.set_cursor(cursor)

#cursor = Gdk.Cursor.new_from_name(gdk_window.get_display(), “default”)

#gdk_window.set_cursor(cursor)

同样编辑 /usr/share/virt-manager/virtManager/asyncjob.py 将其中涉及 Gdk.Cursor.new_from_name 行注释掉:

#gdk_window.set_cursor(

Gdk.Cursor.new_from_name(gdk_window.get_display(), “progress”))**

参考:https://blog.csdn.net/weixin_40762393/article/details/106406441
https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=49136

重新打卡图形化界面继续到:
Centos7下通过KVM创建虚拟机_第9张图片

客户端安装完成后,需要为其设置网络接口,以便和主机网络、客户机之间的网络通信。事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接。

kvm客户机网络连接有两种方式:

用户网络(User Networking):NAT方式,让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。
虚拟网桥(Virtual Bridge):Bridge方式,这种方式要比用户网络复杂一些,但是设置好客户机与互联网,客户机与主机之间的通信都很容易。

Bridge方式原理:
Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。

桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。

Bridge方式的适用范围:服务器主机虚拟化。

由于图形化界面安装太卡,最后用命令行安装:
virt-install --name=centos7kvm02 --memory=2048,maxmemory=2048 --vcpus=1,maxvcpus=2 --os-type=linux --location=/var/lib/docker/CentOS-7-x86_64-DVD-1611.iso --disk path=/kvm_data/centos7kvm02.qcow2,size=8 --graphics=none --console=pty,target_type=serial --extra-args=“console=tty0 console=ttyS0”
Centos7下通过KVM创建虚拟机_第10张图片
开始安装后,正常的情况下会进入到这样一个界面:
Centos7下通过KVM创建虚拟机_第11张图片
这是让我们配置语言、时区、安装源、网络、密码等信息,就和我们在VMware里安装CentOS虚拟机是一样的,只不过这个是命令行形式,而VMware里是图形界面罢了:

首先设置语言,按数字1,回车进入以下界面:
例如我要选Chinese就按数字68并回车即可,回车之后会让你选择是中文简体还是繁体,也是按下相应的数字并回车即可:
Centos7下通过KVM创建虚拟机_第12张图片
Centos7下通过KVM创建虚拟机_第13张图片
配置完成之后又会再次回到配置界面,这次我们来设置时区:
Centos7下通过KVM创建虚拟机_第14张图片
Centos7下通过KVM创建虚拟机_第15张图片
Centos7下通过KVM创建虚拟机_第16张图片
设置系统安装盘:
Centos7下通过KVM创建虚拟机_第17张图片
Centos7下通过KVM创建虚拟机_第18张图片

按 C 键,继续其他设置,操作步奏类似,在此设置root密码、网络、用户过程略,最后 按 B 键 开始安装:
Centos7下通过KVM创建虚拟机_第19张图片
最后安装完成,输入root密码直接进入创建的虚拟机:
Centos7下通过KVM创建虚拟机_第20张图片

如果发现不能上外网,ip a 查看网卡发现网卡没有获取到 IP地址,可以通过重启网卡重新通过DHCP方式获取IP地址,一般可以解决:
Centos7下通过KVM创建虚拟机_第21张图片
或者 dhclient ifcfg-ens2 或者 service network start 都可以试试。

默认创建的虚拟机网络模式为 NAT模式,可查看vnet0虚拟网络设备和虚拟机的网卡之间的映射关系:
NAT网络模型:
Centos7下通过KVM创建虚拟机_第22张图片

主机虚拟网络设备:
Centos7下通过KVM创建虚拟机_第23张图片
brctl show :
Centos7下通过KVM创建虚拟机_第24张图片

虚拟机网卡信息:
Centos7下通过KVM创建虚拟机_第25张图片
查看虚拟机配置文件:virsh dumpxml centos7kvm02Centos7下通过KVM创建虚拟机_第26张图片

你可能感兴趣的:(KVM,linux,kvm)