您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Linux桌面虚拟化技术KVM

时间:2019-10-28 11:25:12  来源:  作者:

虚拟化产品对比介绍

  • vmware
  • KVM rhel6_x64
  • xen [kernel-xen] rhel5

虚拟化技术:

  • 仿真虚拟化:对系统硬件没有要求,性能最低
  • 半虚拟化:虚拟机可以使用真机物理硬件,性能高,需要改内核
  • 全虚拟化:直接使用物理硬件,性能高

vmware 支持仿真虚拟化

xen 半虚 REHL5 自带 xen, 安装时需要安装内核 rpm -ivh kernel-xen-xxx.rpm

kvm 全虚拟化 RHEL6 自带 kvm

KVM 概述

KVM即Kernel-based Virtual machine基于内核的虚拟机。

KVM,是一个开源的系统虚拟化模块,自 linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理,所以相对亍 Xen,其核心源码很少。KVM 目前已成为学术界的主流 VMM(虚拟机监控器)之一。KVM 的虚拟化需要硬件支持(如 Intel VT 技术戒者 AMD V 技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的 Para-Virtualization。

KVM: 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。是第一个整合到 Linux内核的虚拟化技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。

一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)

  • XEN :需要升级内核,只能支持和物理机系统一样的操作系统。
  • KVM:支持 linux 以外的其它系统。比如:windows
  • QEMU:是一套由 Fabrice Bellard 所编写的以 GPL 许可证分发源码的模拟处理器,在 GNU/Linux平台上使用广泛。QEMU 具有高速度和跨平台的特性,QEMU 能模拟至接近真实电脑的速度。QEMU 能模拟整个电脑系统,包括中央处理器及其他周边设备。QEMU 和 vmware一样都是支持仿真虚拟化,效率比较低。

配置 KVM 前期准备工作

实验环境是在PC机上装有win7系统,并安装VMware Workstation软件

1、把虚拟机内存调成 2G 以上,因为我们要在 VMware 虚拟中安装 KVM,然后在 KVM 中再安装虚拟机

(干货)Linux桌面虚拟化技术KVM

内存至少2GB以上

2、开启 vmware 中虚拟化支持

(干货)Linux桌面虚拟化技术KVM

开启 vmware 中虚拟化支持功能

虚拟化 cpu 性能计数器作用:(安装KVM不需要打开此功能)

VMware 官网手册里有说明 http://pubs.vmware.com/workstation-12/index.jsp

3、添加一个 20G 的硬盘,用于存 KVM 虚拟机

(干货)Linux桌面虚拟化技术KVM

添加一个 20G 的硬盘

注: 只有 64 位 RHEL6 以上系统支持 KVM。 32 位系统不支持。

4、查看 CPU 是否支持硬件虚拟化技术。

查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的

Intel:cat /proc/cpuinfo | grep --color vmx
AMD: cat /proc/cpuinfo | grep --color svm

看看 flag 有没有上面的 vmx 或者是 svm,有的话就是支持全虚拟化技术

5、开启 BIOS 虚拟化支持。 找到 VT 改为:enable 。BIOS 中也要打开,默认很多机器没有打开。

(干货)Linux桌面虚拟化技术KVM

没有开启VT


(干货)Linux桌面虚拟化技术KVM

BIOS开启VT

6、安装RHEL 64位以上操作系统

此过程不在过多赘述,大家可自行安装

安装 KVM 虚拟机

开机后查看 CPU 是否支持全虚拟化

查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的

Intel:cat /proc/cpuinfo | grep --color vmx
AMD :cat /proc/cpuinfo | grep --color svm
看看 flag 有没有上面的 vmx 或者是 svm,有的话就是支持全虚拟化技术

安装 KVM

安装 KVM 模块、管理工具和 libvirt,命令行安装:

# yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-Python 

注:使用系统镜像,先配置好 yum 本地源

注:

qemu-kvm : kvm 主程序, KVM 虚拟化模块

virt-manager: KVM 图形化管理工具

libvirt: 虚拟化服务

libguestfs-tools : 虚拟机的系统管理工具

virt-install : 安装虚拟机的实用工具 。比如 virt-clone 克隆工具就是这个包安装的

libvirt-python : python 调用 libvirt 虚拟化服务的 api 接口库文件

查看安装完KVM后的服务:

# systemctl start libvirtd #开启虚拟化服务
# systemctl enable libvirtd #设置 libvirtd 服务开机启劢
# systemctl is-enabled libvirtd #查看是不是开机启劢

确定正确加载 kvm 模块

# lsmod | grep kvm
kvm_intel 170086 0
kvm 566340 1 kvm_intel
irqbypass 13503 1 kvm

使用命令:virt-manager 建立虚拟机

将 kvm 管理工具从英文界面,切换成中文界面:

# echo $LANG
en_US.UTF-8
# LANG='zh_CN.UTF-8'
# virt-manager

1、执行 virt-manager 后,弹出如下界面:

(干货)Linux桌面虚拟化技术KVM

virt-manager

2、创建一个分区,用于存放安装好的 Linux 操作系统:

# fdisk /dev/sdb #创建 sdb1,大小 20G

...略

格式化,并挂载使用

# mkfs.xfs /dev/sdb1
#mount /dev/sdb1 /var/lib/libvirt/images/ #安装虚拟机,默认存放的路径:

注:准备系统镜像:把 centos7.4 镜像上传到/var/lib/libvirt/images/目录下。

3、创建虚拟机

# virt-manager

(干货)Linux桌面虚拟化技术KVM

virt-manager


(干货)Linux桌面虚拟化技术KVM

选择如何安装系统


(干货)Linux桌面虚拟化技术KVM

使用ISO镜像


(干货)Linux桌面虚拟化技术KVM

配置资源


(干货)Linux桌面虚拟化技术KVM

配置磁盘


(干货)Linux桌面虚拟化技术KVM

配置网络

点"完成"到此创建好一个新的 KVM 虚拟机了。

4、修改 KVM 中 BIOS 引导顺序

(干货)Linux桌面虚拟化技术KVM

引导选项

5、正常安装系统测试

KVM 虚拟机常用命令

# virsh list #列出在运行的虚拟机

# virsh start centos7-71 #启劢 centos7-71 虚拟机

# virsh shutdown centos7-71 #关闭 centos7-71 虚拟机

# virsh autostart centos7-71 #设置 centos7-71 虚拟机为物理机开机后,自动启动

测试:

reboot 后,没有发现 kvm 虚拟机开机自动启动

解决:

# vim /etc/fstab #记得设置开机自动挂载 sdb1,不然是启动不了的

/dev/sdb1 /var/lib/libvirt/images xfs defaults 0 0


Tags:Linux KVM   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
虚拟化产品对比介绍 vmware KVM rhel6_x64 xen [kernel-xen] rhel5虚拟化技术: 仿真虚拟化:对系统硬件没有要求,性能最低 半虚拟化:虚拟机可以使用真机物理硬件,性能高,需要改内...【详细内容】
2019-10-28  Tags: Linux KVM  点击:(141)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(41)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条