热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Ubuntu服务器应用KVM实现虚拟化速成手册

本文教大家如何让KVM在Ubuntu服务器上顺畅运行、安装多个访客操作系统、管理存储,以及将访客操作系统迁移到新主机上。作为Linux内核虚拟机管理程序,KVM称得上是企业级虚拟化领域的后起之秀。它有诸多优点:非常精简,因而占用资源少,运行起来速度快,可以轻松自如地运行没有经过改动的访客操作系统。在这堂速成课中,我们会迅速让KVM在Ubuntu服务器上运行起来、安装多个访客操作系统、

  本文教大家如何让KVM在Ubuntu服务器上顺畅运行、安装多个访客操作系统、管理存储,以及将访客操作系统迁移到新主机上。

  作为Linux内核虚拟机管理程序,KVM称得上是企业级虚拟化领域的后起之秀。它有诸多优点:非常精简,因而占用资源少,运行起来速度快,可以轻松自如地运行没有经过改动的访客操作系统。在这堂速成课中,我们会迅速让KVM在Ubuntu服务器上运行起来、安装多个访客操作系统、管理存储,以及将访客操作系统迁移到新主机上。

  KVM与Ubuntu服务器

  KVM的全称是“基于内核的虚拟机”,最先由Qumranet公司开发而成。2008年,红帽公司收购了Qumranet,将KVM作为服务器版红帽企业级虚拟化(RHEV)的核心部分。KVM采用了GPL许可证模式,是主线内核(mainline kernel)的一部分,因而任何Linux发行版都能支持它。KVM是一种类型2虚拟机管理程序,这意味着它在操作系统里面运行。一些流行的类型2虚拟机管理程序包括Xen和VirtualBox。类型1虚拟机管理程序(如IBM的z/VM和VMWare ESXi)则可以直接在裸机上运行,不需要什么操作系统。KVM几乎支持任何访客操作系统:Linux、Mac OS X、Unix、Windows以及你所采用的其他任何操作系统。

  与KVM一样,Ubuntu服务器也发展成为一款面向企业的重量级服务器。Ubuntu支持x86和x86 64位平台上的KVM。与红帽和Novell这两大企业级Linux开发商不一样,你没必要进行注册或者理睬销售噱头,www.linuxidc.com就可以下载和测试Ubuntu。如果你想要获得培训、商业支持或者在线服务(比如Landscape系统管理器或Ubuntu云服务),你想要的时候,就能随时获取。

  系统要求

  就这堂速成课而言,你需要配备英特尔VT或AMD-V处理器的Ubuntu计算机,因为这些处理器包含特殊的扩展功能,可以原生支持虚拟机。(想了解更多信息,请参阅KVM的处理器支持页面:http://www.linux-kvm.org/page/Processor_support)。我在本文中使用了11.04 Natty Narwhal 64位版本。我建议使用Ubuntu服务器作为你生产环境的KVM服务器;但是进行测试的话,任何Ubuntu都可以。使用该命令,看看你的x86处理器有没有虚拟化扩展功能:

  $ egrep -o '(vmx|svm)' /proc/cpuinfo

  vmx

  vmx

  这个示例显示了能够支持虚拟化的双核英特尔处理器。你可能不得不在你系统的BIOS中启用虚拟化扩展功能。确保这项功能已启用,否则KVM无法正常运行。

  你可以在64位系统上运行32位或64位访客操作系统,但是在32位系统上却只能运行32位访客操作系统。使用大量内存是好事,使用多核处理器也是如此。Ubuntu服务器占用系统资源很少,因而给你的虚拟机访客操作系统留出了更多资源。Ubuntu服务器系统的最低要求是300 MHz处理器、128 MB内存和1 GB硬盘空间。这个要求非常低。为了测试KVM,我建议至少为你的访客操作系统配备2 GHz处理器、2 GB内存以及足够的磁盘空间,另外还要有数据存储系统。为生产服务器配置资源很难做到非常准确。如果你仅仅把所有访客操作系统的系统要求叠加起来,很可能面临一台配置过度的机器,除非你的访客操作系统始终在全速运行。虚拟机的其中一个优点是,可以更高效地使用硬件,因为当一个访客操作系统闲置时,另一个访客操作系统忙碌运行。如果你配置资源过少,服务器变得不堪重负时,那么可以将访客操作系统转移到不同主机上。所以,你有很大的活动余地,不需要一开始就在资源配置方面做到完美。


推荐阅读
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
author-avatar
十点半的
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有