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. STL中mem_fun, mem_fun_ref用法

    1.引言 先看一个STL中for_each的用法: #include <iostream> #include <vector> #include <algorithm&g ...

  2. Part2_lesson4---ARM寻址方式

    所谓寻址方式就是处理器根据指令中给出的信息来找到指令所需操作数的方式. 1.立即数寻址 ADD R0,R0,#0x3f; R0<-R0+0x3f 在以上指令中,第二个源操作数即为立即数,要求以“ ...

  3. 兼容低于IE9不支持html5标签的元素的方法

    方法一: <!--[if lt IE9]> <script>    (function() {     if (!      /*@cc_on!@*/     0) retur ...

  4. java Concurrent包学习笔记(四):BlockingQueue

    一.BlockingQueue概述 1.阻塞的含义 BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞.被阻塞的情况主要有如下两种: ,当一个线程对 ...

  5. Redis实现高并发下的抢购、秒杀功能

    博主最近在项目中遇到了抢购问题!现在分享下.抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖" ...

  6. 编写高质量代码改善C#程序的157个建议——建议142:总是提供有意义的命名

    建议142:总是提供有意义的命名 除非有特殊原型,否则永远不要为自己的代码提供无意义的命名. 害怕需要过长的命名才能提供足够的意义?不要怕,其实我们更介意的是在代码的时候出现一个iTemp. int ...

  7. Reactor模式和NIO(转载二)

    本文可看成是对Doug Lea Scalable IO in Java一文的翻译. 当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作.他们都有一个共同的 ...

  8. [LeetCode 题解]:Combinations

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  9. [js]利用闭包向post回调函数传参数

    最近在闲逛校园XX站的时候,打算搞个破坏,试试有多少人还是用初始密码登陆.比较懒,所以直接打开控制台来写. 所以问题可以描述为: 向后端不断的post数据,id从1~5000自增,后端会根据情况来返回 ...

  10. ASP.NET MVC 使用过滤器需要注意

    想往下继续执行就return~