内容:
• 虚拟化产品对比介绍
• 安装 KVM
• 实戓 1:配置 KVM 网络桥接功能
• 实戓 2:使用 KVM 安装虚拟机

虚拟化产品对比介绍

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

仿真虚拟化 [对系统硬件没有要求,性能最低]
半虚拟化 [虚拟机可以使用真机物理硬件,性能高,需要改内核]
全虚拟化
vmware 支持仿真虚拟化
xen 半虚
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,

查看 CPU 是否支持虚拟化
Intel 酷睿 i5 4590 参数
在中关村在线:
http://detail.zol.com.cn/382/381245/param.shtml 查:Intel 酷睿 i5 4590 参数

KVM: 是基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。是第一个整合到 Linux 内核的虚拟化技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启劢客户机操作系统。
一个普通的 Linux 迚程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内
核和用户模式)
XEN :需要升级内核,只能支持和物理系统一样的操作系统。
KVM: 支持 linux 以外的其它系统。如果 windows
QEMU:是一套由 Fabrice Bellard 所编写的以 GPL 许可证分发源码的模拟处理器,在 GNU/Linux 平
台上使用广泛。QEMU 具有高速度和跨平台的特性,QEMU 能模拟至接近真实电脑的速度。
QEMU 能模拟整个电脑系统,包括中央处理器及其他周边设备。
配置 KVM 前期准备工作:
1、把虚拟机内存调成 2G 以上,因为我们要在 VMware 虚拟中安装 KVM,然后在 KVM 中再安装虚拟机

2、开启 vmware 中虚拟化支持

1、查看 CPU 是否支持硬件虚拟化技术。 CPU 要支持
查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的

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

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

cat /proc/cpuinfo | grep --color lm 是否支持 64 位

2、开启 BIOS 虚拟化支持。 查找 VT 改为: enable 。BIOS 中也要打开,默认很多机器没有打开。
例:
排错:
安装虚拟机出现 intel vt -x 处于禁用状态打丌开 处理方式

处理方式
1 进入 bios

以华硕主板为例

UEFI 支持 GPT 分区表。 intel 和微软 一起研发
进入高级模式找到 cpu 虚拟技术


打开虚拟技术支持

其它电脑找到这个

F10 保存退出。
2、操作系统必须是 RHEL6 64 位, RHEL6 32 不能安装 KVM
3、安装 KVM:
说明:安装前:vmware 虚拟机内存要给的大一些。比如 2G。 再添加一个 20G 硬盘,防止后期系统空间不够。 安装虚拟机占用空间比较大。
关机
1、设置内存:2G
2、设置 VMware 虚拟机支持虚拟化技术: 以下两处,打上对勾

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

启劢服务器
开机后查看 CPU 是否支持全虚拟化
1、查看 CPU 是否支持硬件虚拟化技术。 CPU 要支持
例:
查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的

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

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

cat /proc/cpuinfo | grep --color lm 是否支持 64 位
[root@xuegod63 Desktop]# cat /proc/cpuinfo | grep --color vmx
flags  : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon
pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx
ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm ida arat epb
xsaveopt pln pts dts tpr_shadow vnmi ept vpid
flags  : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon
pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx
ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm ida arat epb
xsaveopt pln pts dts tpr_shadow vnmi ept vpid
flags  : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon
pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx
ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm ida arat epb
xsaveopt pln pts dts tpr_shadow vnmi ept vpid
flags  : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon

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

[root@xuegod63 ~]# yum install kvm virt-manager libvirt -y 注:使用系统镜像,先配置好 yum

本地源
注:virt-manager: KVM 图形化管理工具
libvirt: 虚拟化服务
扩展:
linux 下也有 vmware 安装包
查看:

# service libvirtd start #虚拟化服务
# chkconfig libvirtd on

(2).确定正确加载 kvm 模块

# lsmod | grep kvm
kvm_intel 50380 0
kvm 305113 1 kvm_intel
# 检查 KVM 模块是否成功安装
(3).检查 KVM 是否成功安装可以使用 virsh 命令检查虚拟机的状态
# virsh list

Id Name State

4、使用命令:virt-manager 建立虚拟机,
将 kvm 管理工具从英文界面,切换成中文界面:

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

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

(2)、右击 localhost(QEMU)后,点击“新建”就可以跟据向导,安装一个新的虚拟机了。
注:这里先丌安装 Linux 虚拟机。

实戓 1:配置 KVM 桥接功能
网桥介绍: 我们经常所说的 Bridge 设备其实就是网桥设备,也就相当于现在的二层交换机,用于连接同一
网段内的所有机器,所以我们的目的就是将网络设备 eth0 添加到 br0,此时 br0 就成为了所谓的交换机
设备,我们物理机的 eth0 也是连接在上面的。
添加桥接设备 br0: 相当于一个二层交换机

安装包:

# rpm -ivh /mnt/Packages/bridge-utils-1.2-9.el6.x86_64.rpm
把 eth0 绑到 br0 桥设备上:
# cd /etc/sysconfig/network-scripts/
network-scripts]# cp ifcfg-eth0 /tmp/ #备份一下 eth0
network-scripts]# cat ifcfg-eth0 #查看文件
DEVICE=eth0
NM_CONTROLLED=yes
IPADDR=192.168.1.63 #这些蓝色内容接下来,需要删除
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.106.46.151
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="eth0"
HWADDR=00:0C:29:12:EC:1E

改为:

network-scripts]# vim ifcfg-eth0 #删除上面蓝色内容,添加红色内容
DEVICE=eth0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="eth0"
HWADDR=00:0C:29:12:EC:1E
BRIDGE="br0"

生成桥设备的配置文件:

 network-scripts]# vim ifcfg-br0 #创建 ifcfg-br0 文件,并写入以下内容
DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=none
IPADDR=192.168.1.63
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

注:TYPE=“Bridge” , B要大写

network-scripts]# /etc/init.d/network restart
正在关闭接口 eth0: bridge br0 does not exist!

[确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: [确定]
弹出界面 br0: [确定]
测试 br0:

network-scripts]# ifconfig
network-scripts]# ping g.cn
PING g.cn (203.208.37.20) 56(84) bytes of data.
64 bytes from 203.208.37.20: icmp_seq=1 ttl=57 time=12.3 ms
[root@xuegod63 network-scripts]# /etc/init.d/NetworkManager status
NetworkManager 已停

查看桥接的信息:

 network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0  8000.000c2912ec1e  no eth0

实或 3:创建一台 KVM 虚拟机
创建一个分区,用于存放安装好的 Linux 操作系统:

]# fdisk /dev/sdb #创建 sdb1,大小 20G
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe2316600.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610):
Using default value 2610
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# reboot

格式化,挂载使用

Desktop]# mkfs.ext4 /dev/sdb1
Desktop]# mkdir /sdb1
network-scripts]#mount /dev/sdb1 /var/lib/libvirt/images/ #安装虚拟机,

默认存放的路径:
将 kvm 管理工具从英文界面,切换成中文界面:

 Desktop]# echo $LANG
en_US.UTF-8Desktop]# LANG="zh_CN.UTF-8"

准备系统镜像:这里直接使用 VMware 光驱中的镜像





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

查看启动顺序:

安装:有可能是字符界面安装
这里为测试,选择最小化安装:

或:

扩展:
下载 linux 版本的 vmware
https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-11.1.2-2780
323.x86_64.bundle
安装:

#chmod 755 VMware-Workstation-Full-11.1.2-2780323.x86_64.bundle
安装:
#./VMware-Workstation-Full-11.1.2-2780323.x86_64.bundle
安装

配置网卡 IP 地址:

# vi /etc/network/net-scripts
DEVICE="eth0"
HWADDR="52:54:00:95:89:DE"
IPADDR=192.168.1.99
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
NM_CONTROLLED="yes"
ONBOOT="yes"
# service network restart #启劢网卡

6、KVM 虚拟机常用命令

# virsh list
Id 名称 状态
----------------------------------
1 rhel6-71 running
# virsh list #列出在运行的虚拟机
# virsh start rhel6-71 #启劢 vm1 虚拟机
# virsh shutdown rhel6-71 #关闭 vm1 虚拟机
# virsh destroy rhel6-71 #强制关闭 vm1 虚拟机
例:
# virsh list
Id Name State
----------------------------------
4 rhel6 running
# virsh destroy rhel6
Domain rhel6 destroyed
# virsh list
Id Name State
----------------------------------
[root@localhost ~]测试:
# virsh list

Id Name State

1 rhel6 running

[root@localhost ~]# virsh undefine vm1 #删除 vm1 虚拟机
[root@localhost ~]# virsh suspend vm1 #暂停/挂启 vm1 虚拟机。
[root@localhost ~]# virsh resume vm1 #从暂停状态还原 vm1 虚拟机

扩展:
vnc 连接 linux 形界面工具,类似 windows 中的进程桌面。 vnc 默认端口号: 5900

Linux桌面虚拟化技术KVM相关推荐

  1. Linux 桌面虚拟化技术 KVM

    KVM:是 Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度 ...

  2. Linux桌面虚拟化技术-KVM

    一. KVM概述 KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的 ...

  3. Linux桌面虚拟化技术--KVM

    文章目录 虚拟化概念 为什么要使用虚拟化 KVM安装以及使用 virsh常用命令 磁盘格式转换 快照管理 虚拟机克隆 虚拟机的网络连接模式 磁盘热添加.扩容 热添加网卡 热添加内存 热添加CPU kv ...

  4. 桌面虚拟化技术 KVM

    Linux 桌面虚拟化技术 KVM KVM: 是指基于Linux 内核的虚拟机(Kernel-based Virtual Machine).是第一个整合到 Linux 内核的虚拟化技术.在 KVM 模 ...

  5. linux 桌面显示 kvm,Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    (1).virsh常用命令 virsh list 查看已打开虚拟机列表 virsh list --all 查看所有虚拟机列表 virsh version 查看 virsh 版本号 virsh star ...

  6. Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机

    (1).虚拟化产品对比介绍 虚拟化技术有以下三种:仿真虚拟化,这是一种对系统硬件没有要求,但性能最低的虚拟化技术:半虚拟化,这是一种直接使用物理硬件,性能高,但需要修改内核的虚拟化技术:全虚拟化,这是 ...

  7. 新一代的桌面虚拟化技术

    第二代桌面虚拟化技术 第一代技术实现了远程操作和虚拟技术的结合,降低的成本使得虚拟桌面技术的普及称为可能,但是影响普及的并不仅仅是采购成本,管理成本和效率在这个过程中也是非常重要的一环. 纵观IT技术 ...

  8. 虚拟化技术KVM的搭建

    2019独角兽企业重金招聘Python工程师标准>>> KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案.K ...

  9. 虚拟化技术KVM和XEN概述

    虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计 ...

最新文章

  1. 2.c语言编译预处理,c语言第03章-编译预处理2.ppt
  2. mosquitto 使用时出现的一些问题及其解决办法
  3. 从四个层面落地,成为受欢迎、可信赖、懂技术的产品经理
  4. Linux下c和cuda混合编译,并生成动态链接库.so和使用
  5. IDEA 一直不停的scanning files to index解决办法
  6. SOAP 1.1 - 学习
  7. php起点小说小偷程序,PHP 简单的小偷程序
  8. Bz1621.lzh二进制编辑器下载
  9. UE4 Websocket
  10. 第三方支付-手续费系统设计与实现
  11. 华为Datacom认证和Routing Switching认证并行多久?
  12. Android jetpack Room数据库(一)基本使用
  13. 网页视频的下载方法,电脑如何下载网页视频
  14. C++模板之全特化和偏特化
  15. Java新版本的控制台不在控制面板里面显示而是躲在这
  16. 图解ArcGIS数据三维显示
  17. 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
  18. 自定义AVA数据集流程及在SlowFast中训练
  19. 09组团队项目-Alpha冲刺-2/6
  20. 计算机网络6 应用层

热门文章

  1. 手撕深度学习框架,原理很简单
  2. 谈360下拉词360下拉框的优势及360搜索推广方法有哪些?
  3. python str转int_Python入门丨数据类型与转换
  4. Kettle 简介和实例
  5. 多个notification引发的问题
  6. django怎么在html添加变量,如何在django项目的html模板中创建局部变量?
  7. oracle rac 创建ocr,转:Oracle RAC 添加和删除OCR(10g)
  8. 仿照java做一个脚本语言_java调用其它语言脚本(python、js)
  9. python pathos_Python模块之os模块
  10. IDEA build时出现Artifact contains illegal characters的解决