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

二、 搭建KVM虚拟化

1、 KVM虚拟化硬件资源
建议CPU是4核,内存至少4GB,在原有硬盘的基础上增加一块硬盘,作为存放镜像文件或KVM虚拟机存储使用。
KVM虚拟化图形化界面是基于Linux图形化界面的基础上才能使用,所以如果要使用KVM虚拟化图形化操作界面,必须Linux系统有安装图形化界面才可以使用。

VMware虚拟机安装需要开启如下功能:

2、 实验环境
主机名 IP地址 作用
xuegod110 192.168.1.110 KVM服务器

3、 安装KVM虚拟机
1) 最小化安装的Linux系统,安装图形化界面
[root@xuegod110 ~]# yum –y groupinstall “X Window System”
[root@xuegod110 ~]# yum –y groupinstall “GNOME Desktop” “Graphical Administration Tools”

2) 安装KVM模块、管理工具和libvirt
[root@xuegod110 ~]# yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python –y
注:使用系统镜像,先配置好 yum 本地源
注:
qemu-kvm : kvm 主程序, KVM 虚拟化模块
virt-manager: KVM 图形化管理工具
libvirt: 虚拟化服务
libguestfs-tools : 虚拟机的系统管理工具
virt-install : 安装虚拟机的实用工具 。比如 virt-clone 克隆工具就是这个包安装的
libvirt-python : python 调用 libvirt 虚拟化服务的 api 接口库文件

3) 查看安装的KVM服务
[root@xuegod110 ~]# systemctl start libvirtd #启动服务
[root@xuegod110 ~]# systemctl enable libvirtd #开机启动
[root@xuegod110 ~]# systemctl is-enabled libvirtd #查看是否开机启动
enabled

4) 确认模块是否加载
[root@xuegod110 ~]# lsmod | grep kvm #CPU虚拟化一定要打开

5) 修改语言环境
[root@xuegod110 ~]# echo $LANG
en_US.UTF-8
[root@xuegod110 ~]# LANG=‘zh_CN.UTF-8’
[root@xuegod110 ~]# echo $LANG
zh_CN.UTF-8
6) 配置KVM网络桥接功能
网桥介绍: 我们经常所说的 Bridge 设备其实就是网桥设备,也就相当于现在的二层交换机,用于连接同一网段内的所有机器,所以我们的目的就是将网络设备 eth0 添加到 br0,此时 br0 就成为了所谓的交换机设备,我们物理机的 eth0 也是连接在上面的。

安装网桥设备工具
[root@xuegod110 ~]# yum -y install bridge-utils
##默认系统一般都会安装

把ens33绑定到br0设备上
[root@xuegod110 ~]# cd /etc/sysconfig/network-scripts/
[root@xuegod110 network-scripts]# cp ifcfg-ens33 /tmp/ #备份配置为文件
[root@xuegod110 network-scripts]# vim ifcfg-ens33 #编辑网卡配置文件
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c713acec-674b-411d-9e61-646482a292ca
DEVICE=ens33
IPADDR=192.168.1.110 #这些加粗内容需要删除
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.106.46.151
ONBOOT=yes

IPV6_PRIVACY=no
PEERDNS=no
BRIDGE=“br0” #在文件最后添加一行内容

生成桥设备的配置文件
[root@xuegod110 network-scripts]# vim ifcfg-br0 #添加如下内容
DEVICE=“br0”
NM_CONTROLLED=“yes”
ONBOOT=“yes”
TYPE=“Bridge”
BOOTPROTO=none
IPADDR=192.168.1.110
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

重启网络服务
[root@xuegod110 network-scripts]# systemctl restart network

查看IP信息

查看桥接的信息
[root@xuegod110 ~]# brctl show

7) 使用LVM图形化界面创建虚拟机
[root@xuegod110 ~]# virt-manager
注:使用xshell连接KVM调用图形化界面,必须要安装x-manager软件,让xshell可以调用x-manager的图形化界面程序显示。
如果使用centos系统自带的图形化界面,可以直接调用。
如果xshell调用不出来,将如下选项开启即可

执行KVM图形化管理工具
[root@xuegod110 ~]# virt-manager

三、 使用图形化界面创建一台KVM虚拟机

1、 将添加的硬盘分区
[root@xuegod110 ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
[root@xuegod110 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xe5acdfc3 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n #创建
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p ##主分区
分区号 (1-4,默认 1):
起始 扇区 (2048-209715199,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):
将使用默认值 209715199
分区 1 已设置为 Linux 类型,大小设为 100 GiB

命令(输入 m 获取帮助):w #保存创建的分区
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

2、 格式化分区
[root@xuegod110 ~]# mkfs.xfs /dev/sdb1

3、 挂载分区
将新的硬盘挂载到KVM的目录下
[root@xuegod110 ~]# mount /dev/sdb1 /var/lib/libvirt/images/

将挂载信息写入到fstab文件,实现开机启动挂载分区
[root@xuegod110 ~]# echo “/dev/sdb1 /var/lib/libvirt/images/ xfs defaults 0 0” >> /etc/fstab

4、 上传centos7.5的镜像文件到挂载目录


5、 创建虚拟机
[root@xuegod110 ~]# virt-manager
在弹出的界面中,选择QEMU/KVM,右键选择NEW

选择本地介质安装系统

选择系统镜像

选择内存和CPU

分配硬盘大小

选择配置后在开始安装,并选择网卡

调整启动顺序

选择显示选择
类型修改为VNC,键盘类型简则en-us,不然安装虚拟机过程中鼠标和键盘都无法使用。

配置完毕,选择开始安装即可

不再详细说明具体安装系统的步骤,可在网上找相关配置文档。

四、 KVM常用的命令

1、 列出运行中的虚拟机
[root@xuegod110 ~]# virsh list

2、 启动kvm虚拟机
[root@xuegod110 ~]# virsh start centos7.0

因为已经启动了,所以提示域活跃中

3、 关闭虚拟机
[root@xuegod110 ~]# virsh shutdown centos7.0

4、 设置开机启动
[root@xuegod110 ~]# virsh autostart centos7.0

5、 查看KVM是否开机启动
[root@xuegod120 ~]# chkconfig --list libvirtd #开机启动了
libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

五、 解决centos6系统上shutdown关不了虚拟机的问题

1、 解决方法
在安装好的 KVM 的 Linux 虚拟机中安装并启动 acpid 服务
virsh shutdown 命令使用发送 acpi 指令来控制虚拟机的电源,
而 kvm 虚拟机最小化安装的 centos6 系统时默认是没有安装 acpi 服务的,所以并不会处理shutdown 发来的关机信号。 在 centos7 最小化安装的 linux 系统上有安装 acpid 服务。
只需要在虚拟机里安装和启劢 acpid 服务即可。
做一件事: 安装 acpid 服务 -》 yum 源
[root@localhost yum.repos.d]# yum install acpid -y
[root@localhost yum.repos.d]# service acpid start //启动 acpic 服务,
[root@localhost yum.repos.d]# chkconfig --list acpid
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off //安装后默认会加入到开机
启动的
在 xuegod120 KVM 真机上测试:
[root@xuegod120 ~]# virsh shutdown rhel6-71 #关闭 rhel6-71 虚拟机

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

  1. Linux桌面虚拟化技术KVM

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

  2. Linux 桌面虚拟化技术 KVM

    KVM:是 Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用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. java 负数变正数 +
  2. 阿里开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS
  3. cuda合并访问的要求_在 CUDA C / C ++ 中使用共享内存
  4. sor迭代法matlab实例,Jacobi G-S SOR迭代法在matlab中例子.pdf
  5. python list长度_python的入门阶段 编程思维100题 我跟罗志祥没关系
  6. ZEN CART 在LINUX系统下设置邮箱方法---用GMAIL设置,方法选择SMTPAUTH
  7. [Note]Linux查看ASCII字符表
  8. python做项目管理代码_代码发布项目(三)——python操作git、代码发布流程(服务器管理、项目管理)...
  9. Animator Controller 继承关系
  10. 消息中间件activemq-5.13.0安全验证配置
  11. 随机信号分析基础——基础篇(数字特征)
  12. 数据仓库 迁移 大数据_从数据仓库迁移到大数据平台的最佳实践
  13. std::asio小记
  14. 口袋之旅html5超强账号,《口袋之旅H5》攻略:各大排行榜冲榜攻略
  15. Python生成随机数字/字符
  16. Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1030E: The operator 'SUBTR
  17. 上海税务局发布2023年第1号文件,全电发票开票试点即将全面扩围!
  18. 自监督学习论文、代码汇总
  19. Android开发的单词本APP项目介绍及源码(大作业)
  20. 水波纹+仿探探卡片滑动+飘赞动画

热门文章

  1. 地址的三级联调 即 通过省获得市然后获得县区 等等
  2. 请将以太网电缆插曲此计算机台式机,“请将以太网电缆插入此计算机”是什么意思?...
  3. 忘记Excel文件保护密码,怎么解?
  4. 使用JavaScript实现自己的代码生成平台----概览
  5. 5G技术中的无源光器件(一)
  6. html引入第三方语音合成,HTML5语音合成功能的实现
  7. 多核程序设计实验报告
  8. select @@session.tx_read_only
  9. 关于微信小程序权限问题或未使用你的任何信息情况
  10. elasticjob mysql_elastic-job 新手指南