本文目录:
- 1、kvm虚拟化技术实现原理
- 2、KVM:virt-install创建虚拟机
- 3、安装kvm虚拟机并导入导出
- 4、kvm多虚拟机崩溃
- 5、KVM虚拟机直连存储(V3700)
- 6、kvm虚拟机收费吗
kvm虚拟化技术实现原理
Qemu, PearPC, Bochs, ...
VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)
LXC, OpenVZ, libcontainer, runC, rkt, Linux V Servers, Virtuozzo, ...
wine
jvm, pvm, ...
Type-I:Hypervisor直接运行于硬件;
Type-II:Hypervisor运行主机OS之上;
硬件级物理内存映射到虚拟机
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。
KVM模块load进内存之后,系统的运行模式:
扫描物理内存,发现多个虚拟机实例有相同的内存空间,合并成为一个共享内存空间,节省内存。
运行中的一个kvm虚拟机就是一个qemu-kvm进程,运行qemu-kvm程序并传递给它合适的选项及参数即能完成虚拟机启动,终止此进程即能关闭虚拟机;
kvm:核心模块
CentOS 7创建物理桥,使用内核自带的桥接模块实现:
桥接口配置文件保留地址信息;
物理网卡配置文件:
删除地址、掩码和网关等相关的配置,添加
重启网络服务即可:
此时会断网,到虚拟机重启一下,发现已生成网桥,但还要配置网桥的dns,否则无法上网。
其他终端图形登录[root@node-60 ~]# ssh -X root@192.168.1.64
参考链接:
KVM:virt-install创建虚拟机
grep -E 'vmx|svm' /proc/cpuinfo
#-E grep的扩展模式
#当前cpu是否支持硬件虚拟化
lsmod | grep kvm
#检查是否加载kvm模块,kvm只是一个linux模块,在kvm安装完成后整个linux系统会变成一个hypervisor(虚拟机管理层)。而qemu和virt、virsh相当于是两个家族,qemu只支持命令行模式(创建、删除、管理等操作),virt-install创建虚拟机,virsh只能管理虚拟机(无法创建),virt-manager提供web界面。
总结来说,libvirt家族和qemu家族都可以实现对虚拟机的生命周期管理,同一个目的不一样的工具而已。
mkdir /home/vm
将CentOS-7-x86_64-Minimal-1810.iso上传到此目录下
virt-install -n centos3 -r 256 --disk /home/vm/ccc.img,format=qcow2,size=2 --network bridge=br0 --os-variant=rhel7.6 --cdrom /home/vm/CentOS-7-x86_64-Minimal-1810.iso --vnc --vncport=6666 --vnclisten=0.0.0.0
-n 虚拟机名字
-r 内存(默认单位MB)
--disk 制定磁盘(可以提前使用qemu-img创建,也可以在此处创建)
*使用qemu-img创建磁盘 qemu-img create -f qcow2 aaa.img 10G
--network 指定虚拟机使用的网络,这里使用br0,需要提前准备好此桥设备
--cdrom 指定镜像文件
--vnc 设置vnc,指定vnc监听端口和监听地址
#上述命令输入完成后直接回车即可
弹出上述告警框不用理会
此时查看宿主机打开端口,出现我们监听的6666端口
使用vnc客户端新建连接,ip地址填宿主机地址,端口6666,名称就是虚拟机名称
颜色级别设置成rgb222,然后点击OK
双击连接图标,进入安装界面
注意:
1、在执行virt-install时一定要仔细,别漏了任何一个参数。我就是少了--vnc这个参数导致vnc怎么也连不上
2、宿主机要跑虚拟机,确保cpu、内存资源足够,否则安装会出问题
安装kvm虚拟机并导入导出
1、确保支持cpu虚拟化
cat /proc/cpuinfo | egrep 'svm|vmx'
2、安装qemu-kvm、libvirt、virt-install包
yum -y install qemu-kvm libvirt virt-install
3、开启libvirtd服务病开机自启
systemctl start libvirtd systemctl enable libvirtd
4、创建一个磁盘文件
qemu-img create -f qcow2 ./centos7-kvm.qcow2 10G
5、创建虚拟机。类型为kvm,名称随意,内存1G,镜像文件指定位置,磁盘文件就是步骤4中的,网络默认,图形选择vnc
virt-install --virt-type kvm --name centos7-2020 --ram 1024 --cdrom=/home/kvm/CentOS-7-x86_64-Minimal-2003.iso --disk path=/home/kvm/centos7-kvm.qcow2 --network network=default --graphic vnc,listen=0.0.0.0 --noautoconsole
6、宿主机安装vnc server
yum -y install tigervnc-server tigervnc vnc vnc-server
systemctl daemon-reload
7、执行下述命令设置密码
vncserver
8、启动服务(我自己的环境这个服务没起来,但还是可以用的)
systemctl start vncserver@gao:1
9、关闭防火墙和selinux
10、vnc客户端连接宿主机5901,然后正常安装虚拟机
导出虚拟机
——本实验是将qcow2格式导出为qcow2
1、一条命令即可
-从表示压缩,-O表示导出格式,111.qcow2位导出后的文件
qemu-img convert -c -O qcow2 centos7-kvm.qcow2 111.qcow2
导入虚拟机
——使用virt-manager工具导入
1、安装virt-manager
yum -y install virt-manager
2、打开
virt-manager
3、新建虚拟机,选择镜像导入
选择对应的111.qcow2文件
配置cpu、内存、网络等信息
完成新的虚拟机创建
ok
kvm多虚拟机崩溃
系统bug。在正常情况下,kvm多虚拟机是不会崩溃的,kvm多虚拟机崩溃是由于系统bug导致的,重启即可解决。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
KVM虚拟机直连存储(V3700)
需求:物理机安装HBA卡,连接到IBM V3700存储,存储上新建一个2T的卷,映射到该物理机,想让该物理机上的vm1直接挂挂载存储上的2T空间。
误区:通过虚拟系统管理器virt-manager设置物理磁盘存储池,这样做如下图,类型处选择 物理磁盘设备
点击完成后会报错:Format of device '/dev/sdc' does not match the expected format 'dos'
正确做法:虚拟机vm1关机后,在“添加新虚拟机硬件” 窗口 “选择或创建自定义存储”下面的空白处直接填/dev/sdb或者/dev/sdc(根据实际情况)。实际上,最好不使用/dev/sd*条目,而使用/dev/disk/by-id目录中设备的链接,这样,如果设备名称发生更改(因为您插入了USB驱动器或其他设备),它仍然可以工作。
通过以下指令可查看/dev/sdb等对应的by-id
ls -l /dev/disk/by-id
通过不重启服务器刷新磁盘列表
ls /sys/class/scsi_host/
echo "- - -" /sys/class/scsi_host/host0/scan
echo "- - -" /sys/class/scsi_host/host1/scan
echo "- - -" /sys/class/scsi_host/host2/scan
echo "- - -" /sys/class/scsi_host/host3/scan
fdisk -l
kvm虚拟机收费吗
kvm虚拟机不收费。kvm虚拟机软件是一个免费的软件,在商业应用环境下,完全可以作为一个不错的可以替代VMware workstations的解决方案。但是对于很多已经运行在了VMware workstations的虚拟机镜像来说,要是想避免收费,可以把VMwarestations的虚拟机vmdk的格式转换成qcow2格式的镜像,这样就可以方便在KVM虚拟机软件上运行了。KVM的虚拟化需要硬件支持,是基于硬件的完全虚拟化。
【kvm虚拟机】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: