热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redhat/CentOS6.532位系统安装KVM虚拟机详细步骤

什么是KVM?KVM是指基于Linux内核的虚拟机(Kernel-basedVirtualMachine)。2006年10月,由以色列的Qumranet组织开发的一种新的“虚拟机”实现方案。2007年2月发布的Linux2.6.20内核第一次包含了KVM。增加KVM到Linux内核是Linux发
什么是 KVM ?

KVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。 2006 年 10 月,由以色列的Qumranet 组织开发的一种新的“虚拟机”实现方案。 2007 年 2 月发布的 Linux 2.6.20 内核第一次包含了 KVM 。增加 KVM 到 Linux 内核是 Linux 发展的一个重要里程碑,这也是第一个整合到 Linux 主线内核的虚拟化技术。

KVM 在标准的 Linux 内核中增加了虚拟技术,从而我们可以通过优化的内核来使用虚拟技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)。

一个典型的 KVM 安装包括以下部件:

一个管理虚拟硬件的设备驱动,这个驱动通过一个字符设备 /dev/kvm 导出它的功能。通过 /dev/kvm每一个客户机拥有其自身的地址空间,这个地址空间与内核的地址空间相分离或与任何一个正运行着的客户机相分离。

一个模拟硬件的用户空间部件,它是一个稍微改动过的 QEMU 进程。从客户机操作系统执行 I/O 会拥有QEMU 。 QEMU 是一个平台虚拟化方案,它允许整个 PC 环境(包括磁盘、显示卡(图形卡)、网络设备)的虚拟化。任何客户机操作系统所发出的 I/O 请求都被拦截,并被路由到用户模式用以被 QEMU 过程模拟仿真。


CentOS6.2 x86上安装KVM功能模块步骤

以下操作都以root用户进行。

1、检查CPU信息

KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持。

基于 Intel 处理器的系统,运行 grep vmx /proc/cpuinfo 查找 CPU flags 是否包括 vmx 关键词

# grep vmx /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce

 cx8 apic sep  mtrr pge mca cmov pat
 pse36 clflush dts acpi mmx
 fxsr sse sse2 ss ht tm pbe syscall nx lm
 constant_tsc arch_perfmon pebs bts
 rep_good pni monitor ds_cpl
 vmx est tm2 ssse3 cx16 xtpr lahf_lm ida
 flags : fpu vme de pse tsc msr pae mce
 cx8 apic sep mtrr pge mca cmov pat
 pse36 clflush dts acpi mmx fxsr sse sse2
 ss ht tm pbe syscall nx lm constant_tsc
 arch_perfmon pebs bts rep_good pni
 monitor  ds_cpl vmx est tm2 ssse3 cx16

  xtpr lahf_lm ida

基于 AMD 处理器的系统,运行 grep svm /proc/cpuinfo 查找 CPU flags 是否包括 svm 关键词

# grep svm /proc/cpuinfo

   注 : 一些厂商禁止了机器 BIOS 中的 VT 选项 , 这种方式下 VT 不能被重新打开。

注意:/proc/cpuinfo 仅从 Linux 2.6.15(Intel) 和 Linux 2.6.16(AMD) 开始显示虚拟化方面的信息。请使用 uname -r 命令查询您的内核版本。如有疑问,请联系硬件厂商。

2、检查BIOS,确保BIOS里开启VT选项:

Intel(R) Virtualization Tech [Enabled]

如有必要,还需在BIOS中开启VT并重启机器。

3、从本地光盘(把dvd光盘配置为yum本地库的方法)查询、安装软件包

查询:

yum --disablerepo=\* --enablerepo=c6-media groupinfo Virtualization

yum --disablerepo=\* --enablerepo=c6-media groupinfo 'Virtualization Client'

安装:

yum --disablerepo=\* --enablerepo=c6-media groupinstall Virtualization

yum --disablerepo=\* --enablerepo=c6-media groupinstall 'Virtualization Client'

group的名字不分大小写。

Virtualization各工具包内容如下表所示:

主机能联互联网的,直接用指令:

yum groupinstall Virtualization 'Virtualization  Client'

来完成安装。

较低版本的系统,如Redhat/CentOS5.6的,使用指令:

yum --disablerepo=\* --enablerepo=c5-media groupinstall kvm

3、安装api支持

yum --disablerepo=\* --enablerepo=c6-media install libvirt
service libvirtd start

4、验证是否已经载入KVM模块

# lsmod | grep kvm
kvm_intel              50380  3
kvm                   305081  1 kvm_intel

#ll /dev/kvm
crw-rw-rw-+ 1 root kvm 10, 232 May  4 16:06 /dev/kvm

至此,主机的KVM功能已经具备,微笑可以安装客户操作系统了。

安装客户机操作系统 安装客户机操作系统两种方式,一种通过母机GUI的虚拟机管理程序virt-manager,一种通过母机命令行virt-install工具。 命令行方式: #virt-install \
    --name=v1
    --ram=512
    --vcpus=1
    --cdrom=/media/CentOS_6.2_final.iso
    --os-type=rhel6  
    --disk /var/lib/libvirt/imgages/v1.img,size=8,bus=virtio,cache=writeback  
    --network bridge=br0,model=virtio

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

--name    给虚拟机起个名字
--ram     分配给虚拟机的内存,单位MB
--vcpus   分配给虚拟机的cpu个数
--cdrom   指定安装文件的全路径
--disk    指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行
    size      虚拟机文件大小,单位GB
    bus       虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
    cache     虚拟机磁盘的cache类型
--network bridge    指定桥接网卡
    model  网卡模式,这里也是使用性能更好的virtio
--graphics         图形参数

可以用man virt-install 指令查看帮助,最后有很多示例。

GUI方式: 打开菜单Applications->System Tools->Virtual Machine Management

点击图标Create a new virtual machine

按照顺序设置虚拟机名称、CPU,内存,磁盘,网络等。

五个设置步骤完成后,仍然可以修改虚拟机的配置信息。

至此,整个虚拟机安装过程完成。

基于KVM建立的虚拟机相关文件默认存放位置
kvm虚拟机配置文件位置:/etc/libvirt/qemu/     
kvm虚拟机文件位置:var/lib/libvirt/images/  


推荐阅读
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • CentOS 转向引发争议,联合创始人推出 Rocky Linux
    CentOS 转向 CentOS Stream 引发用户不满,其联合创始人 Gregory Kurtzer 推出新的社区项目 Rocky Linux,旨在延续 CentOS 的精神。 ... [详细]
  • 在DELL Inspiron 14R上部署CentOS X64 6.4的详细步骤
    本文详细记录了在DELL Inspiron 14R笔记本电脑上安装CentOS X64 6.4操作系统的过程,包括遇到的问题及解决方法。 ... [详细]
  • Docker入门与实践指南
    本文介绍了Docker的基础知识,包括其作为开源应用容器引擎的特点,以及如何利用Docker将应用程序及其依赖项打包成轻量级的容器镜像。同时,还详细讲解了Docker的核心概念、安装过程及基本命令操作。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • 中断向量是计算机系统中用于指向中断服务程序的入口地址。每个中断向量对应一个特定的中断事件,存储在内存中的中断向量表中。该表通常包含256个条目,每个条目占用4个字节,用于存放跳转指令或直接指向中断处理程序的地址。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • RedHat 系统下配置国内 YUM 源以替代官方收费源的方法
    本文详细介绍如何在 RedHat Linux 中安装并配置 YUM 包管理器,并通过使用国内镜像源来解决因未购买官方服务而导致的更新源限制问题。 ... [详细]
  • 解决CentOS 7.5中无法通过man命令查询C语言库函数的问题
    本文描述了在CentOS 7.5操作系统上,使用man命令查询C语言库函数时遇到的问题,并提供了详细的解决方案。 ... [详细]
  • 解决Jenkins实例离线问题的新方法
    针对新版Jenkins镜像遇到的‘实例离线’问题,本文提供了一种通过调整Linux系统防火墙设置的有效解决方案,旨在为遇到类似问题的用户提供新的思路和帮助。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 解决腾讯社区开放平台.NET SDK在Linux下的兼容性问题
    本文探讨了腾讯社区开放平台.NET SDK在Linux系统(如CentOS)中遇到的QzoneException异常,并提供了通过安装根证书等方法解决该问题的具体步骤。 ... [详细]
author-avatar
kyf召世星bdc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有