KVM虚拟化qemu-kvm(制作格式镜像qcow2)

KVM虚拟化

KVM必须开启虚拟化

环境搭建
网卡名分别是ens33和ens34

	ens33 IP 192.168.20.110
	
	ens34 IP 192.168.20.111

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

话不多说直接开始使用,详细原理见百度百科
1.关闭selinux

	vi /etc/selinux/config
	SELINUX=disabled

2.关闭防火墙

	systemctl stop firewalld
	
	systemctl disable firewalld

3.开启虚拟化
开启虚拟化

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

	egrep '(vmx\|svm)' /proc/cpuinfo

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

5.安装qemu-kvm

	yum install qemu-kvm qemu-img -y

6.安装完之后,发现qemu-kvm工具并没有加入到环境变量中去,可以连接到 /usr/sbin中去,方便后续的使用

	ln -s /usr/libexec/qemu-kvm /usr/sbin/

7.同时还需要在windows操作机中安装vncviewer来配合qemu-kvm使用

8.百度下载即可https://www.realvnc.com/en/connect/download/viewer/

安装完之后是这样的

在这里插入图片描述

9.了解qemu-kvm参数

	\-h:显示帮助手册
	
	\#qemu-system-x86\_64 -h:会显示所有参数

10.cpu相关参数

	\-cpu:指定cpu模型,默认的为qemu64,可以通过“-cpu ?”查询当前支持的cpu模型
	
	\-smp:设置虚拟机的vcpu个数。后面还可以加cores threads socke.

11.内存相关参数

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

12.磁盘相关参数

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

13.网络相关参数

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

14.图形显示参数

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

15.其他常用参数

	\-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

在这里插入图片描述

2.创建虚拟磁盘,指定镜像的格式、名字、大小

	qemu-img create -f qcow2 centos7.qcow2 20G

在这里插入图片描述
3. 制作镜像,将系统安装盘挂到 cdrom,安装操作系统

	qemu-kvm -m 2048 -boot d -cdrom CentOS-7-x86\_64-Minimal-1611.iso -drive
	file=centos7.qcow2 -nographic -vnc :5

注意: CentOS-7-x86_64-Minimal-1611.iso centos7.qcow2
镜像默认我都是放在root目录下执行命令,可以放到指定目录(可以指定绝对路径)

-m 2048 分配2048M的内存

-boot d 从光盘启动,d表示光盘,c表示硬盘,a,b表示软盘,默认是硬盘启动

-drive file=centos.qcow2 使用虚拟磁盘的文件

-nographic 关闭qemu的图形化界面输出

4.执行完之后是这样的

在这里插入图片描述

5.现在用到vnc
viewer了,vnc的端口是从5900开始,我在命令中设置了-vnc:5,所以要连接5905,然后正常装系统

在这里插入图片描述
6.输入虚拟机地址192.168.20.110 以及 端口5905

在这里插入图片描述

7.双击打开
在这里插入图片描述

8.然后跟正常安装系统一样
在这里插入图片描述

9.装完之后kill掉进程或者关机

[外链图片转存失败(img-hcJbhUog-1565085407478)(media/7737bdb80e3c86cef32bbd9ba182eeb4.png)]

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

10.启动已制作的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 指定接口类型的标识号

[)(media/12c6d0fb470a6c340fd246999439adeb.png)]

这样启动的镜像是无法与宿主机通网的,需要在宿主机中配置桥接模式

桥接网络

搭建kvm虚拟机两块网卡都是桥接:网卡名分别是ens33和ens34

	ens33 IP 192.168.20.110
	
	ens34 IP 192.168.20.111
  1. 安装包

    yum install bridge-utils -y
    
  2. 在宿主机上创建一个网桥

  3. 把已有的全部删除重新创建

  4. ./media/image13.png

    brctl delbr virbr0 \#现将已有的删除
    
    brctl addbr virbr0 \#重新重建 否则报错
    
  5. 将其绑定到一个可以正常工作的网络接口上

    brctl addif virbr0 ens34 \#绑定第二块网卡
    
    brctl show 查看一下是否添加成功,注意:virbr0只需要一个ens44 就可以了
    

在这里插入图片描述
6. 新建一个网卡脚本,使虚拟机网卡自动添加网桥

	vi /etc/qemu-ifup
	
	#!/bin/bash
	
	ip link set \$1 up
	
	brctl addif virbr0 \$1

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

	chmod 777 /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连接之后,虚拟机与宿主机可以互通

给虚拟机配置一个dhcp和ONBOOT=yes 并重启网卡 ,测试ping 互通

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

[外链图片转存失败(img-wiQiAxgR-1565085407482)(media/3ac852acd5baacf2d90c3249ac4b1e7c.png)]

10.如果重启系统:stp no
问题解决:stp
=no
brctl stp birbr0 on
brctl stp virbr0 on
在这里插入图片描述

windows(以win10为例)

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

	<https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/>

[外链图片转存失败(img-VBxh0UXA-1565085407482)(media/917949f4f92f68ffe6073f313fb2f59c.png)]

模拟只下载virtio-win.iso驱动 下载驱动建议去迅雷下载,速度非常快!!!

2.创建虚拟磁盘

	qemu-img create -f qcow2 win10.qcow2 20G

注意:执行前一定要确认是否还有qemu-kvm
还在运行,否则创建windows镜像报错已存在5905端口

在这里插入图片描述
2.创建镜像

	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”)

[外链图片转存失败(img-GnRe3Ksv-1565085407483)(media/dfe10e8aef7f4fc253357b4d526850a0.png)]

3.这是使用操作机vnc连接

[外链图片转存失败(img-RZcZKs7c-1565085407484)(media/63a14dbe0514ec3aafdbef1f310185ae.png)]

4.然后点击现在安装

5.秘钥跳过

6.我安装的是win10专业版

7.勾选接受许可条款 →下一步

8.点自定义:仅安装windows(高级)

9.点击 加载驱动程序 →确定

[外链图片转存失败(img-Ekf9wHnt-1565085407484)(media/886697ee2247ae6c7107e52caecb1145.png)]

10.注意如果安装win10系统一定 选择win10→ 下一步

[外链图片转存失败(img-omjOLD4B-1565085407485)(media/602d8876686e90deeb685364246423e7.png)]

11.新建 → 应用 → 确定→ 下一步

[外链图片转存失败(img-FhxQGhrz-1565085407485)(media/c05eb7bac07aaa84310b4863f6fe2618.png)]

12.立即重启

13.这一步我没有截图,提示按任意键继续

14.点击以后再说

[外链图片转存失败(img-73GzjqBZ-1565085407486)(media/00fa8265065175b22b28b976a7a31b06.png)]

15.点击使用快速设置 等待5~6分钟(虚拟机非常卡)

[外链图片转存失败(img-b3MECghS-1565085407486)(media/49a26f0c8723bec73ee755778dc75f8f.png)]

16上步下一页和跳过,输入用户密码

[外链图片转存失败(img-U3Wo843z-1565085407487)(media/dae2d3a8537706f695f8efdf46bcd22b.png)]

17 .安装完毕之后结束进程 可以收到关机,或者结束进程

结束进程脚本脚本

	Vim end.sh
	
	\#!/bin/bash
	
	a=\`ps -aux \| grep qemu-kvm \| awk 'NR==1{print \$2}' \`
	
	/usr/bin/kill -a \$a

	Chmod +x end.sh
    执行
    Source end.sh

18.启动制作的win10镜像

	qemu-kvm -m 2048 -smp 2 -drive file=win10.qcow2,if=virtio,index=1 -net nic -net
	tap -usbdevice tablet -nographic -vnc :5

[外链图片转存失败(img-Dn49TwuQ-1565085407488)(media/1b45068ea5a0f2b638582d0a70edf866.png)]

由于配置了桥接网络,镜像与宿主机可以互通

	当技术还撑不起你的野心时,那就静下心了学习吧!!!加油各位
	
	是不是非常简单,那就点一个赞吧!!!
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值