检测服务器是否支持运行KVM虚拟机

我们需要使用" kvm-ok"命令来确定服务器是否支持KVM虚拟机。

首先使用以下apt-get命令安装cpu-checker软件包:

$ sudo apt-get install cpu-checker

运行cpu-checker:

$ sudo kvm-ok

输出示例:

KVM acceleration can be used

创建一个CentOS Linux虚拟机

下载CentOS Linux 7.x ISO文件:

$ cd /var/lib/libvirt/boot/
$ sudo wget http://mirrors.kernel.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
$ ls

使用virt-install命令创建新的虚拟机:

$ sudo virt-install \
--virt-type=kvm \
--name centos7 \
--ram 1024 \
--vcpus=1 \
--os-variant=rhel7 \
--hvm \
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1511.iso \
--network network=default,model=virtio \
--graphics vnc \
--disk path=/var/lib/libvirt/images/centos7.img,size=20,bus=virtio

virt-install选项说明

  • --virt-type = kvm:使用kvm作为管理程序来安装CentOS7 guest虚拟机。
  • --name centos7:虚拟机实例的名称。
  • --ram 1024:分配给虚拟机实例的内存(MB为单位)。
  • --vcpus = 1:为虚拟机配置的虚拟cpus数。
  • --os-variant = rhel7:针对特定的操作系统变型优化虚拟机配置。使用virt-install --os-variant list查看完整的操作系统列表。
  • --hvm:请求使用完全虚拟化。
  • --cdrom =/var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1511.iso:文件或设备用作虚拟CD-ROM设备。它可以是ISO映像或CDROM设备的路径。
  • --network network = default,model = virtio:将客户连接到主机网络。在此示例中,使用称为virtio的模型接口连接到名为default的主机中的虚拟网络。
  • --graphics vnc:在客户机中设置虚拟控制台,并将其导出为主机中的VNC服务器。
  • --disk path =/var/lib/libvirt/images/centos7.img,size = 20,bus = virtio:指定用作虚拟机存储的介质。 /var/lib/libvirt/images/centos7.img存储介质的路径,大小为20GB。将磁盘总线类型设置为virtio,

VNC服务器说明

什么是headless server?
headless server表示无外设的服务器,即没有显示器,键盘和鼠标。

我们可以笔记本电脑上使用vnc客户端来作为服务器终端。

查看vnc服务器端口

$ sudo virsh dumpxml centos7 | grep vnc

记下port号。
我们将使用SSH客户端设置隧道,然后使用本地笔记本上的VNC客户端访问远程vnc服务器。

设置VNC控制台

执行以下SSH端口转发命令:

$ ssh jack@server1.onitroad.local -L 5901:127.0.0.1:5901

其中:

  • ssh jack@server1.onitroad.local在server1.onitroad.local主机上建立到远程KVM主机的SSH会话。
  • -L开始本地端口转发。
  • 5901:127.0.0.1:5901设置隧道,即通过网络传递流量以访问远程服务器127.0.0.1和端口5901。

建立ssh隧道之后,在VNC客户端中指定host为127.0.0.1(localhost),端口指定为5901。连接。
您应该看到CentOS Linux 7 guest虚拟机安装屏幕

只需按照屏幕上的说明安装CentOS7。
当安装完成后,点击重启按钮。
远程服务器将关闭与我们的VNC客户端的连接。

执行以下命令来首次启动虚拟机:

$ sudo virsh start centos7

验证一下:

$ sudo virsh list

输出示例:

Id    Name                           State
----------------------------------------------------
5     centos7                        running

什么是虚拟机管理程序hypervisor?

KVM是创建和运行虚拟机的hypervisor管理程序。
运行hypervisor的服务器称为主机(host)。
每个虚拟机都称为来宾服务器(guest machine)。
使用KVM,您可以运行多种操作系统,例如CentOS,OpenBSD,FreeBSD。

KVM默认配置位置

  • KVM默认目录:/var/lib/libvirt /
  • 用于安装的ISO映像:/var/lib/libvirt/boot /
  • KVM虚拟机默认安装目录:/var/lib/libvirt/images /
  • LVM/LXC/qemu的Libvirt配置目录:/etc/libvirt /

KVM虚拟机默认网络

默认网络名称为default。

查看网络列表:

$ sudo virsh net-list

查看网络的详细信息:

$ sudo virsh net-info default

以XML格式导出网络的信息:

$ sudo virsh net-dumpxml default

在Ubuntu Linux上安装kvm

执行以下apt-get命令以安装kvm和相关软件:

$ sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils
如何在Ubuntu 14.04 LTS服务器上安装KVM

如何安装KVM虚拟机?
如何在Ubuntu Linux 14.04 LTS服务器上使用KVM运行多个虚拟机?
如何使用KVM虚拟机运行多个Linux操作系统?

日期:2020-03-23 08:03:59 来源:oir作者:oir