kvm虚拟化安装与部署(2)
一、虚拟化VT开启确认
KVM 本身也有一些弱点,那就是相比裸金属虚拟化架构的 Xen 、 VMware ESX 和 HyperV , KVM 是运行在 Linux 内核之上的寄居式虚拟化架构,会消耗比较多的计算资源;不过针对这一点, Intel 、 AMD 已经在处理器设计上有专门的VT-x 和 AMD-V 扩展,这种特性在每次硬件更新的时候也会更新,往往每次更新后都对虚拟化性能和速度上有明显的提升,所以长远来看,也不是什么大问题。
KVM 的虚拟化需要硬件支持(需要处理器支持虚拟化:如 Intel 厂商的 Intel-VT ( vmx )技术&&AMD 厂商的 AMD-V ( svm )技术。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的半虚拟化( Para-Virtualization ),新版本则是基于硬件支持的完全虚拟化。但 Xen 本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。
你当前的 CPU 是否支持 VT 技术?当不确定你当前 CPU 是否支持 VT 技术时
1. 可以在 windows 下使用 cpu-z 软件来进行测试
2. 可以在 Linux 下查看 CPU 的相信信息来确定
CPU 虚拟化给我们带来了哪些好处?
CPU 的虚拟化技术可以将单 CPU 模拟多 CPU 并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务超线程的技术的区别?
虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的 CPU 或者是虚拟主机上;而超线程技术只是单 CPU 模拟双 CPU 来平衡程序运行性能,这两个模拟出来的 CPU 是不能分离的,只能协同工作
安装kvm前准备工作
1. 确定处理器有 VT
命令行: grep vmx /proc/cpuinfo (INTEL 芯片 )
grep svm /proc/cpuinfo (AMD 芯片 )
cat /proc/cpuinfo | grep -e vmx -e nx -e svm
不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo
如果 flags:里有 vmx 或者 svm 就说明支持 VT ;如果没有任何的输出,说明你的 cpu 不支持,将无法成功安装 KVM 虚拟机。
2. 当你硬件本身支持虚拟化,但查询相应参数无果时,请检查 BIOS 设定,确认你的 BIOS 中开启了硬件支持虚拟化的功能!
将如下选项设为Enabled
Intel(R) Virtualization Tech [Enabled]
二、KVM虚拟化安装
1、安装 KVM 要求
(1)64bitCPU( 支持虚拟化 VT-x or AMD-V)
(2)2G 以上空闲内存,确认内存大小
grep -e MemTotal /proc/meminfo
free -m
(3)6GB 空闲存储空间
2、安装 KVM 并检测
(1)YUM 安装 KVM
yum -y install kvm virt-manager libvirt libvirt-python python-virtinst libvirt-client qemu-kvm qemu-img
(2)YUM 安装 KVM( 简单版 )
yum install kvm virt-manager libvirt* -y
(3)如果无法连入互联网 , 可自行建立源来完成安装并避免各种关联。建立一个本地的 YUM 源:
< 挂载 RHEL 光盘 >
#mount /dev/cdrom /mnt/cdrom
< 建立 YUM 本地源 >
#cd /etc/yum.repos.d
#vim kvms.repo
kvms.repo里的内容
[kvms]
name=Red Hat
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=0
也可以上传一个镜像文件至宿主机上,进行伪文件系统挂载:
mount -o loop -t iso9660 /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1810.iso /mnt
(4)kvm虚拟化所需组件介绍
kvm:核心套件
virt-manager:图形化 KVM 管理软件
libvirt:提供虚拟机与宿主相互通信的机制
libvirt-python:允许使用 libvirt API
python-virtinst:CLI 下创建 KVM 的工具
libvirt-client:提供 client 访问 kvm 服务器的机制 ,并包含 virsh 命令进行 管理和控制VMs
qemu-kvm:提供用户级 KVM 环境
qemu-img:VMs 磁盘管理
3、启动 KVM
(1)modprobe kvm 加载 kvm 模块
(2)lsmod | grep kvm 查看加载成功
(3)systemctl start libvirtd 启动kvm
(4)systemctl status libvirtd 查看kvm状态
4、启动并检测 KVM
virsh list --all
如出现
Id Name State
-------------------------------------------------------
则安装成功
virsh list 表示列出已开机的虚拟机
5、在 GUI 模式下安装虚拟机,启动虚拟系统管理器
三、KVM网络模式设置
1、NAT ( 默认上网 ):虚拟机利用 host 机器的 ip 进行上网。对外显示一个 ip;
virbr0 是 KVM 默认创建的一个 Bridge,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能,默认ip为192.168.122.1

2、自带的Bridge:将虚拟机桥接到 host 机器的网卡上 ,vm和 host 机器都通过 bridge 上网 . 对外有同网段的不通 ip,此种方式host却不能和vm联通
3、Linux Bridge:基本原理就是创建一个桥接接口 br0 ,在物理网卡和虚拟网络接口之间传递数据。此种方式host也可以和vm连通

Linux Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备,其功能大家可以简单的理解为是一个二层交换机或者 Hub。多个网络设备可以连接到同一个 Linux Bridge,当某个设备收到数据包时,Linux Bridge 会将数据转发给其他设备
(1)添加 br0 网卡的配置文件
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-br0

(2)修改网卡配置文件
vim ifcfg-ens33
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
vim ifcfg-br0
TYPE=Bridge
NAME=br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.11.12
PREFIX=24(NETMASK=255.255.255.0)
GATEWAY=192.168.11.2
DNS=192.168.11.2
(3)重启host:reboot
(4)检查
# ethtool br0
# brctl show
# ifconfig br0

#lsblk 命令用来查看block设备的信息

四、virt-manager创建虚拟机
(1)首先通过命令 virt-manager 启动图形界面:
点下面的图标创建虚机

(2)给虚机命名为 kvm1,这里选择从哪里启动虚机。如果是安装新的 OS,可以选择第一项。如果已经有安装好的镜像文件,选最后一项(如下图)。

(3)接下来需要告诉 virt-manager 镜像的位置,点击 “Browser”

(4)需要在系统中上传一个镜像文件到属主机上,放到 /var/lib/libvirt/images/ 目录下,这是 KVM 默认查找镜像文件的地方。


(5)为虚拟机分配 CPU、内存和磁盘


(6)为虚拟机命名,并在安装前配置硬件参数,点击“Finish”。网络选择三节课创建的br0网桥,点击绿色“对勾”开始安装


(7)控制台弹出如下图,安装linux安装步骤安装即可:

virt-manager 可以对虚机进行各种管理操作,界面直观友好,很容易上手。 同时我们也可以用命令 virsh 管理虚机,比如查看宿主机上的虚机:

kvm虚拟化安装与部署(2)的更多相关文章
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课 上半节课 下半节课 f
- KVM虚拟化平台环境部署
一:安装依赖包 二:配置网卡 三:配置环境 实验环境: KVM01 192.168.200.10 关闭防火墙及相关的安全机制 [root@KVM01 ~]# systemctl stop fire ...
- 一文告诉你Linux如何配置KVM虚拟化--安装篇
KVM全称"Kernel-based Virtual Machine",即基于内核的虚拟机,在linux内启用kvm需要硬件,内核和软件(qemu)支持,这篇文章教你如何配置并安装 ...
- KVM虚拟化安装配置
一.KVM的基础配置及安装: 1.查看是CPU否支持虚拟化: [root@oldboy-node1 ~]# grep -E "(vmx|svm)" /proc/cpuinfo vm ...
- kvm虚拟化安装及虚拟机创建
1.开启虚拟化(VMware虚拟机为例),安装centos7操作系统. 2.查看CPU是否开启虚拟化 #zgrep "vmx" /proc/cpuinfo 3.配置yum源,通过 ...
- Kvm虚拟化安装与虚拟机创建
1. 验证CPU是否支持KVM:如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. egrep '(vmx|svm)' /proc/cpuinfo 2. 关闭SELinux ...
- KVM虚拟化简介及安装
kvm是基于图形化的linux操作的 安装图形化界面的知识点: 磁盘空间有两个词: 精简置备:我先在我系统里面去声明我要一个50G的空间,但是呢,我不会把50G都分给你,你用多少,我分给你多少,但是做 ...
- kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm 虚拟化概述及 virt-manager 安装虚拟机
一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V ...
随机推荐
- OO 第二单元
前言 第二单元 OO 作业的主题是多线程,课程组通过了电梯调度这个经典问题考察了多线程的调度. 从第五次作业到第七次作业的迭代为,单部多线程可捎带电梯,多部多线程可捎带调度电梯(电梯属性相同) ...
- 2020 OO 第四单元总结 UML
title: 2020 OO 第四单元总结 date: 2020-06-14 19:10:06 tags: OO categories: 学习 1. 本单元三次作业的架构设计 本单元的代码编写与第三单 ...
- Java(195-214)【final、权限、内部类】
1.final关键字的概念与四种方法 今天是基础学习的最后一天!~ 2.final关键字用来修饰一个类 3.final关键字来修饰成员方法 4.final用于修饰局部变量 package cn.itc ...
- Flink状态管理与状态一致性(长文)
目录 一.前言 二.状态类型 2.1.Keyed State 2.2.Operator State 三.状态横向扩展 四.检查点机制 4.1.开启检查点 (checkpoint) 4.2.保存点机制 ...
- 解决Spring中使用Example无法查询到Mongodb中的数据问题
1 问题描述 在Spring Boot中使用Mongodb中的Example查询数据时查询不到,示例代码如下: ExampleMatcher matcher = ExampleMatcher.matc ...
- 面试题:让你捉摸不透的 Go reslice
面试题: package main func a() []int { a1 := []int{3} a2 := a1[1:] return a2 } func main() { a() } 看到这个题 ...
- matlab帮助文档
matlab的纯文本帮助命令有多种,help.lookfor.which.doc.get.type等 help命令 help命令用来查询一个函数的使用方式. help fun %fun是函数名称 ...
- Spring Cloud & Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)
目录 一. Sentinel概念 1. 什么是Sentinel? 2. Sentinel功能特性 3. Sentinel VS Hystrix 二. Docker部署Sentinel Dashboar ...
- hdu 2841 Visible Trees(容斥)
原文链接 There are many trees forming a m * n grid, the grid starts from (1,1). Farmer Sherlock is stand ...
- 1-3 Postman 注册账号与登录
1.为什么要注册postman账号 注册postman账号是免费的.当注册并登陆一个postman账号后,用户可以获得如下权限. (1)同步和备份历史,集合,环境,和预置头. (2)可以轻松的处理来自 ...