opijoiu 发表于 2016-1-25 08:53:33

KVM之初体验——QEMU安装虚拟机

QEMU简介
    QEMU是一款开源的模拟器及虚拟机监管器(Virtual Machine Monitor,VMM)。QEMU主要提供两种功能给用户使用。一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码。二是作为虚拟机监管器,模拟全 系统,利用其他VMM(Xen, KVM, etc)来使用硬件提供的虚拟化支持,创建接近于主机性能的虚拟机。

1
2
3
4
5
6
是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。
KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机。
(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。





基本原理
    QEMU作为系统模拟器时,会模拟出一台能够独立运行操作系统的虚拟机。如下图所示,每个虚拟机对应主机(Host)中的一个QEMU进程,而虚拟机的vCPU对应QEMU进程的一个线程。



   系统虚拟化最主要是虚拟出CPU、内存及I/O设备。虚拟出的CPU称之为vCPU,QEMU为了提升效率,借用KVM、XEN等虚拟化技术,直接利用硬件对虚拟化的支持,在主机上安全地运行虚拟机代码(需要硬件支持)。


QEMU 参数介绍

QEMU 创建步骤
1)安装虚拟化管理器(ps:保证KVM虚拟机管理器已安装完毕,安装步骤很简单,本次就不多说了,敬请谅解。)
2)配置桥接网卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
实验环境为redhat 6.4企业版本
# yum install"bridge-utils"
注释:安装桥接工具

#service libvirtd start
注释:启动桥接服务

#chkconfig libvirtd on
注释:永久开启!不然系统重启后不会自动启动这个服务的哟~

# virshiface-bridge eth0 br0
注释:创建网络桥!

验证:
ifconfig   br0
注释:观察IP地址是否跑到了br0网卡上!




示例:

1
2
3
4
5
6
7
8
9
# ifconfig br0                                                                           
br0       Link encap:EthernetHWaddr 54:04:A6:CE:C1:6C                              
          inet addr:172.16.120.100Bcast:172.16.120.255Mask:255.255.255.0
          inet6 addr: fe80::5604:a6ff:fece:c16c/64 Scope:Link                              
          UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1                     
          RX packets:148 errors:0 dropped:0 overruns:0 frame:0                        
          TX packets:77 errors:0 dropped:0 overruns:0 carrier:0                           
          collisions:0 txqueuelen:0                                                                        
          RX bytes:30827 (30.1 KiB)TX bytes:6850 (6.6 KiB)





3)关闭防火墙

1
2
#service iptables stop
#setenforce 0




4)安装虚拟机

1
2
创建磁盘:
qemu-img create -f qcow2 -o preallocation=metadata /var/lib/libvirt/images/diskname.houzhui 8G




1.参数介绍:

1
2
3
4
5
-f qcow2                     注释:指定虚拟机硬盘格式,qcow2格式支持虚拟机快照功能!
-o preallocation=metadata      注释:不立即占用磁盘空间!
-o preallocation=full          注释:立即占用磁盘空间!
diskname.houzhui               注释:磁盘文件的名字,注意位置:/var/lib/libvirt/images/
8G                           注释:磁盘大小以G为单位!




2.安装方法一(图形化):

1
2
3
4
5
6
7
8
9
10
11
12
13
virt-install
--graphics
vnc,listen=0.0.0.0,port=5920
-n test0
--os-type=linux
--os-variant=rhel6
-r 512
--arch=x86_64
--vcpus=1
-f /var/lib/libvirt/images/diskname.houzhui
-w bridge=br0
-l ftp://172.16.1.100/rhel6.4
-x "console=ttyS0"




ps1:/var/lib/libvirt/images/diskname.houzhui必须跟创建磁盘的路径名一样。
ps2:console=ttyS0大小写不能写错,0是零,不是大写的O。


3.安装方法二(纯文本):

1
2
3
4
5
6
7
8
9
10
11
12
virt-install
--nographics                           #安装过程不要图形      
-n rhel6                               #虚拟机标签名称
--os-type=linux                        #系统类型
--os-variant=rhel6                     #系统版本
-r 512                                 #内存大小
--arch=x86_64                        #64 or 32位
--vcpus=1                              #CPU数量
-f /var/lib/libvirt/images/rhel6.img   #之前创建的硬盘位置和名字         
-w bridge=br0                        #桥接网卡名字
-l ftp://172.16.8.100/rhel6.4          #安装源
-x "console=ttyS0"                     #在本控制显示安装过程




ps:-x参数后面可添加kickstart参数,本次暂时忽略。
4.虚拟机使用方法

1
2
3
4
5
virshdestroy       虚拟机名      #关闭虚拟机
virshundefine      虚拟机名      #删除虚拟机
virshstart         虚拟机名      #开启虚拟机
virsh   list   --all 显示所有虚拟机
virsh   console      虚拟机名      #连接虚拟机




ps:virsh详细参数本次暂时忽略。
5)qemu常用方法——快照

1
2
3
1)将虚拟机关机!!!
2)确认磁盘文件是不是QCOW2格式的,RAW格式不支持快照
3)转换:qemu-img convert -f raw -O qcow2    raw磁盘名qcow2磁盘名





1
2
3
4
5
6
#qemu-img snapshot -c name   /var/lib/libvirt/image/disk_name   创建快照
#qemu-img snapshot -l/var/lib/libvirt/image/disk_name         查看快照
#qemu-img snapshot -a name   /var/lib/libvirt/image/disk_name   还原
#qemu-img snapshot -d name   /var/lib/libvirt/image/disk_name   删除
#qemu-img info vmname.raw                                       查看镜像信息
#






结束语:

[*]Qemu是一个广泛使用的开源计算机仿真器和虚拟机。

[*]当作为仿真器时,可以在一种架构(如PC机)下运行另一种架构(如ARM)下的操作系统和程序。通过动态转化,可以获得很高的运行效率,但是在某些功能方面Qemu也不是很完善,希望后续版本会有所改进吧。

[*]当作为一个虚拟机时,qemu可以通过直接使用真机的系统资源,让虚拟系统能够获得接近于真机的性能表现。qemu支持xen或者kvm模式下的虚拟化。当用kvm时,qemu可以虚拟x86、服务器和嵌入式powerpc,以及s390的系统。

至此,Qemu的简单操作介绍完毕。
页: [1]
查看完整版本: KVM之初体验——QEMU安装虚拟机