CentOS 下 KVM QEMU 虚拟机 安装 配置 详解
一,什么是KVM
KVM包括过多构件:首先,它是一个Linux内核模块(以后席卷在主线中)用于转移管理器到一种新的客商(guset) 方式。客户格局有温馨的ring状态集结,可是特权ring0的下令会沦为随管理器(hypervisor)的代码。由于那是三个新的Computer实践模型,代码无需别的的更换。
而外计算机状态调换,这一个内核模块同样管理十分的小片段低等级次序的模仿,比方MMU注册(用于管理VM)和部分PCI模拟的硬件。
在可预感的前程,Qemu团队专一于硬件模拟和可移植性,同一时间KVM共青团和少先队瞩目于内核模块(借使某个部分确实有品质提高的话,KVM会将一小部分模仿代码移进来)和与剩下的客商空间代码的互动。
kvm-qemu可实践程序像日常Qemu同样:分配RAM,加载代码,分歧于重新编写翻译可能调用calling KQemu,它成立了叁个线程(那个很主要);那个线程调用KVM内核模块去切换成顾客形式,並且去实施VM代码。当遭受三个特权指令,它从新切换会KVM内核模块,该内核模块在急需的时候,像Qemu线程发功率信号去处理超越八分之四的硬件仿真。
本条种类布局二个比较神奇的叁个地点便是客户代码被模仿在叁个posix线程,那允许你采纳日常Linux工具管理。借使您需求三个有2要么4核的虚构机,kvm-qemu创设2恐怕4个线程,各样线程调用KVM内核模块并初叶实行。并发性(若果你有丰硕多的实在核)可能调整(假若你随意)是被通用的Linux调解器,这么些使得KVM代码量相当的小
当三头坐班的时候,KVM管理CPU和MEM的寻访,QEMU仿真硬件能源(硬盘,声卡,USB,等等)当QEMU单独运转时,QEMU同一时候效仿CPU和硬件。
二,安装配备KVM
# yum -y install kvm python-virtinst libvirt bridge-utils
virt-manager qemu-kvm-tools virt-viewer virt-v2v qemu-kvm tunctl
[root@localhost ~]#vim /etc/sysconfig/selinux //关闭selinux
SELINUX=disabled
[root@localhost ~]#reboot
[root@localhost ~]# cat
/etc/RedHat-release
CentOS release 6.5
(Final) //centos 6.5
三,启动libvirtd
[root@localhost ~]# /etc/init.d/libvirtd start //启动
[root@localhost ~]# ps -e|grep libvirtd //查看是还是不是运转
19458 ? 00:00:01 libvirtd
四,查看kvm模块是不是科学加载
[root@localhost ~]# lsmod |grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
五,配置网络桥接
[root@localhost network-scripts]# cat ifcfg-eth0 |awk '{if($0 !~ /^$/
&& $0 !~ /^#/) {print $0}}'
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
IPV6INIT=no
HWADDR=F8:BC:12:60:99:86
[root@localhost network-scripts]# cat ifcfg-br0 |awk '{if($0 !~ /^$/
&& $0 !~ /^#/) {print $0}}'
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.103
GATEWAY=192.168.10.1
NETMASK=255.255.255.0
DNS1=192.168.10.1
IPV6INIT=no
DELAY=0
重启网络,开掘报以下错误:
[root@localhost network-scripts]# /etc/init.d/network start
弹出环回接口: [确定]
弹出分界面 eth0: 错误:激活连接战败:Master connection not found or
invalid
[失败]
弹出分界面 br0: 错误:激活连接失利:Failed to determine connection's
virtual interface name
[失败]
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
化解办法:
[root@localhost rules.d]# service NetworkManager stop
//这些闭馆掉就行
终止 NetworkManager 守护进度: [确定]
[root@localhost rules.d]# service network restart
正在闭馆接口 br0: [确定]
正在闭馆接口 eth0: [确定]
闭馆环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: [确定]
弹出分界面 br0: Determining if ip address 192.168.10.103 is already in
use for device br0...
[确定]
譬喻以下内容就证实配置成功了:
[root@localhost network-scripts]# ifconfig
br0 Link encap:Ethernet HWaddr F8:BC:12:60:99:86 //有这么些就OK
inet addr:192.168.10.103 Bcast:192.168.10.255
Mask:255.255.255.0
inet6 addr: fe80::fabc:12ff:fe60:9986/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:36416 errors:0 dropped:0 overruns:0 frame:0
TX packets:28648 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:13151508 (12.5 MiB) TX bytes:5962449 (5.6 MiB)
eth0 Link encap:Ethernet HWaddr F8:BC:12:60:99:86
inet6 addr: fe80::fabc:12ff:fe60:9986/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1360857 errors:0 dropped:0 overruns:0 frame:0
TX packets:902173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1913592871 (1.7 GiB) TX bytes:72387220 (69.0 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:176842 errors:0 dropped:0 overruns:0 frame:0
TX packets:176842 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:880282316 (839.5 MiB) TX bytes:880282316 (839.5 MiB)
virbr0 Link encap:Ethernet HWaddr 52:54:00:1A:B6:F1
inet addr:192.168.122.1 Bcast:192.168.122.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:4651 (4.5 KiB)
[root@localhost network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.f8bc12609986 no eth0 //有那一个就OK
virbr0 8000.5254001ab6f1 yes virbr0-nic
六,用virt-install生成.img文件
# virt-install
--name=Ubuntu1
--ram 1024 --vcpus=1
--disk path=/root/ubuntu1.img,size=10
--accelerate --cdrom /root/ubuntu-14.04-desktop-amd64.iso
--graphics vnc,port=5920 --network bridge=br0
设若报以下错误:
could not open disk image : Permission denied
缓和方式:
[root@localhost ~]# cat /etc/libvirt/qemu.conf |awk '{if($0 !~ /^$/
&& $0 !~ /^#/) {print $0}}'
vnc_listen = "0.0.0.0"
user = "root" //去掉注释
group = "root" //去掉注释
dynamic_ownership = 0 //去掉注释,把1改为0
dynamic_ownership = 0 //去掉注释,把1改为0
这一步做完,系统文件就好了。
七,运维虚构机
一经报以下错误
[root@localhost ~]# virsh start ubuntu1
指鹿为马:域已经活跃
化解办法:
[root@localhost ~]# pkill qemu-kvm
[root@localhost ~]# virsh start ubuntu1
域 ubuntu1 已开始
[root@localhost ~]# virt-viewer ubuntu1 //进入图形分界面
Linux入门学习课程:虚构机体验之QEMU篇 http://www.linuxidc.com/Linux/2015-03/114461.htm
Ubuntu 12.04之找不到Qemu命令 http://www.linuxidc.com/Linux/2012-11/73419.htm
Arch Linux上安装QEMU+EFI BIOS http://www.linuxidc.com/Linux/2013-02/79560.htm
QEMU的翻译框架及调节和测量试验工具 http://www.linuxidc.com/Linux/2012-09/71211.htm
QEMU 代码剖判:BIOS 的加载进程 http://www.linuxidc.com/Linux/2014-12/110472.htm
QEMU
的事无巨细介绍:请点这里
QEMU
的下载地址:请点这里
本文永远更新链接地址:http://www.linuxidc.com/Linux/2015-08/121663.htm
本文由js9905com金沙网站-金沙澳门手机版网址发布于计算机,转载请注明出处:CentOS 下 KVM QEMU 虚拟机 安装 配置 详解