美文网首页
Centos7 安装部署KVM (学习测试神器!)

Centos7 安装部署KVM (学习测试神器!)

作者: ImitationShow丶吃 | 来源:发表于2020-06-11 16:47 被阅读0次
KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。全虚拟化,可以快速部署新的环境,能使用qcow2磁盘格式,利用类似写实复制的功能,节约磁盘空间和创建时间。
快速创建虚拟机的模板,可以参考使用
# 需要准备 :[ .kvm-master.xml / .kvm-master.qcow2]
# 已经创建的虚拟机的 xml文件 / img文件 可以做为模板
#!/bin/bash
. /etc/init.d/functions
ONF_DIR=/etc/libvirt/qemu
IMG_DIR=/var/lib/libvirt/images
function createvm(){
    if  [ -e ${IMG_DIR}/${1}.img ];then
        echo "警告 xn ${1}.img 已经存在"
        return 1
    else
        qemu-img create -b ${IMG_DIR}/.kvm-master.qcow2 -f \
            qcow2 ${IMG_DIR}/${1}.img 40G &>/dev/null
        sed -e "s,kvm-name,${1}," ${IMG_DIR}/.kvm-master.xml >${CONF_DIR}/${1}.xml
        sudo virsh define ${CONF_DIR}/${1}.xml &>/dev/null
        echo "' xn ${1} 创建成功"
    fi
}
if (( $# == 0 ));then
  echo "$0 xn1 xn2 xn3 ... ..."
else
  for i in $@;do
      createvm ${i}
  done
fi
exit 0
安装 KVM
1. 如何查看当前linux服务器是否支持虚拟化
grep -E '(svm|vmx)' /proc/cpuinfo

# 输出有SVM或VMX,表明CPU支持虚拟化技术:
# svm - AMD 的虚拟化技术AMD-V
# vmx  - Intel 的虚拟化技术Intel-VT

# 使kvm虚拟机的支持虚拟化嵌套:
modinfo kvm_intel | grep nested
# parm: nested:bool
cat /sys/module/kvm_intel/parameters/nested
# 如果上面的显示结果不是 Y 的话需要开启 nested,执行以下:
modprobe -r kvm-intel
modprobe kvm-intel nested=1
cat /sys/module/kvm_intel/parameters/nested
# 上面的显示结果是 Y,已经 正确开启 虚拟化嵌套

#添加到内核自启动
tee /etc/sysconfig/modules/kvm.modules <<-'EOF'
modprobe -r kvm-intel
modprobe kvm-intel nested=1
EOF

chmod 755 /etc/sysconfig/modules/kvm.modules
source /etc/sysconfig/modules/kvm.modules

2. 安装KVM相关包文件
yum install -y  virt-*  libvirt  bridge-utils qemu-img

3. 确认载入kvm模块
lsmod | grep kvm

4. 启动libvirtd服务(必须)
systemctl start libvirtd && systemctl enable libvirtd
KVM 已经完成安装了,接下来配置网络
方式一:
# 配置桥接网卡
tee /etc/sysconfig/network-scripts/ifcfg-br0 <<-'EOF'
TYPE=Bridge
NAME=br0
DEVICE=br0
IPADDR=10.0.10.129
NETMASK=255.255.255.0
GATEWAY=10.0.10.1
EOF
# 配置本地网卡与桥接网卡相同
echo 'BRIDGE=br0' >> /etc/sysconfig/network-scripts/ifcfg-eth0
# 重启网络服务 (注意可能会导致网络启动失败,无法 ssh连接)
# 或者增加一个备份网卡,保障
systemctl restart network
方式二:
# 拷贝当前的网卡文件,并修改名字
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
# 增加一个桥接网卡
tee /etc/sysconfig/network-scripts/ifcfg-br0 <<-'EOF'
TYPE=Bridge
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
EOF
# 配置本地网卡与桥接网卡相同
echo 'BRIDGE=br0' >> /etc/sysconfig/network-scripts/ifcfg-eth0
# 重启网络服务 (注意可能会导致网络启动失败,无法 ssh连接)
# 或者增加一个备份网卡,保障
systemctl restart network
# 然后,ifconfig命令可以看出,eth0网卡的IP到br0上
使用KVM(命令行方式)安装centos7
# 创建 Kvm 数据基准目录
mkdir -p /kvm/iso/ /kvm/img/
# 下载 Centos镜像
cd  /kvm/img/
wget https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso
# 安装(可合理调整资源大小)
virt-install --name=demo --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 \
--os-type=linux --os-variant=rhel7 \
--location=/kvm/iso/CentOS-7-x86_64-Minimal-1908.iso\
--disk path=/kvm/img/demo.img,size=10 --bridge=br0 \
--graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"  \
-enable-kvm -cpu qemu64,+vmx
# 添加vmx支持
图形安装的虚拟机的 默认目录
# 存放虚拟机的img文件
/var/lib/libvirt/images/
# 存放虚拟机的xml文件
/etc/libvirt/qemu/
建立一台支持虚拟化的虚拟机
修改 xml 文件 cpu 部分
# 完全模拟物理机CPU
  <cpu mode='host-passthrough' check='none'/>
管理虚拟机的一些命令
# 假设 虚拟机 为 demo

# 启动 虚拟机 demo
virsh start demo
# 关闭虚拟机
virsh shutdown  demo
# 强制停止虚拟机
virsh destroy demo
# 彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘
virsh undefine demo
# 设置宿主机开机时该虚拟机也开机
virsh autostart demo
# 解除开机启动
virsh autostart --disable demo
# 挂起虚拟机
virsh suspend demo
# 恢复挂起的虚拟机
virsh resume demo
自己遇到的坑
错误:
重启服务器后,发现
qemu://system 没有连接驱动器可用;
读取数据时进入文件终点: 输入/输出错误。
原因:
KVM的相关包 装少了 
解决方法:
KVM的相关包 重新安装
yum install -y  virt-*  libvirt  bridge-utils qemu-img
错误:
无法 virsh console 虚拟机
原因:
没有 /dev/ttyS0 启用串口登录
解决方法:
systemctl start serial-getty@ttyS0.service
systemctl enable serial-getty@ttyS0.service

相关文章

  • Centos7 安装部署KVM (学习测试神器!)

    KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台...

  • KVM管理工具Webvirtmgr安装

    确保kvm已经安装成功,见 centos7安装kvm本文基于docker安装,见 centos7安装docker ...

  • CentOS7安装KVM

    CentOS7安装KVM 一、简介 KVM是Kernel Based Virtual Machine的简称,能够利...

  • CentOS7上安装并使用KVM

    CentOS7上安装并配置KVM,以及通过KVM安装CentOS系统 ssh免密码 修改静态IP地址 停止防火墙 ...

  • CentOS7.6下创建KVM(使用Openvswitch)

    背景:需要在CentOS7下面创建一个KVM,这里我们使用Openvswitch步骤:安装qemu-kvm,lib...

  • 部署安装KVM

    CentOS版本: 安装KVM 先验证CPU是否支持KVM;如果结果中有vmx(Intel)或svm(AMD)字样...

  • kvm安装部署

    1.虚拟化介绍 1.什么是虚拟化通过模拟物理服务器的硬件,实现在一台物理机上可以同时运行多个操作系统,也称为虚拟机...

  • 虚拟化

    目录 一、了解虚拟化二、常见虚拟化软件三、虚拟化架构四、KVM介绍五、Centos7上安装KVM六、配置网卡七、创...

  • 部署KVM虚拟化平台

    部署KVM虚拟化平台 1、安装前准备 1)服务器或者PC的CPU能支持VT技术 2)虚拟机中安装KVM要勾选:处理...

  • KVM部署安装记录

    安装 启动后可以看到网卡多了一个virbr0的网口,这个是libvirt默认的nat网口(默认IP是192.168...

网友评论

      本文标题:Centos7 安装部署KVM (学习测试神器!)

      本文链接:https://www.haomeiwen.com/subject/fagbtktx.html