Linux桌面虚拟化技术KVM
内容:
• 虚拟化产品对比介绍
• 安装 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相关推荐
- Linux 桌面虚拟化技术 KVM
KVM:是 Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度 ...
- Linux桌面虚拟化技术-KVM
一. KVM概述 KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的 ...
- Linux桌面虚拟化技术--KVM
文章目录 虚拟化概念 为什么要使用虚拟化 KVM安装以及使用 virsh常用命令 磁盘格式转换 快照管理 虚拟机克隆 虚拟机的网络连接模式 磁盘热添加.扩容 热添加网卡 热添加内存 热添加CPU kv ...
- 桌面虚拟化技术 KVM
Linux 桌面虚拟化技术 KVM KVM: 是指基于Linux 内核的虚拟机(Kernel-based Virtual Machine).是第一个整合到 Linux 内核的虚拟化技术.在 KVM 模 ...
- linux 桌面显示 kvm,Linux的桌面虚拟化技术KVM(五)——virsh常用命令
(1).virsh常用命令 virsh list 查看已打开虚拟机列表 virsh list --all 查看所有虚拟机列表 virsh version 查看 virsh 版本号 virsh star ...
- Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机
(1).虚拟化产品对比介绍 虚拟化技术有以下三种:仿真虚拟化,这是一种对系统硬件没有要求,但性能最低的虚拟化技术:半虚拟化,这是一种直接使用物理硬件,性能高,但需要修改内核的虚拟化技术:全虚拟化,这是 ...
- 新一代的桌面虚拟化技术
第二代桌面虚拟化技术 第一代技术实现了远程操作和虚拟技术的结合,降低的成本使得虚拟桌面技术的普及称为可能,但是影响普及的并不仅仅是采购成本,管理成本和效率在这个过程中也是非常重要的一环. 纵观IT技术 ...
- 虚拟化技术KVM的搭建
2019独角兽企业重金招聘Python工程师标准>>> KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案.K ...
- 虚拟化技术KVM和XEN概述
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计 ...
最新文章
- 2.c语言编译预处理,c语言第03章-编译预处理2.ppt
- mosquitto 使用时出现的一些问题及其解决办法
- 从四个层面落地,成为受欢迎、可信赖、懂技术的产品经理
- Linux下c和cuda混合编译,并生成动态链接库.so和使用
- IDEA 一直不停的scanning files to index解决办法
- SOAP 1.1 - 学习
- php起点小说小偷程序,PHP 简单的小偷程序
- Bz1621.lzh二进制编辑器下载
- UE4 Websocket
- 第三方支付-手续费系统设计与实现
- 华为Datacom认证和Routing Switching认证并行多久?
- Android jetpack Room数据库(一)基本使用
- 网页视频的下载方法,电脑如何下载网页视频
- C++模板之全特化和偏特化
- Java新版本的控制台不在控制面板里面显示而是躲在这
- 图解ArcGIS数据三维显示
- 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
- 自定义AVA数据集流程及在SlowFast中训练
- 09组团队项目-Alpha冲刺-2/6
- 计算机网络6 应用层
热门文章
- 手撕深度学习框架,原理很简单
- 谈360下拉词360下拉框的优势及360搜索推广方法有哪些?
- python str转int_Python入门丨数据类型与转换
- Kettle 简介和实例
- 多个notification引发的问题
- django怎么在html添加变量,如何在django项目的html模板中创建局部变量?
- oracle rac 创建ocr,转:Oracle RAC 添加和删除OCR(10g)
- 仿照java做一个脚本语言_java调用其它语言脚本(python、js)
- python pathos_Python模块之os模块
- IDEA build时出现Artifact contains illegal characters的解决