KVM简介:
1.KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。
2.是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
3.KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)
一、设置虚拟机支持虚拟化
二、先关闭防火墙和selinux
[root@cany ~]<span class="hljs-comment"># service iptables stop 关闭防火墙</span>
[root@cany ~]<span class="hljs-comment"># setenforce 0 关闭selinux(临时生效)</span>
setenforce: SELinux <span class="hljs-keyword">is</span> disabled
永久生效方法
[root@cany ~]<span class="hljs-comment"># vim /etc/sysconfig/selinux SELINUX=enforcing 改为disabled 并reboot生效</span>
三、检查服务器是否支持虚拟化
[root@cany ~]<span class="hljs-comment"># grep -E -o 'vmx|svm' /proc/cpuinfo</span>
vmx 如果有输出VMX就支持虚拟化
四、安装KVM所需组件,VM使用桥接网络,使用yum安装方式(配置好yum源)
[root@cany ~]<span class="hljs-comment"># yum install -y kvm virt-* libvirts bridge-utils qemu-img</span>
五、加载kvm模块,查看kvm模块是否被加载
[root@cany ~]<span class="hljs-comment"># modprobe kvm-intel</span>
[root@cany ~]<span class="hljs-comment"># lsmod | grep kvm</span>
kvm_intel <span class="hljs-number">54285</span> <span class="hljs-number">0</span>
kvm <span class="hljs-number">333172</span> <span class="hljs-number">1</span> kvm_intel 成功加载!
六、配置网卡,具体参数如下
创建桥接网卡命令 : virsh iface-bridge eth0 br0 或者直接编辑网卡配置
[root@cany ~]<span class="hljs-comment"># virsh iface-bridge eth0 br0 出现下面的错误 重启一下libvirt服务就好了</span>
error: Failed to reconnect to the hypervisor
error: <span class="hljs-keyword">no</span> valid connection
error: Failed to <span class="hljs-keyword">connect</span> <span class="hljs-keyword">socket</span> to <span class="hljs-string">'/var/run/libvirt/libvirt-sock'</span>: No such file <span class="hljs-keyword">or</span> directory
[root@cany ~]<span class="hljs-comment"># /etc/init.d/libvirtd restart</span>
Stopping libvirtd daemon: [ OK ]
Starting libvirtd daemon: [ OK ]
[root@cany ~]<span class="hljs-comment"># virsh iface-bridge eth0 br0</span>
Created bridge br<span class="hljs-number">0</span> with attached device eth<span class="hljs-number">0</span>
Bridge interface br<span class="hljs-number">0</span> started 成功桥接
[root@cany ~]<span class="hljs-comment"># service network restart 重启网卡</span>
此时的网卡信息
注意 :因为eth0网卡因为与br0 网卡进行桥接,所以eth0不显示ip是正常的
七、查看目前所有的网桥接口
[root@cany ~]<span class="hljs-comment"># brctl show</span>
bridge name bridge id STP enabled interfaces
br0 <span class="hljs-number">8000.000</span>c29eb8697 <span class="hljs-literal">yes</span> eth0
virbr0 <span class="hljs-number">8000.525400941201</span> <span class="hljs-literal">yes</span> virbr0-nic
八、修改VNC配置
[root@cany ~]<span class="hljs-comment"># vim /etc/libvirt/qemu.conf</span>
<span class="hljs-comment">#vnc_listen = "0.0.0.0" 去掉 # 号并wq保存</span>
九、重启libvirtd和messagebus服务
<span class="hljs-selector-attr">[root@cany ~]</span># <span class="hljs-selector-tag">service</span> <span class="hljs-selector-tag">libvirtd</span> <span class="hljs-selector-tag">restart</span>
<span class="hljs-selector-tag">Stopping</span> <span class="hljs-selector-tag">libvirtd</span> <span class="hljs-selector-tag">daemon</span>: <span class="hljs-selector-attr">[ OK ]</span>
<span class="hljs-selector-tag">Starting</span> <span class="hljs-selector-tag">libvirtd</span> <span class="hljs-selector-tag">daemon</span>: <span class="hljs-selector-attr">[ OK ]</span>
<span class="hljs-selector-attr">[root@cany ~]</span># <span class="hljs-selector-tag">service</span> <span class="hljs-selector-tag">messagebus</span> <span class="hljs-selector-tag">restart</span>
<span class="hljs-selector-tag">Stopping</span> <span class="hljs-selector-tag">system</span> <span class="hljs-selector-tag">message</span> <span class="hljs-selector-tag">bus</span>: <span class="hljs-selector-attr">[ OK ]</span>
<span class="hljs-selector-tag">Starting</span> <span class="hljs-selector-tag">system</span> <span class="hljs-selector-tag">message</span> <span class="hljs-selector-tag">bus</span>: <span class="hljs-selector-attr">[ OK ]</span>
十、创建、安装LVM虚拟机
[root@cany ~]<span class="hljs-comment"># mkdir /abc 创建镜像存放目录</span>
[root@cany ~]<span class="hljs-comment"># mkdir -p /data/kvm 创建虚拟磁盘存放目录</span>
[root@cany ~]<span class="hljs-comment"># dd if=/dev/cdrom of=/abc/Centos6.iso 把Centos6.5系统的镜像文件拷贝到abc目录下</span>
<span class="hljs-number">8726528</span>+<span class="hljs-number">0</span> records <span class="hljs-keyword">in</span>
<span class="hljs-number">8726528</span>+<span class="hljs-number">0</span> records out
<span class="hljs-number">4467982336</span> bytes (<span class="hljs-number">4.5</span> GB) copied, <span class="hljs-number">157.25</span> s, <span class="hljs-number">28.4</span> MB/s
[root@cany libvirt]<span class="hljs-comment"># cd /data/kvm/ 进入虚拟磁盘目录创建img</span>
[root@cany kvm]<span class="hljs-comment"># qemu-img create -f qcow2 -o preallocation=metadata kvm_cany.img 5G</span>
Formatting <span class="hljs-string">'kvm_cany.img'</span>, fmt=qcow2 size=<span class="hljs-number">5368709120</span> encryption=<span class="hljs-literal">off</span> cluster_size=<span class="hljs-number">65536</span> preallocation=<span class="hljs-string">'metadata'</span>
[root@cany kvm]<span class="hljs-comment"># ls</span>
kvm_cany.img
安装虚拟机
[root@cany kvm]<span class="hljs-comment"># virt-install --name=kvm_cany --ram 512 --vcpus=1 -f /data/kvm/kvm_cany.img --cdrom=/abc/Centos6.iso --graphics vnc,listen=0.0.0.0,port=7788 --force --autostart</span>
Starting install...
Creating domain... | <span class="hljs-number">0</span> B <span class="hljs-number">00</span>:<span class="hljs-number">00</span>
Cannot open display:
Run <span class="hljs-string">'virt-viewer --help'</span> to see a full list <span class="hljs-keyword">of</span> available command line options
Domain installation still <span class="hljs-keyword">in</span> progress. You can reconnect to
the <span class="hljs-built_in">console</span> to complete the installation process.
如果遇到安装失败 请对虚拟磁盘存放目录权限 chmod -R <span class="hljs-number">777</span> /data/kvm
VNC客户端连接KVM虚拟机
软件:VNC Viewer
VNC连上了之后,安装系统就ok了!安装结束后,vnc会自动挂断,因为此时虚拟机并未启动!!!
使用 virsh控制台为 KVM 系统管理若干任务 下面就让我们来手动开启刚刚安装的KVM虚拟机
[root@cany kvm]<span class="hljs-comment"># virsh</span>
Welcome to virsh, the virtualization interactive terminal.
Type: <span class="hljs-string">'help'</span> <span class="hljs-keyword">for</span> help with commands
<span class="hljs-string">'quit'</span> to quit
virsh <span class="hljs-comment"># list --all</span>
Id Name State
----------------------------------------------------
- kvm_cany shut <span class="hljs-literal">off</span>
virsh <span class="hljs-comment"># start kvm_cany</span>
Domain kvm_cany started
重新使用VNC客户端进行连接 并对其网卡进行配置
注意:出现网卡重启失败的话 将eth0网卡配置文件中的 HWADDR修改成MACADDR
<span class="hljs-attribute">rm</span> -rf /etc/udev/rules.d/<span class="hljs-number">70</span>-persistent-net.rules
在虚拟机上查看KVM虚拟机运行状态