loading

运维

Ubuntu 18.04 LTS/Debian 9.4 安装KVM虚拟机及管理器

namesilo全网最便宜域名注册商,输入折扣码:nsilo20立减1美元!

KVM基本概念

KVM(全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块,使用 KVM 可允许多个包括 Linux 和 Windows 每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等,KVM 技术已经从最初的概念发展成为企业 IT 基础设施管理系统。可以从kvm client 管理软件这样的单一界面直接访问位于多个远程位置的服务器和设备。KVM over IP 解决方案现在已具备完善的多地点故障转移功能、符合新服务器管理标准 (IPMI) 的直接界面,以及将本地存储媒体映射至远程位置的功能。
桥接(Bridging)是指依据OSI网络模型的链路层的地址,对网络数据包进行转发的过程,工作在OSI的第二层。一般的交换机,网桥就有桥接作用。Ubuntu 18.04 LTS/Debian 9.4 安装KVM虚拟机及管理器
一、检测是否支持硬件虚拟化

方法1:通过命令验证
首先运行如下命令:

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虚拟化功能没有开启。

二、KVM虚拟机及管理器安装

使用下面的命令在ubuntu系统安装KVM虚拟机及虚拟机管理器及相关依赖

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
(0)

本文由 podipod软库网 作者:Anonymous 发表,转载请注明来源!

全国计算机等级考试题库

热评文章

发表评论