热门标签 | 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


推荐阅读
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 在测试软件或进行系统维护时,有时会遇到电脑蓝屏的情况,即便使用了沙盒环境也无法完全避免。本文将详细介绍常见的蓝屏错误代码及其解决方案,帮助用户快速定位并解决问题。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
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社区 版权所有