linux-运维进阶-30 KVM

本文详细介绍了KVM虚拟化的概念、检测虚拟化功能的方法,以及如何在Linux环境中安装、配置KVM,包括安装Linux和Windows虚拟机、网络配置、克隆虚拟机、挂载磁盘等关键步骤,旨在提升Linux运维人员的KVM操作技能。
摘要由CSDN通过智能技术生成

linux-运维进阶-30 KVM

KVM

概念解析

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM( Virtual Machine Monitor,虚拟机监控器)之一。

检测虚拟化功能

如下图,把这个勾勾上,另外,做实验用的Server处理器和内存调大一些,因为接下来咱们要在虚拟机Server里新建虚拟机,也就是所谓的“虚拟机里的虚拟机”。

加一张桥接模式的网卡

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

[root@localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm'

请看下图:

关掉防火墙,关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled,这里注意,改了重启后才生效。

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# 
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled

保存退出
[root@localhost ~]# getenforce 
Enforcing
[root@localhost ~]# reboot


重启后再次查看:
[root@localhost ~]# getenforce 
Disabled
[root@localhost ~]# 

说明已经关闭了selinux

安装kvm环境

通过 yum 安装 kvm 基础包和管理工具

kvm相关安装包及其作用:

  • qemu-kvm 主要的KVM程序包
  • python-virtinst 创建虚拟机所需要的命令行工具和程序库
  • virt-manager GUI虚拟机管理工具
  • virt-top 虚拟机统计命令
  • virt-viewer GUI连接程序,连接到已配置好的虚拟机
  • libvirt C语言工具包,提供libvirt服务
  • libvirt-client 为虚拟客户机提供的C语言工具包
  • virt-install 基于libvirt服务的虚拟机创建命令
  • bridge-utils 创建和管理桥接设备的工具
安装kvm基础包和管理工具

[root@localhost ~]# yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install python-virtualenv


	其中有一个安装包python-virtinst特别坑,以前是可以直接用yum安装成功的,但是现在yum软件仓库里已经没有这个包了,即使是用命令:yum install epel-release安装并启用EPEL源后,也依然会提示没有可用包python-virtinst。yum软件仓库里没有,rpm软件仓库里倒是有,但是我尝试了n个版本,不是与这个冲突就是和那个矛盾,能把人气死,最后利用github开源出来的python-virtinst包安装终于成功了,实验才得以继续下去。
	另外,如果你的python-virtinst包没有安装成功的话,后面虚拟机里安装虚拟机的时候,会总是报错:Kernel panic - not syncing: Fatal exception in inter,无论怎么也装不好。



关机,保存快照,以防后面实验手滑敲错。
[root@localhost ~]# poweroff

开机,查看KVM模块是否被正确加载
[root@localhost ~]#  lsmod | grep kvm
kvm_intel             174841  0 
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm
[root@localhost ~]# 

如下图,将上述yum命令再次执行,可以发现其他包都装好了,就python-virtinst最坑,我们后面再来安装它。

开启kvm服务,并且设置其开机自动启动

[root@localhost ~]# systemctl restart libvirtd
[root@localhost ~]# systemctl enable libvirtd

安装Linux虚拟机

安装前要设置环境语言为英文LANG=“en_US.UTF-8”,如果是中文的话某些版本可能会报错。CentOS 7 在这里修改 /etc/locale.conf。

[root@localhost ~]# vim /etc/locale.conf 
LANG="en_US.UTF-8"

准备安装目录和系统镜像

[root@localhost ~]# mkdir /kvm/
[root@localhost ~]# mkdir /kvm/vms
[root@localhost ~]# mkdir /kvm/iso

下载centos镜像的网站:

https://www.centos.org/download/

下载个Minimal的就行,迷你版比较小,下载起来比较快嘛!我这里用的是1804版本的。

安装上传下载工具lrzsz,然后上传系统镜像到/kvm/iso目录中

[root@localhost ~]# yum install lrzsz -y
[root@localhost ~]# cd /kvm/iso/
[root@localhost iso]# ls
[root@localhost iso]# rz

[root@localhost iso]# ls
CentOS-7-x86_64-Minimal-1810.iso
[root@localhost iso]# 

定义一个储存池,绑定目录,建立并激活存储池,后面会用这个存储池创建虚拟机

[root@localhost iso]# virsh pool-define-as vmspool --type dir --target /kvm/vms
Pool vmspool defined

[root@localhost iso]# virsh pool-build vmspool
Pool vmspool built

[root@localhost iso]# virsh pool-start vmspool
Pool vmspool started

现在来安装python-virtinst

[ro
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值