egrep -c '(svm|vmx)' /proc/cpuinfo
该命令会统计cpuinfo文件中svm和vmx出现的次数。其中svm是ADM的ADM-V虚拟化技术标识,全称secure virtual machine,vmx是Intel的硬件虚拟化技术VT-x,标识是vmx,全称为virtual machine extension。如果返回的是数字0,则表示你的机器不支持KVM或者bios中没有开启硬件虚拟化。那么我们就只能使用Virtualbox或VMware来创建虚拟机了.如果返回的数字大于0,那么表示CPU支持硬件虚拟化,我们就能使用KVM来创建虚拟机.我的4核Intel CPU都支持VT-x硬件虚拟化,所以我得到的返回值是4.
方法2:通过软件验证
安装cpu-checker之后通过运行kvm-ok来验证:
$ sudo apt-get install cpu-checker kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
默认情况下,下面运行的命令后面的输出都会直接在命令后面贴出,不带$符的地方表示命令输出结果,#后面接注释。
出现上述提示表示机器也支持kvm虚拟化,如果你的提示如下:
INFO: Your CPU does not support KVM extensions INFO: For more detailed results, you should run this as root HINT: sudo /usr/sbin/kvm-ok
不好意思,表示你的机器不支持KVM,可以进入bios之后查看是不是CPU虚拟化功能没有开启。
sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager virtinst virt-viewer
执行结束后可以使用kvm命令进行检测是否安装成功。
它们的作用分别为:
kvm: KVM的内核,通常linux系统自带
qemu-kvm: KVM的设备模拟器,实际上kvm只是负责加速,qemu才是虚拟机管理器
libvirt-bin: libvirt库,虚拟机命令行管理工具,包含很多实用工具,如后面需要大量使用的virsh。(安装之后会生成一个名为virbr0的网桥)
virtinst: 虚拟机创建(virt-install)和克隆工具(vrit-clone)等
birdge-utils: 用于桥接网卡的工具,如命令brctl)
如果有图形化桌面,推荐安装virt-manager,这个工具可以非常方便地图形化管理虚拟机,就像常见的virtualbox/vmware界面那样,可以通过点点鼠标来完成虚拟机的管理。
KVM管理工具的一些注解及一些实用工具
libvirt:操作和管理KVM虚机的虚拟化API,使用C语言编写,可以由Python,Ruby, Perl, PHP, Java等语言调用。可以操作包括KVM,vmware,XEN,Hyper-v, LXC,virtualbox等 Hypervisor。
virsh:基于libvirt的命令行工具,后面需要大量使用
virt-v2v:虚机格式迁移工具,该工具与virt-sysprep都包含在包libguestfs-tools中,后面布署中会用到
virt-install:创建KVM虚机的命令行工具
virt-viewer:连接到虚拟机屏幕的工具,需要主机有桌面环境,该工具需要单独安装sudo apt-get install virt-viewer
virt-clone:虚机克隆工具
virt-top:类似于linux系统下的top命令,可以显示所有虚拟机CPU、内存等使用情况,该工具需要单独安装sudo apt-get install virt-top
命令中的bridge-utils可以让KVM虚拟机进入网桥模式,这样局域网内其他的设备可以看见这台虚拟机。
sudo vim /etc/network/interfaces
添加如下内容:
auto br0 iface br0 inet static address 10.18.44.26 netmask 255.255.255.192 broadcast 10.18.44.63 dns-nameservers 10.0.80.11 10.0.80.12 # set static route for LAN post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.44.1 post-up route add -net 161.26.0.0 netmask 255.255.0.0 gw 10.18.44.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 # br1 setup with static wan IPv4 with ISP router as a default gateway auto br1 iface br1 inet static address 208.43.222.51 network 255.255.255.248 netmask 255.255.255.0 broadcast 208.43.222.55 gateway 208.43.222.49 bridge_ports eth1 bridge_stp off bridge_fd 0 bridge_maxwait 0
重启networking服务:
sudo systemctl restart networking
查看网络接口:
ifconfig br0 Link encap:Ethernet HWaddr 26:d4:a9:24:7e:4b inet addr:10.18.44.26 Bcast:10.18.44.63 Mask:255.255.255.192 inet6 addr: fe80::24d4:a9ff:fe24:7e4b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:46 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:5530 (5.5 KB) br1 Link encap:Ethernet HWaddr 52:05:76:68:a9:ae inet addr:208.43.222.51 Bcast:208.43.222.55 Mask:255.255.255.0 inet6 addr: fe80::5005:76ff:fe68:a9ae/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:76 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:6802 (6.8 KB) virbr0 Link encap:Ethernet HWaddr 52:54:00:ef:bb:a4 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
到此结束KVM虚拟机及虚拟机管理器安装!
其它常用命令
$ sudo virsh list # 列出运行的虚拟机 $ sudo virsh shutdown centos7 # 关闭虚拟机 $ sudo virsh start centos7 # 启动虚拟机 $ sudo virsh suspend centos7 # 挂起虚拟机 $ sudo virsh reboot centos7 # 重启 $ sudo virsh reset centos7 # 重置 # 删除虚拟机 $ sudo virsh undefine centos7 $ sudo virsh destroy centos7 # 查看帮助 $ virsh help # 列出可使用的系统名 osinfo-query os
本文由 podipod软库网 作者:DevOps 发表,转载请注明来源!