KVM使用入门

KVM虚拟化

KVM在使用的时候必须是硬件支持虚拟化的,要确保使用的宿主机或实体机支持硬件虚拟化技术

 环境搭建

我在VMware里装了个centos7,把centos7当做宿主机使用

  1. 关闭selinux
vi /etc/selinux/config
SELINUX=disabled
  1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  1. 开启虚拟化

在这里插入图片描述

  1. 查看虚拟机实例是否支持硬件虚拟化技术

egrep ‘(vmx|svm)’ /proc/cpuinfo
如果有输出则说明硬件支持虚拟化技术,vmx表示INTER系列CPU支持的类型,svm表示ADM系列CPU支持的类型
在这里插入图片描述

  1. 安装qemu-kvm

kvm只能实现cpu和内存的虚拟化,并不能模拟其他设备
qemu-kvm弥补了其缺陷,不仅满足了cpu和内存的虚拟化,还能虚拟I/O设备

yum install qemu-kvm qemu-img -y

安装完之后,发现qemu-kvm工具并没有加入到环境变量中去,可以连接到 /usr/sbin中去,方便后续的使用
ln -s /usr/libexec/qemu-kvm /usr/sbin/
同时还需要在windows操作机中安装vncviewer来配合qemu-kvm使用
百度下载即可https://www.realvnc.com/en/connect/download/viewer/
安装完之后是这样的
在这里插入图片描述

 了解qemu-kvm参数

-h:显示帮助手册
#qemu-system-x86_64 -h:会显示所有参数
1.cpu相关参数
-cpu:指定cpu模型,默认的为qemu64,可以通过“-cpu ?”查询当前支持的cpu模型
-smp:设置虚拟机的vcpu个数。后面还可以加cores threads socke.

2.内存相关参数
-m:设置虚拟机内存大小,默认单位为MB。
-mem-path patch:指定从path路径表示的临时文件中为guest分配内存。
-mem-prealloc:启动时即分配全部内存,而不是根据guest请求动态分配,与-mem-path参数配合使用。
-balloon:开全内存balloon功能,俗称内存气球。

3.磁盘相关参数
-hda、-hdb和cdrom等:设置虚拟机的IDE磁盘和光盘设置。
-driver:配置驱动器。
-boot:设置虚拟机的启动选项

4.网络相关参数
-net nic:为虚拟机创建一个nic网卡
-net user:让虚拟机使用不需要管理权限的用户模式网络(user mode network).
-net tap:使用host的tap网络接口来帮助guest建立网络。
-net none:不配置任何网络设备。

5.图形显示参数
-sdl:使用sdl方式显示客户机。
-vnc:使用vnc方式显示客户机。
-vga:设置虚拟机中的vga显卡类型,默认为“-vga cirrus”.
-nographic:关闭qemu的图形化界面输出。

6.其他常用参数
-noreboot:guest执行reboot操作时,系统关闭后退出qemu-kvm,而不会再启动虚拟机。
-no-shutdown:虚拟机shutdown后,系统关闭后,不退出qemu-kvm进程,保持这个进程存在,他的monitor仍然可以用。
-loadvm:加载快照状态,与monitor中的“loadvm”命令类似
-nodefaults:不创建默认的设备。默认会创建一些显卡、串口、控制台等设备
-readconfig:从文件中读虚拟机设备的配置信息。
-writeconfig:将虚拟机的配置信息写到文件中。
-nodedefconfig:不加载默认的配置文件。默认会加载/use/local/share/qemu下的文件。
-no-user-config:不加载用户自定义的配置文件。
-usbdevice:使用usb设备

 创建虚拟机实例

一、linux(以centos7.3 1611为例)

  1. 查看镜像的信息
qemu-img info CentOS-7-x86_64-Minimal-1611.iso

在这里插入图片描述

  1. 创建虚拟磁盘,指定镜像的格式、名字、大小
qemu-img create -f qcow2 centos7.qcow2 20G

在这里插入图片描述

  1. 制作镜像,将系统安装盘挂到 cdrom,安装操作系统
qemu-kvm -m 2048 -boot d -cdrom CentOS-7-x86_64-Minimal-1611.iso -drive file=centos7.qcow2  -nographic -vnc :5

-m 2048 分配2048M的内存
-boot d 从光盘启动,d表示光盘,c表示硬盘,a,b表示软盘,默认是硬盘启动
-drive file=centos.qcow2 使用虚拟磁盘的文件
-nographic 关闭qemu的图形化界面输出

执行完之后是这样的

在这里插入图片描述
这里就要用到vnc viewer了,vnc的端口是从5900开始,我在命令中设置了-vnc :5,所以要连接5905,然后正常装系统
在这里插入图片描述
装完之后kill掉进程

qemu-kvm创建虚拟机时,已经配置了2个驱动设备,一个是硬盘设备,一个是光驱设备,只有移除光驱设备,系统才能使用磁盘设备启动

  1. 启动已制作的linux镜像
qemu-kvm -m 2048 -smp 2 -drive file=centos7.qcow2,if=virtio,index=1 -nographic -vnc :5

-smp 2 处理器的个数,也可以设置cores threds sockets,即每个cpu的核心数以及cpu的线程数
if=virtio 指定硬盘设备所连接的接口类型
index=1 指定接口类型的标识号

在这里插入图片描述
这样启动的镜像是无法与宿主机通网的,需要在宿主机中配置桥接模式

桥接网络

  1. 安装包
yum install bridge-utils -y
  1. 在宿主机上创建一个网桥
brctl addbr virbr0   
  1. 将其绑定到一个可以正常工作的网络接口上
brctl addif virbr0 ens37
  1. 新建一个网卡脚本,使虚拟机网卡自动添加网桥
vi /etc/qemu-ifup
#!/bin/bash
ip link set $1 up
brctl addif virbr0 $1

同时设置执行权限,开启桥接网卡

chmod a+x /etc/qemu-ifup
ip link set virbr0 up
  1. 再次启动制作的镜像
qemu-kvm -m 2048 -smp 2 -drive file=centos7.qcow2,if=virtio,index=1 -net nic -net tap -nographic -vnc :5

-net nic 是必需的参数,表明这是一个网卡的配置
-net tap 通过物理的TAP网络接口连接至vlan n

通过vnc viewer连接之后,虚拟机与宿主机可以互通

在这里插入图片描述
同时宿主机中新增了一块网卡tap0

在这里插入图片描述

二、windows(以win10为例)

步骤与创建Linux镜像大致相同,需要注意的是,windows镜像需要配置驱动,下载地址

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
  1. 创建虚拟磁盘
qemu-img create -f qcow2 win10.qcow2 20G
  1. 创建镜像
qemu-kvm -m 2048 -boot d -cdrom win10.iso -drive file=virtio-win.iso,media=cdrom -drive file=win10.qcow2,if=virtio,index=1 -usbdevice tablet -nographic -vnc :5

-usbdevice tablet 添加usb设备,鼠标

在这里插入图片描述

选择驱动(我用的光驱安装驱动”-drive file=virtio-win.iso”)
在这里插入图片描述
安装完毕之后关闭进程
在这里插入图片描述

  1. 启动制作的win10镜像
qemu-kvm -m 2048 -smp 2 -drive file=win10.qcow2,if=virtio,index=1 -net nic -net tap -usbdevice tablet -nographic -vnc :5

开启之后根据需要配置即可
在这里插入图片描述
由于配置了桥接网络,镜像与宿主机可以互通

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值