Centos7 安装KVM

参考文章: 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 Enable

syscall – 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

# 安装 GNOME 桌面环境,开机默认启动图形化
# [root@localhost ~]# yum groupinstall -y gnome-desktop
# [root@localhost ~]# systemctl get-default 
# [root@localhost ~]# systemctl set-default graphical.target

# 安装VNC server/VNC客户端,使用VNC连接虚拟机
# [root@localhost ~]# yum -y install tigervnc-server tigervnc vnc vnc-server

# 安装 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 libvirt-devel libvirt-daemon-kvm libvirt-client
[root@localhost ~]# yum -y install virt-manager

# 开启 libvirtd KVM服务,以开启相关支持:
# /etc/init.d/libvirtd start
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd --now

# 安装其它工具包:
[root@localhost ~]# yum install libvirt-python python-virtinst 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 {
        weekly
        missingok
        rotate 4
        compress
        delaycompress
        copytruncate
}

四、创建 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/vmfs

2.定义存储池与其目录
virsh pool-define-as vmdisk --type dir --target /data/vmfs

3.创建已定义的存储池
  (1)创建已定义的存储池
  virsh pool-build vmdisk

  (2)查看已定义的存储池,存储池不激活无法使用。
  virsh pool-list --all

4.激活并自动启动已定义的存储池
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为例):


新建虚拟机: 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Centos7 ISO镜像下载地址:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置网卡,选择e1000(该网卡是千兆网卡,其它的是百兆网卡) 

开始安装 

然后,点击“开始安装”

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

重启即可。

在这里插入图片描述

进入到字符界面:

在这里插入图片描述

管理员用户登录

在这里插入图片描述

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/vmfs

2.定义存储池与其目录
virsh pool-define-as vmdisk --type dir --target /data/vmfs

3.创建已定义的存储池
  (1)创建已定义的存储池
  virsh pool-build vmdisk

  (2)查看已定义的存储池,存储池不激活无法使用。
  virsh pool-list --all

4.激活并自动启动已定义的存储池
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 \
–noautoconsole

virt-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)

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在CentOS 7上安装KVM,你可以按照以下步骤进行操作: 1. 首先,确保你的系统已经安装了qemu-kvm工具。你可以使用以下命令来安装它: ``` yum -y install qemu-kvm-tools ``` 2. 接下来,你需要安装KVM模块。使用以下命令来安装: ``` yum -y install qemu-kvm ``` 3. 确认你的主机已经安装了VMware虚拟机,并在VMware虚拟机上安装了CentOS 7系统。在CentOS 7上安装KVM虚拟化软件的步骤与在其他系统上安装类似。你可以按照官方文档或者以下步骤进行操作: - 首先,确保你的系统已经安装了包含KVM虚拟化软件的软件仓库。 - 然后,使用yum包管理器安装KVM软件包。 - 安装完成后,你可以使用KVM命令行工具来创建和管理虚拟机。 请注意,安装KVM虚拟化软件需要在具备一定的系统管理知识和权限的情况下进行。如果你不确定如何进行操作,建议在安装之前进行一些背景知识的学习或者请专业人士的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [centos7安装部署kvm,照做就行](https://blog.csdn.net/weixin_47556601/article/details/125529706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风情客家__

原创不易,觉得好的话给个打赏哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值