参考文章: KVM 介绍(1):简介及安装

centos7安装部署kvm,照做就行

Centos7搭建KVM

第二章:KVM安装 - CharlieBrown - 博客园

KVM简介: https://blog.csdn.net/justlpf/article/details/126720253

一、环境准备

1、查看系统是否支持虚拟化

grep -E '(vmx|svm)' /proc/cpuinfo
#or
cat /proc/cpuinfo | grep vmx

如果有输出返回,则表示CPU支持虚拟化技术。

Linux显示的flags部分解释:
fpu – Onboard FPU
vme – Virtual Mode Extensions
de – Debugging Extensions
pse – Page Size Extensions
tsc – Time Stamp Counter
msr – Model-Specific Registers
pae – Physical Address Extensions
mce – Machine Check Architecture
cx8 – CMPXCHG8 instruction
apic – Onboard APIC
sep – SYSENTER/SYSEXIT
mtrr – Memory Type Range Registers
pge – Page Global Enable
mca – Machine Check Architecture
cmov – CMOV instructions (plus FCMOVcc, FCOMI with FPU)
pat – Page Attribute Table
pse36 – 36-bit PSEs
pn – Processor serial number
clflush – CLFLUSH instruction
dts – Debug Store
acpi – ACPI via MSR
mmx – Multimedia Extensions
fxsr – FXSAVE/FXRSTOR, CR4.OSFXSR
sse – SSE
sse2 – SSE2
ss – CPU self snoop
ht – Hyper-Threading
tm – Automatic clock control
ia64 – IA-64 processor
pbe – Pending Break Enablesyscall – SYSCALL/SYSRET
mp – MP Capable
nx – Execute Disable
mmxext – AMD MMX extensions
fxsr_opt – FXSAVE/FXRSTOR optimizations
pdpe1gb – GB pages
rdtscp – RDTSCP
lm – Long Mode (x86-64)
3dnowext – AMD 3DNow! extensions
3dnow – 3DNow!
k8 – Opteron, Athlon64
k7 – Athlon
constant_tsc – TSC ticks at a constant rate
up – smp kernel running on up
pebs – Precise-Event Based Sampling
bts – Branch Trace Store
nonstop_tsc – TSC does not stop in C states
pni – SSE-3
pclmulqdq – PCLMULQDQ instruction
dtes64 – 64-bit Debug Store
monitor – Monitor/Mwait support
ds_cpl – CPL Qual. Debug Store
vmx – Hardware virtualization      //intel的虚拟化技术VT技术
smx – Safer mode
est – Enhanced SpeedStep
tm2 – Thermal Monitor 2
ssse3 – Supplemental SSE-3
cid – Context ID
fma – Fused multiply-add
cx16 – CMPXCHG16B
xptr – Send Task Priority Messages
pdcm – Performance Capabilities
dca – Direct Cache Access
sse4_1 – SSE-4.1
sse4_2 – SSE-4.2
x2apic – x2APIC
aes – AES instructions
xsave – XSAVE/XRSTOR/XSETBV/XGETBV
avx – Advanced Vector Extensions
hypervisor – Running on a hypervisor
lahf_lm – LAHF/SAHF in long mode
cmp_legacy – If yes HyperThreading not valid
svm – Secure virtual machine      //AMD的虚拟化技术AMD-V
extapic – Extended APIC space
cr8legacy – CR8 in 32-bit mode
abm – Advanced bit manipulation
sse4a – SSE-4A
ibs – Instruction Based Sampling
sse5 – SSE-5
skinit – SKINIT/STGI instructions
wdt – Watchdog timer  

2、基础软件安装

# 参考
[root@localhost ~]# curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 停防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service[root@localhost ~]# yum install gcc gcc-c++ -y
[root@localhost ~]# yum install autoconf -y
[root@localhost ~]# yum install automake -y
[root@localhost ~]# yum install libtool -y
[root@localhost ~]# yum install glib* -y
[root@localhost ~]# yum install zlib* -y

三、RedHat Linux KVM 安装

RedHat 有两款产品提供 KVM 虚拟化:

  • Red Hat Enterprise Linux:适用于小的环境,提供数目较少的KVM虚机。最新的版本包括 6.5 和 7.0.
  • Red Hat Enterprise Virtualization (RHEV):提供企业规模的KVM虚拟化环境,包括更简单的管理、HA,性能优化和其它高级功能。最新的版本是 3.0.

RedHat Linux KVM:

  • KVM 由 libvirt API 和基于该 API的一组工具进行管理和控制
  • KVM 支持系统资源超分,包括内存和CPU的超分。RedHat Linux 最多支持物理 CPU 内核总数的10倍数目的虚拟CPU,但是不支持在一个虚机上分配超过物理CPU内核总数的虚拟CPU。
  • 支持 KSM (Kenerl Same-page Merging 内核同页合并)

3.1 在已有的 RedHat Linux 中安装 KVM--use

//# 安装虚拟化工具
//   # virtualization:提供虚拟机的环境
//   # virtualization-platform:提供虚拟机的管理程序
//   # virtualization-client:管理和安装虚拟机实例的客户端
//   # virtualization-platform:提供访问和控制虚拟客户端的接口
//   # virtualization-tools:管理离线虚拟机镜像的工具
//   # gnome-desktop:简单易用的桌面
[root@localhost ~]# yum -y group install virtualization-platform virtualization-client gnome-desktop# 安装VNC server/VNC客户端,使用VNC连接虚拟机
[root@localhost ~]# yum -y install tigervnc-server tigervnc vnc vnc-server# 安装 GNOME 桌面环境,开机默认启动图形化
[root@localhost ~]# yum groupinstall -y gnome-desktop
[root@localhost ~]# systemctl get-default
[root@localhost ~]# systemctl set-default graphical.target# 安装 qemu-kvm qemu-img # qemu-img:qemu 组件,创建磁盘、启动虚拟机等# qemu-kvm:# 是 KVM 项目从 QEMU 新拉出的一个分支,用户空间工具,# 在 QEMU 1.3 版本之前,QEMU 和 QEMU-KVM 是有区别的,# 从 2012 年底 GA 的 QEMU 1.3 版本开始,两者等同。
# **libvirt:**kvm虚拟机的管理软件
# **virt-install:**虚拟机的安装工具
# **qemu-kvm qemu-img(qcow2,raw):**管理虚拟机的虚拟磁盘[root@localhost ~]# yum install qemu-kvm -y    # 默认已安装
[root@localhost ~]# yum install qemu-img -y    # 默认已安装# 安装KVM 调试工具
[root@localhost ~]# yum -y install qemu-kvm-tools# 构建虚拟机的命令行工具
[root@localhost ~]# yum -y install virt-install# 网络支持工具, 默认已安装
[root@localhost ~]# yum -y install bridge-utils # 安装虚拟机管理工具
[root@localhost ~]# yum -y install libvirt
[root@localhost ~]# yum -y install virt-manager# 开启 libvirtd KVM服务,以开启相关支持:
# /etc/init.d/libvirtd start
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd# 安装其它工具包:
[root@localhost ~]# yum install libvirt-python python-virtinst libvirt-client virt-install virt-viewer –y
[root@localhost ~]# yum install libguestfs-tools -y# 检查 KVM 模块是否安装:
[root@localhost ~]# lsmod | grep kvm
kvm_intel             174841  0
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm# 卸载kvm
yum erase `rpm -qa | egrep '(qemu|virt|kvm)'`rm -rf /var/lib/libvirt /etc/libvirt/

3.2 在安装  RedHat Linux 时安装 KVM

选择安装类型为 Virtualizaiton Host :

可以选择具体的 KVM 客户端、平台和工具:

3.3 QEMU/KVM 代码下载编译安装

3.3.1 QEMU/KVM 的代码结构

QEMU/KVM 的代码包括几个部分:

(1)KVM 内核模块是 Linux 内核的一部分。通常 Linux 比较新的发行版(2.6.20+)都包含了 KVM 内核,也可以从这里得到。查看:

[root@rh65 isoimages]# uname -r
2.6.32-431.el6.x86_64
[root@rh65 isoimages]# modprobe -l | grep kvm
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko

(2)用户空间的工具即 qemu-kvm

qemu-kvm 是 KVM 项目从 QEMU 新拉出的一个分支(看这篇文章)。在 QEMU 1.3 版本之前,QEMU 和 QEMU-KVM 是有区别的,但是从 2012 年底 GA 的 QEMU 1.3 版本开始,两者就完全一样了。

​(3)Linux Guest OS virtio 驱动,也是较新的Linux 内核的一部分了。

(4)Windows Guest OS virtio 驱动,可以从这里下载。

3.3.2 安装 QEMU

RedHat 6.5 上自带的 QEMU 太老,0.12.0 版本,最新版本都到了 2.* 了。

(1)参考 这篇文章,将 RedHat 6.5 的 ISO 文件当作本地源

mount -o loop soft/rhel-server-6.4-x86_64-dvd.iso /mnt/rhel6/
vim /etc/fstab=> /root/isoimages/soft/RHEL6.5-20131111.0-Server-x86_64-DVD1.iso /mnt/rhel6 iso9660 ro,loop[root@rh65 qemu-2.3.0]# cat /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/rhel6/
enabled=1
gpgcjeck=0[root@rh65 qemu-2.3.0]# yum clean all;yum update

(2)安装依赖包

yum install gcc
yum install autoconf
yum install autoconf automake libtool
yum install -y glib*
yum install zlib*

(3)从 Download QEMU - QEMU 下载代码,上传到编译环境 RedHat 6.5.

tar -jzvf qemu-2.3.0.tar.bz2
cd qemu-2.3.0
./configure
make -j 4
make install

(4)安装完成

[root@rh65 qemu-2.3.0]# /usr/local/bin/qemu-x86_64 -version
qemu-x86_64 version 2.3.0, Copyright (c) 2003-2008 Fabrice Bellard

(5)创建link

ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm

3.3.3 安装 libvirt

从 libvirt 官网下载安装包。

3.4 修改libvirt默认配置

vi /etc/libvirt/qemu.conf

#auto_dump_path = "/var/lib/libvirt/qemu/dump"
#memory_backing_dir = "/var/lib/libvirt/qemu/ram"

vi /etc/logrotate.d/libvirtd.qemu:

/var/log/libvirt/qemu/*.log {weeklymissingokrotate 4compressdelaycompresscopytruncate
}

四、创建 KVM 虚机的几种方式

4.1 使用 virt-manager 工具--use

virt-manager简介:

The virt-manager application is a desktop user interface for managing virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (linux containers). It presents a summary view of running domains, their live performance & resource utilization statistics. Wizards enable the creation of new domains, and configuration & adjustment of a domain’s resource allocation & virtual hardware. An embedded VNC and SPICE client viewer presents a full graphical console to the guest domain.

4.1.1 启动KVM,虚拟机连接器: 

A. 通过命令,手动创建虚拟机存储卷: 

1.创建基于文件夹的存储池(目录)
//[root@kvm ~]# mkdir /home/iso       #存放镜像的目录
//[root@kvm ~]# mkdir /home/images    #存放磁盘文件的目录
mkdir -p /data/vmfs2.定义存储池与其目录
virsh pool-define-as vmdisk --type dir --target /data/vmfs3.创建已定义的存储池(1)创建已定义的存储池virsh pool-build vmdisk(2)查看已定义的存储池,存储池不激活无法使用。virsh pool-list --all4.激活并自动启动已定义的存储池
virsh pool-start vmdisk
virsh pool-autostart vmdisk
# 这里vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。5.在存储池中创建虚拟机存储卷(不执行,这里通过virt-manager安装,不通过命令行安装)(1)在存储池中创建虚拟机存储卷virsh vol-create-as vmdisk oeltest03.qcow2 20G --format qcow2(2)根据创建的虚拟机存储卷安装虚拟机virt-install --name=oeltest03 --os-variant=RHEL6 \
--ram 1024 --vcpus=1 --disk path=/data/vmfs/oeltest03.qcow2, \
format=qcow2,size=20,bus=virtio --accelerate \
--cdrom /data/iso/oel63x64.iso --vnc \
--vncport=5910 --vnclisten=0.0.0.0 --network \
bridge=br0,model=virtio –noautoconsole

B. 执行命令,打开virt-manager:

[root@localhost ~]# virt-manager

 注:执行virt-manager命令打开虚拟机连接器,需要在ssh工具连接系统时,开启X11-Forwarding选项(这里以MobaXterms为例):


新建虚拟机:

然后,点击“开始安装”

重启即可。

进入到字符界面:

管理员用户登录

CentOS-7-x86_64-Minimal版需要安装的基础软件:

yum -y install net-tools net-tools.x86_64 -y
yum install initscripts -y
yum -y install gcc gcc-c++ automake autoconf libtool make -y
yum install zlib zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel -y
yum install crontabs -y

使用 VMM GUI 创建的虚机的xml 定义文件在 /etc/libvirt/qemu/ 目录中。

4.1.2 克隆虚拟机

最后点击Clone按钮进行克隆即可。

4.1.3 登录界面,配置网络

1. 进入网络接口配置项,添加网卡。

2. 选择vlan类型网卡,例添加vlan302。

3. 将虚拟机网卡调至对应网卡。

注:调节完毕后需要重启主机才能生效

相关资源:云计算与虚拟化-资源CentOS操作系统安装CentOS操作系统安装x_云...

4.2 使用 virt-install 命令

1.创建基于文件夹的存储池(目录)
mkdir -p /data/vmfs2.定义存储池与其目录
virsh pool-define-as vmdisk --type dir --target /data/vmfs3.创建已定义的存储池(1)创建已定义的存储池virsh pool-build vmdisk(2)查看已定义的存储池,存储池不激活无法使用。virsh pool-list --all4.激活并自动启动已定义的存储池
virsh pool-start vmdisk
virsh pool-autostart vmdisk
# 这里vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。5.在存储池中创建虚拟机存储卷
(1)在存储池中创建虚拟机存储卷virsh vol-create-as vmdisk oeltest03.qcow2 20G --format qcow2(2)根据创建的虚拟机存储卷安装虚拟机
virt-install \
--name=oeltest03 \
--os-variant=RHEL6 \
--ram 1024 \
--vcpus=1 \
--disk path=/data/vmfs/oeltest03.qcow2,format=qcow2,size=20,bus=virtio \
--accelerate \
--cdrom /data/iso/oel63x64.iso \
--vnc \
--vncport=5910 \
--vnclisten=0.0.0.0 \
--network bridge=br0,model=virtio \
–noautoconsolevirt-install \
--name=guest1-rhel5-64 \
--file=/var/lib/libvirt/images/guest1-rhel5-64.dsk \
--file-size=8 \
--nonsparse --graphics spice \
--vcpus=2 --ram=2048 \
--location=http://example1.com/installation_tree/RHEL5.6-Serverx86_64/os \
--network bridge=br0 \
--os-type=linux \
--os-variant=rhel5.4# or
virt-install \
--name=nebula \
--virt-type=kvm \
--memory 800,maxmemory=1024 \
--vcpus 1 \
--cdrom=/home/iso/CentOS-7-x86_64-Minimal-1708.iso \
--disk path=/home/images/nebula.qcow2,size=10 \
--network bridge=br0 \
--graphicsvnc \
--vncport=15950 \
--vnclisten=0.0.0.0 \
--noautoconsole \
--autostart# 命令解释:
virt-install :虚拟机的安装工具
--virt-type=kvm:虚拟化的类型
--name=nebula:虚拟机的名字
--memory 800 :虚拟机的内存(因为我上传的镜像是792M的,所以给它800M内存)
maxmemory=1024:最大内存
--vcpus 1 虚拟cpu的核数
--cdrom=/home/iso/CentOS-7-x86_64-Minimal-1708.iso :镜像的存放位置
--disk path=/home/images/nebula.qcow2,size=10 :存放磁盘文件的目录,以及磁盘类型的大小,大小为10G
--network network=default :使用默认的NAT网络
--graphics vnc --vncport=15950 --vnclisten=0.0.0.0 :默认显示器为vnc,指定端口号
--noautoconsole --autostart :可加可不加# 参数介绍
--virt-type:指定虚拟机类型
--os-type:指定系统类型
--name:虚拟机名字
--memory:内存,这个参数在centos7安装的kvm里边使用
--ram: 内存,这个参数在centos6安装的kvm里边使用
--vcpus:指定cpu个数
--disk /opt/centos2.raw,format=raw,size=10:指定磁盘位置,类型,大小
--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso:指定镜像文件所在位置
--boot hd:如果不安装系统就把上一条命令换成这个
--network network=default:网络类型默认net
--network bridge=br0:桥接网络使用这个参数
默认连接端口是从5900开始的

4.3 使用 qemu-img 和 qemu-kvm 命令行方式安装

(1)创建一个空的qcow2格式的镜像文件
qemu-img create -f qcow2 windows-master.qcow2 10G(2)启动一个虚机,将系统安装盘挂到 cdrom,安装操作系统,生成一个带操作系统的镜像文件
qemu-kvm  -hda  windows-master.qcow2  -m  512  -boot d  -cdrom /home/user/isos/en_winxp_pro_with_sp2.iso(3) 以该镜像模板创建新的镜像文件。使用模板的好处是,可以设置为只读免于破坏。
qemu-img create -b windows-master.qcow2 -f  qcow2   windows-clone.qcow2(4)在镜像文件上启动虚机
qemu-kvm  -hda  windows-clone.qcow2  -m 400

5.4 通过 OpenStack Nova 使用 libvirt API 通过编程方式来创建虚机(todo)

Centos7 安装KVM相关推荐

  1. Centos7开小鸡(centos7安装KVM+kimchi+wok开小鸡)第一篇安装kimchi wok

    Centos7开小鸡(centos7安装KVM+kimchi+wok开小鸡)之第一篇:安装kimchi wok 前提条件:环境为centos7 必须支持虚拟化 前几天折腾proxmox ve虽然安装成 ...

  2. Centos7安装kvm服务器

    Centos7安装kvm服务器 什么是kvm virt-manager及相关软件简介 virt-manger架构及原理 KVM QEMU Libvirt 检查硬件是否支持kvm虚拟化 启用嵌套虚拟化( ...

  3. Centos7安装KVM虚拟化

    Centos7安装部署KVM 一.配置网桥 1.备份原来的配置文件 2.修改配置文件 a.修改已连接的网卡配置文件(以ifcfg-eno1为例) b.配置网桥配置文件(以ifcfg-br0为例) c. ...

  4. CentOS7安装KVM虚拟机

    检测是否支持KVM KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM.有返回结果,如果结果中 ...

  5. CentOS7安装KVM、KVM安装CentOS7

    1.查看cpu是否支持虚拟化 [root@localhost ~]# egrep '(vmx|svm)' /proc/cpuinfo 2.启动kvm模块 [root@localhost ~]# mod ...

  6. Centos 安装 KVM虚拟化工具 超云服务器 VMware

    需求:在裸机(超云服务器)上安装centos7,并在centos7上安装虚拟化工具,且再建三个虚拟机(centos/windows) 目录 需求:在裸机(超云服务器)上安装centos7,并在cent ...

  7. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    2019独角兽企业重金招聘Python工程师标准>>> Centos7.4安装kvm虚拟机(使用virt-manager管理) 之前介绍了使用WebVirtMgr或Openstack ...

  8. CentOS7文本模式下配置及安装KVM虚拟机

    一.准备工作:        在安装和配置kvm虚拟机之前,首先确保kvm软件已经被正确安装,如果没有安装,请参考如下几步操作:          第一步:检查CPU是否支持vmx相关指令,如果执行结 ...

  9. CentOS7 安装管理KVM虚拟机

    为什么80%的码农都做不了架构师?>>>    系统:CentOS7 64位 [root@e3 ~]# cat /etc/redhat-release CentOS Linux re ...

最新文章

  1. 【Latext】上标下标 ( 右侧上标下标 | 任意字符的正上标记 | 任意字符的正下标记 | 常用数学符号的上标和下标 | 加和 | 乘积 | 交集 | 并集 | 上积 | 极限 | 上弧 )
  2. mysql 创建外键实例_mysql 外键创建实例
  3. 手游方舟怎么输入代码_明日方舟再次登顶失败,为了不发十连奖励,鹰角实力控分?...
  4. 【华为云技术分享】ARMv8-A存储模型概述(1)
  5. shell变量的使用
  6. 在Intellij idea 中YAML文件出现代码提示
  7. gradle依赖冲突的解决方式
  8. vb计算机安装教程,windows10系统安装vb6.0图文教程 Win10攻略
  9. Python最新官方教程中文版,火了!!
  10. ROM RAM FLASH说明
  11. Wed前端开发 ---- HTML超文本标记语言
  12. Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data-----阅读阶段
  13. ArcGIS_栅格数据归一化
  14. configure: error: cannot run /bin/bash config/config.sub 解决configure配置问题
  15. 山东理工大学计算机期末考试题,山东理工大学计算机基础试题11
  16. IIS WEB服务器
  17. ios 使用AVFoundation从视频中提取音频
  18. Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分)
  19. 【智能车竞赛】状态机编程在智能车竞速赛道中的应用 - 编程小记
  20. MySQL数据库实操教程(15)——表的关联关系

热门文章

  1. STM32标准库和HAL库的区别
  2. 网站服务器商标属于哪类,文具店注册商标属于哪一类
  3. Fabrice Bellard
  4. 长春理工大学微型计算机原理,微机原理
  5. C语言static关键字修饰变量及函数时的用法和原理
  6. 自由空间传播模型 计算的实现
  7. Swift 3有什么新功能?
  8. Day71-SpringBoot整合Redis
  9. 暑假博客二:由前序中序遍历生成二叉树
  10. 【概率论与数理统计】猴博士 笔记 p1-p2 古典概型、几何概型