在安装完了openstack,使用了两年后的今天,如果连KVM都不晓得的话,那也真的是太扯了。


今天在一台测试机上搞了下linux的kvm来耍。安装了windows的server和windows的desktop,感觉太快了。感觉离不开了。


废话不多说了,说说是怎么装的。


首先得需要看看你的cpu支持虚拟化不。

关闭防火墙,关闭selinux


首先得需要安装KVM套件

# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer bridge-utils virt-viewer

安装完套件后需要重启服务器,重启服务都不行。


不重启服务器会出现下面的错误提示,把libvirt服务设置开机启动,重启服务器。

# systemctl start libvirtd

# systemctl enable libvirtd

# virsh -c qemu:///system list

error: failed to connect to the hypervisor

error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory


然后更改网络配置,添加桥接(这是我的centos7的环境下添加网络桥接的方式)

# nmcli c add type bridge autoconnect yes con-name br0 ifname br0

安装自己的网络方式编辑该网络文件。重启网络。

下面的表格显示了eth0和br0的静态ip配置内容,可以根据下面进行编辑

**** static ip配置 *****
/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:14:5E:C2:1E:40
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.10.1.152
NETMASK=255.255.255.0
ONBOOT=yes

下面表格显示的eth0和br0的DHCP配置情况.

**** DHCP配置 ****
/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:14:5E:C2:1E:40
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
BOOTPROTO=dhcp
ONBOOT=yes





创建一个虚拟机镜像文件

# qemu-img create -f qcow2 windows7test.img 20G


创建一个虚拟机(使用桥接网络)

# virt-install -n windows_sqlserver -r 2048 --vcpus=2 --os-type=windows --accelerate -c /home/software/cn_Win7_ult_sp1_x64.iso --disk path=/vhost/windows_sqlserver.img

,format=qcow2,bus=ide --network bridge=br0 --vnc --vncport=5992 --vnclisten=0.0.0.0 --force --autostart


使用nat模式网络创建虚拟机

# virt-install -n windows_sqlserver -r 2048 --vcpus=2 --os-type=windows --accelerate -c /home/software/cn_Win7_ult_sp1_x64.iso --disk path=/vhost/windows_sqlserver.img

,format=qcow2,bus=ide --network network=default --vnc --vncport=5992 --vnclisten=0.0.0.0 --force --autostart


kvm nat网络配置文件/etc/libvirt/qemu/networks/default.xml


查看kvm网络设备: virsh net-list


TroubleShooting : 

  1.  ERROR    Guest name ‘convirt’ is already in use.

               使用   virsh undefine 命令来解除domain name的绑定,首先可以使用virsh destory 来销毁一个虚拟机。

2. 


使用vnc连接到该虚拟机我不知道为什么只能使用TightVNC 不能使用RealVNC


然后就按照平时装系统的步骤进行就可以了。