专栏首页ASFORKVM系列教程(一)安装KVM

KVM系列教程(一)安装KVM

本实验环境采用VMware WorkStation 15及RHEL 7.3镜像部署安装。

一、环境要求

利用上述资源安装一台 内存为4G,存储为50G,NAT网络模式且开启虚拟化的虚拟机

开启虚拟化教程

1、在装机时或关机状态下,设置虚拟机配置,在处理器处打开 虚拟机Intel VT-x/EPT 或 AMD-V/RVI(V) 选项

2、开机后。使用以下命令查看是否成功开启虚拟化(检索/proc/cpuinfo文件是否含有vmx或svm字符串)

egrep -o 'vmx|svm' /proc/cpuinfo

3、如命令有显示结果(vmx或svm),即为开启状态,反之请按步骤一操作后再次查看(此次实验采用intel物理主机,故显示为vmx)

二、基础配置

1、检查并配置网络

1)检查网卡配置,命令如下,网卡ens33无IP

ifconfig

2)修改配置文件并重启查看网络服务

#1、修改配置文件(不同版本文件可能为其他名称)
vim /etc/sysconfig/network-scripts/ifcfg-ens33  

#2、将配置文件ONBOOT=no 改为 ONBOOT=yes
#3、将DHCP模式改为static或none模式并增加IP、子网掩码、网关等配置(配置文件内容如下图)
#4、重启网络配置
systemctl restart network

此时,网卡ens33的IP 为192.168.81.134

2、关闭防火墙

#关闭防火墙服务
systemctl stop firewalld
#将防火墙服务从开机启动列表移除
systemctl disable firewalld

3、关闭selinux

方法1:

#1、查看selinux状态(此时执行结果为enforcing)
getenforce
#2、临时关闭selinux(此时状态为permissive)
setenforce 0
#3、永久关闭selinux(重启生效)
vim /etc/selinux/config
    #将SELINUX=ENFORCING改为 SELINUX=disabed
#4、重启虚拟机
reboot

方法2:

#1、查看selinux状态(此时执行结果为enforcing)
getenforce
#2、临时关闭selinux(此时状态为permissive)
setenforce 0
#3、利用sed工具将第一个SELINUX= 后的文字更换为disabled
sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config
#4、重启虚拟机
reboot

4、配置yum源

此处使用网易163镜像源(镜像源可参考ASFOR开源镜像站

#使用curl工具下载repo文件
curl -o /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo
#查看软件包数量
yum repolist

三、安装KVM

1、安装所需工具

yum -y install epel-release vim wget net-tools unzip zip gcc gcc-c++

2、安装KVM

yum -y install qemu-kvm qemu-kvm-tools qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils libguestfs-tools

3、配置KVM服务器网络

#1、进入网卡配置文件目录
cd /etc/sysconfig/network-scripts/
#2、查看当前目录文件
ls
#3、复制ens33配置文件,并粘贴至本目录,更名为ifcfg-br0
cp ifcfg-ens33 ifcfg-br0 
#4、在ifcfg-ens33配置文件中增加如下内容(vim ifcfg-ens33)
    NM_CONTROLLED=no
    BRIDGE=br0
#此时,该文件内容如下图(ens33配置文件内容)

#5、将ifcfg-br0中替换成如下内容(vim ifcfg-br0)
TYPE=Bridge
DEVICE=br0
NM_CONTROLLED=no
BOOTPROTO=static
NAME=br0
ONBOOT=yes
IPADDR=192.168.81.134  //此处IP为ens33的IP地址
NETMASK=255.255.255.0  
GATEWAY=192.168.81.2  //此处网关为nat当前网段的网关
DNS1=114.114.114.114
DNS2=8.8.8.8
#此时,该文件内容如下图(br0配置文件内容)

#6、重启网络服务
systemctl restart network

#7、查看当前网卡数量及相关配置
ip addr list

4、开启并检查KVM

1)、启动服务并将之加入开机启动列表

systemctl start libvirtd
systemctl enable libvirtd

2)、验证安装结果

lsmod|grep kvm

3)、查看文件信息

ll /usr/lib/modules/3.10.0-514.el7.x86_64/kernel/arch/x86/kvm/

(如所查文件为xz压缩文件,请使用xz命令解压,此处为ko文件,故不解压)

4)、测试并验证安装结果

virsh -c qemu:///system list
virsh –version
virt-install --version

5)、创建连接并查看是否成功

ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
ll /usr/bin/qemu-kvm

6)、查看网桥信息

brctl show

7)、创建虚拟机 创建名为/root/test1.qcow2的镜像文件(名称及配置信息、镜像文件等请配置为符合需求的参数)

virt-install --virt-type=kvm --name=test1 --vcpus=2 --memory=2048 --location=/root/rhel-server-7.4-x86_64-dvd.iso --disk path=/root/test1.qcow2,size=10,format=qcow2 --network bridge=virbr0 --graphics none --extra-args='console=ttyS0'     --force

参数说明: --name 指定虚拟机的名称 --memory 指定分配给虚拟机的内存大小 maxmemory 指定可调节的最大内存大小,(KVM支持热调整虚拟机的资源) --vcpus 指定分配给虚拟机的CPU核心数量 maxvcpus 指定可调节的最大CPU核心数量 --os-type 指定虚拟机安装的操作系统类型 --os-variant 指定系统的发行版本 --location 指定ISO镜像文件所在的路径,支持使用本地或网络资源路径 --disk path 指定虚拟硬盘所存放的路径及名称,size 则是指定该硬盘的可用大小,单位G --bridge 指定使用某张桥接网卡 --graphics 指定是否开启图形 --console 定义终端的属性 target_type 定义终端的类型 --extra-args 定义终端额外的参数

KVM自动化安装脚本

内含检查虚拟化开启状态、配置YUM、安装KVM、关闭防火墙和SElinux、设置桥接网络、安装虚拟机(待测)、查看和连接虚拟机功能。 执行如下命令即可使用脚本:

 wget https://www.asfor.cn/download/sh/kvm_install.sh && bash kvm_install.sh

备用脚本(含中文结果):

wget https://www.asfor.cn/download/sh/kvm_ins.sh && bash kvm_ins.sh

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2o8p63uj884k0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • KVM系列教程(一)安装KVM

    本实验环境采用VMware WorkStation 15及RHEL 7.3镜像部署安装。

    Weiyang
  • Typecho小程序详细教程(三)个性定制

    注意:此处可直接在解压出来的目录中进行图片的替换和修改,建议将整个images目录备份后再进行操作,修改后的图片名称需与原文件名称保持一致(如,修改home图标...

    Weiyang
  • Typecho小程序详细教程(二)基本搭建

    关注微信公众号 ASFOR 回复“WeTypecho源码”即可下载。 关注微信公众号 ASFOR 回复“WeTypecho插件”即可下载。

    Weiyang
  • 设计模式 (3) : 单例模式的几种方法

    原理: c# 中用 new 方法创建一个实例需要调用类的构造函数(注: 每一个类都必须有至少一个构造函数, 当我们未定义构造函数时,编译时编译器会帮我们生成一个...

    用户2434869
  • 设计模式之单件模式(Singleton Pattern)引出单例模式经典单例模式的实现定义单件模式经典单件模式存在的问题解决单例模式的多线程问题

    单件模式,也叫单例模式,可以说是设计模式中最简单的一种。顾名思义,就是创造独一无二的唯一的一个实例化的对象。

    desperate633
  • 代理和通知

    用户1941540
  • JVM 监控 1

    服务监控是一个服务中非常重要的组成部分,直接决定了问题的发现及排查速度,并且从一定程度上提高服务一个周期内的可用性。在Java服务中,除了对于 业务、接口耗时&...

    邹志全
  • LeakCanary 原理剖析

    内存泄漏是一个隐形炸弹,其本身并不会造成程序异常,但是随着量的增长会导致其他各种并发症:OOM,UI 卡顿等。

    Erossssssss
  • 单例模式

    这篇是我开始进入设计模式的第一篇文章,Java一共有23种设计模式,我曾看过《大话设计模式》,书的内容当然都是干货满满,我当时看的是电子版,让我一度从入门到放弃...

    胖虎
  • Leetcode 9. 回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    zhipingChen

扫码关注云+社区

领取腾讯云代金券