qemu

19次阅读
没有评论

这篇文章主要介绍了 qemu-kvm 如何创建虚拟机并设置网络,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

一:介绍

Hypervisor:是一种“虚拟机监视器(VMM)”,它介于裸机硬件和操作系统之间的组件,通过它,可以在物理服务器上安装多个操作系统。

VNC:是一个在 UNIX 和 Linux 平台上的远程控制开源程序,有:vncserver,vncviewer,vncpasswd,和 vncconnect。

KVM:Linux 2.6X 版本中加入的内核模块,分为两个:kvm.ko 和 kvm_intel.ko / kvm_amd.ko

QEMU-KVM:KVM 是一个可以虚拟 CPU 和内存的模块,但是不能够虚拟 I / O 等,所以它借鉴了 QEMU,形成了一个 QEMU-KVM 的工具。利用它,用户可以很方便的操作 KVM 内核,虚拟出虚拟机、虚拟磁盘等。

虚拟化分为:

半虚拟化:完全用软件模拟,不需要硬件支持,速度慢 = xen

全虚拟化:需要硬件支持,速度快 == KVM

二:创建虚拟机

1、查看 cup 是否支持虚拟

 grep -E -o  vmx|svm  --color /proc/cpuinfo

注意:如果想在 vmwareWorkstation 的虚拟机中使用 KVM,

则需要在设置那里开启 VT- X 技术,如图:qemu-kvm 如何创建虚拟机并设置网络

2、查看 Linux 内核是否加载了 kvm 模块

 lsmod | grep kvm

3、加载 KVM 模块

 modprobe kvm
 modprobe kvm_intel

4、安装 qemu-kvm,安装完成后会生成 /usr/libexec/qemu-kvm,是用户空间操作 kvm 内核的接口,安装后,会自动加载上面的 KVM 模块

 yum install -y qemu-kvm

5、通过网络上传 ISO 镜像文件

  通过 CRT 的 Alt + p  打开 ftp 客户端上传即可 

6、生成一个 8G 的镜像文件,作为虚拟机的磁盘

 qemu-img create -f raw /root/hadoop.img 8G  默认生成 raw 格式,给多少就一次性划分多少
 qemu-img create -f qcow2 /root/hadoop.img 8G  生成 qcow2 格式,用多少算多少 

7、使用 qemu-kvm 创建虚拟机 (参数说明 -m 指定内存大小 -smp 指定 cup 数量 -boot 启动顺序)

 /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd 
 -cdrom /iso/CentOS-6.6-x86_64-minimal.iso -hda /cloud/CentOS.img -vnc :1
  参数说明: -m  指定客户机内存大小,默认单位 MB
 -smp  指定客户机 cpu 个数。SMP:(symmetric[sɪ metrɪk] Multi-processing) 对称多处理
 -boot  指定客户机系统启动顺序,order=cd 是指先光盘再硬盘。c:CD-ROM d:Hard Disk
 -hda  指定客户机的 IDE 硬盘(即前面的创建的镜像文件) -cdrom  指定客户机的光驱 

8、安装 vnc 或使用 vnc 工具连接虚拟机,给虚拟机安装系统

9、关闭虚拟机并再次启动虚拟机, 指定 vnc 端口为 5901(不需要指定 cdrom,因为已经将操作系统安装到磁盘中了,当然指定也没有关系,因为会检测是否安装了操作系统!)

 /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -vnc :1

三:配置网络(brigde、nat、host-only)注意:brctl 和 tunctl 只是临时创建,并不会修改 network-scripts 下面的 ifcfg-eth0 信息,所以开机会恢复。

说明:需要 bridge-utils 和 tunctl 的支持。

brctl 是 Linux 下用来创建和管理以太网桥,在内核中建立、维护、检查网桥配置的命令 tunctl 是用来创建 tap 以及 tun 模式的网桥端口。

在计算机网络中 TUN 与 TAP 是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。

TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN 模拟了网络层设备,操作第三层数据包比如 IP 数据封包。

bridge 桥接配置

1、要安装 bridge-utils tunctl

 yum install -y bridge-utils tunctl

2、添加一个 br0 网桥 (桥接类型)

 brctl addbr br0
 ifconfig br0 up

3、hypervisor 的 etho 也需要绑定到 bridge 上, 一步执行完成(注意修改成自己的 IP)

 brctl addif br0 eth0   brctl stp br0 on   ifconfig eth0 0.0.0.0   
 ifconfig br0 192.168.33.250 netmask 255.255.255.0   route add default gw 192.168.33.1

4、创建 TAP 类型虚拟网卡设备,用于绑定虚拟机的网卡绑定

 tunctl -t vnet0
 ifconfig vnet0 up
 brctl addif br0 vnet0
 brctl show

5、创建虚拟机并关联网卡(可以连续带多个 vnet)

 /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -cdrom /kvmhost/iso/centos-6.7.iso 
 -hda /kvmhost/kvms/test.img -net nic -net tap,ifname=vnet0,script=no,downscript=no 
 -net nic -net tap,ifname=vnet1,script=no,downscript=no -vnc :1

qemu-kvm 如何创建虚拟机并设置网络

6、启动虚拟机并关联网卡(可以连续带多个 vnet)并添加 mac 地址

 /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img 
 -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no

7、编辑 ifcfg-eth0 配置

  静态 ip(和物理机在同一个网段)  配置子网掩码
  配置 dns1
  配置默认网关(和物理机同一网关)

8、重新启动 network service network restart 即可

host-only 配置

1、要安装 bridge-utils tunctl

 yum install -y bridge-utils tunctl

2、添加一个 hostonlybr0 网桥 (桥接类型)

 brctl addbr hostonlybr0
 ifconfig hostonlybr0 up

3、给网桥设置一个随意的 ip 地址(不需要吧 eth0 绑定到此网桥上,也就是和 eth0 隔离)

4、创建 TAP 类型虚拟网卡设备,用于绑定虚拟机的网卡绑定

 tunctl -t vnet0
 ifconfig vnet0 up
 brctl addif hostonlybr0 vnet0
 brctl show

5、创建虚拟机并关联网卡

/usr/libexec/qemu-kvm -m 4096 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic -net tap,ifname=vnet0,script=no,downscript=no

6、启动虚拟机并关联网卡并添加 mac 地址

/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no

7、编辑 ifcfg-eth0 配置

  静态 ip(随意一个网段,大家都在一起即可)  配置子网掩码
  配置 dns1
  配置默认网关(和物理机同一网关)

8、重新启动 network service network restart 即可

四、qemu-img 是一个比较重要的工具,是 QEMU 的磁盘管理工具。

1、查看帮助信息

 qemu-img -h

2、查看镜像文件信息

 qemu-img info /cloud/CentOS.img

3、创建一个磁盘镜像文件

 qemu-img create -f qcow2 /cloud/itcast.img 10G

4、将 raw 格式转换成 qcow2 格式

 qemu-img convert -O qcow2 /cloud/itcast.raw /cloud/itcast.qcow2

5、修改镜像大小

 qemu-img resize /cloud/test.img +2G

6、检查镜像

 qemu-img check /cloud/itcast.qcow2

7、镜像格式

 qemu-img 支持多种镜像格式,可通过 qemu-img - h 命令查看,常用的有 qcow2,raw
 raw: 原始的磁盘镜像格式,是 qemu-img 命令默认的文件格式,这种格式的文件的优势在于它非常
  简单且非常容易移植到其他模拟器上使用。特点一开始就让镜像实际占用了分配空间,但是写入速度稍快一下。 qcow2: 这种格式是 QEMU 目前推荐的镜像格式,它是功能最多的格式,它支持稀疏文件以节省存储空间,  支持加密、压缩、快照等功能 

QEMU monitor 是 QEMU 与用户交互的一种控制台,一般用于为 QEMU 模拟器提供较为复杂的功能,

QEMU monitor 的切换

  Ctrl + Alt + 2  --  QEMU monitor 状态
  Ctrl + Alt + 1  --   客户机标准显示窗口 

显示系统命令状态:info

查看 QEMU 的版本信息

 info versions

查看当前 QEMU 是否有 KVM 的支持

 info kvm
 info name
 info status

查看客户机各个 vCPU 的信息

 info cpus

查看块设备信息,如硬盘、软盘、光驱等

 info block

查看客户机的网络配置信息

 info network

显示当前系统中已保存的客户机快照信息

 info snapshots

查看当前客户机的迁移状态

 info migrate

显示当前客户机的 VNC 状态

 info vnc

查看 QEMU monitor 中命令执行的历史

 info history

创建快照

 savevm snap20150406

恢复快照

 loadvm snap20150406

删除快照

 delvm snap20150406

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“qemu-kvm 如何创建虚拟机并设置网络”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!