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

CentOS6.5系统安装KVM虚拟机

kernel-basedVirtualMachine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(

kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。

KVM虚拟机安装与使用

1.前期准备

1.1确定机器有VT

不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo

如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。

1.2 确保BIOS里开启VT:

Intel(R) Virtualization Tech [Enabled]

如有必要,还需在BIOS中开启VT

2.KVM虚拟机安装

安装相关的软件包

# yum -y groupinstall 'Virtualization' 'Virtualization Client' 'Virtualization Platform'

软件包安装完毕后,加载kvm模块

# modprobe kvm

检查模块是否加载成功,执行如下命令,

# lsmod |grep kvm

如果显示两行,说明模块正确加载

kvm_intel 47790 0

kvm 300762 1 kvm_intel

如果只显示一行,请检查

1,cpu是否支持VT技术

2,bios中是否将cpu的VT开启

接下来配置桥接网卡,网上有现成的脚本可以使用,这个是我在之前测试convirt时发现的,实际上是convirt的环境配置工具。

先将工具包下载下来下了

wget --no-cache http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz

然后解压软件包吧

# tar zxvf convirture-tools-2.0.1.tar.gz

# /root/convirture-tools/install/managed_server/scripts/convirt-tool --bridge setup

执行完上述命令后,会自动将桥接网卡配置好,跑桥接自动好

启动服务

/etc/init.d/libvirt-guests start

/etc/init.d/libvirtd start

到此,kvm虚拟化环境就全部配置完毕了

接下来我们用虚拟机来安装一个windows2003实际体验一下。

首先下载virto for win驱动,下载地址如下

http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/

列表中的virtio-win-0.1-22.iso是安装windows完成后,使用的光盘驱动镜像(含virtio网卡和硬盘驱动)

软盘驱动目前从上面的url中移除了(原因不知),好在蚊子将其上传到了115网盘中,下载连接如下

http://115.com/file/annuyfsk#virtio-win-1.1.16.vfd

准备工作就绪,下面就开始安装windows2003

执行如下命令

# virt-install --name=win2k3 --ram=1024 --vcpus=2 --cpu host --cdrom=/data/win2003-1.iso --os-type=windows  --disk /data/vm/win2k3.img,size=10,bus=virtio,cache=writeback --disk /data/virtio-win-1.1.16.vfd,device=floppy --network bridge=br0,model=virtio ?graphics vnc,port=9901,listen=192.168.10.100,password=123456 --hvm --force

下面对上面的命令进行解读

--name    给虚拟机起个名字 
--ram       分配给虚拟机的内存,单位MB 
--vcpus   分配给虚拟机的cpu个数 
--cpu host   将宿主机的cpu配置传递给虚拟机,这样虚拟机可以使用宿主机cpu的很多features 
--cdrom       指定windows安装文件的全路径 
--disk        指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行 
size      虚拟机文件大小,单位GB 
bus      虚拟机磁盘使用的总线类型,为了使windows达到好的性能,这里使用virtio 
cache   虚拟机磁盘的cache类型 
之后还有一个--disk参数,这里是加载软驱文件device=floppy 
--network bridge    指定桥接网卡 
model  网卡模式,这里也是使用性能更好的virtio 
--graphics         图形参数 
 

执行完毕后,如果没有什么报错的话,即可以通过vnc的客户端进行连接了。之后的安装方式就和在真实服务器上安装windows一样了。这里蚊子截了几张图

如果不加载virtio的驱动,硬盘是认不出来的。如上图所示

  
加载软盘文件后,在安装windows2003时,点击F6,进入到加载驱动的界面。如上图

关于virt-install的命令可以查看man手册,或在线慢手册,地址为:http://linux.die.net/man/1/virt-install


推荐阅读
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 本文介绍了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的问题,并提供了解决方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
Shimmoon
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有