Tips:因为博客园排版的原因,图片显示不清晰,可以放大网页查看清晰图片。

如果系统使用物理机,需要在BIOS里面开启Intel VT-x(或AMD-V),如果是VMware workstation,还须将处理器的虚拟化引擎中的三项开启。

本机主要硬件配置(使用VMware workstation模拟)

CPU:i5-6200U(2核)

内存:4G

硬盘:SATA 100Gx2

网卡:Intel(R) 82574Lx2

安装Linux

这里我使用的是CentOS 7.4,其他发行版的Linux也可以。使用KVM可以完全命令行操作,但本文旨在简单介绍KVM,所以通过GUI操作。附加环境建议选上Compatibility Libraries、Development tools,如果英文水平有限语言可以选择中文,具体如何选择Linux环境查看下一节。

安装KVM

安装KVM有多种方式可供选择

1.安装系统时,在基础环境中选择Virtualization Host,附加环境中选择Virtualization Platform,这将仅安装基础虚拟化环境和命令行工具,此时只能通过命令行管理虚拟机。

2.安装系统时,在基础环境中选择Server with GUI,附加环境选择Virtualization Client, Virtualization Hypervisor, and Virtualization Tools,除了将安装虚拟化环境和命令行工具,还将安装一个管理虚拟机的图形工具(virt-manager)。

3.手动安装

在已经安装好的Linux中,安装下列rpm包。

qemu-kvm:此包提供hypervisor以及宿主机和虚拟机之间的通信。

qemu-img:此包提供虚拟机磁盘管理工具。

libvirt:简单来说就是提供控制hypervisor的库,基于这个库可以编写各种工具管理虚拟机。还提供了负责处理库调用、管理虚拟机和hypervisor的名为libvirtd守护进程。
4.编译安装

Tips:qemu-img是qemu-kvm的依赖包,所以安装命令中可以不敲出qemu-img。

yum install qemu-kvm libvirt

一些可选择的工具包

virt-install:这个包提供了virt-install命令,用于从命令行创建虚拟机。

libvirt-python:这个包包含一个模块,它允许用Python编写的应用程序使用libvirt 提供的API。

virt-manager:这个包提供了virt-manager工具,也称为Virtual Machine Manager。这是一个用于管理虚拟机的图形工具,它使用libvirt-client库作为管理API。

libvirt-client:此包提供用于访问libvirt的API和库,还包括virsh,用于从命令行管理和控制虚拟机。

yum install virt-install libvirt-python virt-manager virt-install libvirt-client

Tips:因为virt-manager是一个图形界面工具,所以要使用virt-manager,Linux必须安装图形界面。

写本文时,我采用的是第3种方式手动部署,并安装了所有列举的可选择包。不过一段时间后我再次使用该方式在CentOS 7.4手动部署,却始终无法启动libvirtd服务,推测是centos默认yum源(Base)中libvirt的版本升级,版本较高导致CentOS 7.4的默认环境不再适用,所以还是更推荐前两种方法,或者手动安装时使用ISO镜像源。

libvirtd服务非常重要,必须确保该服务能够正常运行,才能使用各种管理工具。

GUI创建虚拟机

按 win ,选择全部,打开虚拟系统管理系统,也就是virt-manager

选择从本地安装介质

定位安装介质,这里选择使用ISO映像

可以向默认路径复制系统ISO,然后刷新。

也可以选择本地浏览,选择自定义路径中的映像。

设置内存和CPU

这个可以理解为设置系统盘大小,选项“选择或创建自定义存储”是设置虚拟机存储路径,我这里直接前进使用默认路径。

虚拟机储存路径如图,如果想要手动配置一些硬件相关信息,可以勾选在安装前自定义设置, 网络维持默认的虚拟网络NAT即可。

Tips:如果选择安装前自定义配置,需要再次手动设置ISO映像位置。

点击开始安装

Tips:virt-manager和VMware workstation差不多,多尝试几次就熟悉了,可以参考:https://virt-manager.org/

此外,本文只是简单介绍KVM,更多关于KVM可以参考系列文章

主流服务器虚拟化技术简单使用——KVM(一)的更多相关文章

  1. 主流服务器虚拟化技术简单使用——KVM(二)

    通过Linux工具管理KVM 主流服务器虚拟化技术简单使用——KVM(一)部署了一台KVM主机,提到KVM可以通过命令行工具(virt-install.virsh)和GUI工具(virt-manage ...

  2. 主流服务器虚拟化技术简单使用——Hyper-V(二)

    当在多台Windows Server上部署了hyper-v的时候,需要采用合适的方法管理这些hyper-v节点. 远程桌面 最简单的方法就是逐台远程桌面登陆Windows Server,再使用每台本地 ...

  3. 主流服务器虚拟化技术简单使用——Xen(一)

    Tips:因为博客园网页布局的原因,部分图片显示不清晰,可以放大网页查看清晰图片. 如果系统使用物理机,需要在BIOS里面开启Intel VT-x(或AMD-V),如果是VMware workstat ...

  4. 主流服务器虚拟化技术简单使用——Hyper-V(一)

    Tips:因为博客园排版的原因,图片显示不清晰,可以放大网页查看清晰图片. 如果系统使用物理机,需要在BIOS里面开启Intel VT-x(或AMD-V),如果是VMware workstation, ...

  5. 主流服务器虚拟化技术简单使用——Xen(二)

    管理多台Xen主机可以使用GUI工具virt-manager和xm.xl等命令行工具. Tips:hypervisor一定要选到Xen web管理工具 Xen也有一个简易web管理工具叫xenwebm ...

  6. 虚拟化技术xen,kvm,qemu区别

    虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些 ...

  7. [51CTO]服务器虚拟化开源技术主流架构之争

    服务器虚拟化开源技术主流架构之争 http://virtual.51cto.com/art/201812/589084.htm 大部分客户已经是KVM+OpenStack的架构了 我所见到的 工商云 ...

  8. 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较

    1.Xen.KVM.VMware.hyper-v等虚拟化技术的比较,xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 ...

  9. 虚拟化技术:Xen与KVM的对比

    作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个无与伦比的优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是 ...

随机推荐

  1. libpcap编程实例

    #include <stdio.h> #include <stdlib.h> #include <pcap.h> #include <errno.h> ...

  2. UEFI下win10+Ubuntu双启动后完全纯净卸载Ubuntu,重建BCD

    以下内容操作具有风险,操作前请提前备份数据.建议由有丰富经验的人使用,需要掌握diskpart. 背景 使用ubuntu+win10 dual boot后,需要重置回纯净win10系统. BCD是Bo ...

  3. 基于AspNet Core2.0(测试版) 开发框架,包含简单的个人博客Demo

    大家好,最近离职了,利用闲暇时间就捣鼓了一个基于AspNet Core开发框架,分享出来希望能给AspNet Core学者带来一些帮助,同时也能跟大家一起学习.当然了,由于我的个人技术及经验的有限,框 ...

  4. 从命令行运行 MyBatis Generator

    ? ? 一.准备 1. 获取最新jar包 2. 获取xml dtd <?xml version="1.0" encoding="UTF-8"?> & ...

  5. 编写高质量代码改善C#程序的157个建议——建议78:应避免线程数量过多

    建议78:应避免线程数量过多 在多数情况下,创建过多的线程意味着应用程序的架构设计可能存在着缺陷.经常有人会问,一个应用程序中到底含有多少线程才是合理的.现在我们找一台PC机,打开Windows的任务 ...

  6. mybatis SqlMapConfig.xml

    一.SqlMapConfig.xml 1.属性properties 在入门时,以抽取出连接数据库的属性得到properties文件. a.可以通过resource和url来获得属性. b.proper ...

  7. 10、Semantic-UI之图片的使用

    10.1 图片的使用 定义有边框的图片样式 <img class="ui medium bordered image" src="../images/pic.png ...

  8. MVC4 View 的呈现

    一 ActionResult: 1. EmptyResult: Action方法返回的ActionResult对象被ActionInvoker 调用以实现对当前请求的响应,不论Action方法是否具有 ...

  9. Android-Application来传递数据

    在上一篇博客中介绍到,Android-Intent意图传递数据,能够传递基本数据类型系列,能够传递对象(需要序列化),等操作: 但是如果要传递 List<T>,这种类型的数据,就不能通过I ...

  10. Oracle 表关联性 Update 语句的改写,推荐改写方法1

    同事写了一个逻辑稍复杂的Update 语句,觉得在代码可读性上有些转圈,交给我帮忙改下. 以下根据原SQL,使用两种方法进行改写,个人推荐方法1的改写.方法2拆分两个SQL来写,代码可读性最强,但是S ...