部署KVM虚拟化平台------搭建

linuxisperfect 2019-12-20

一 、部署KVM虚拟化平台

部署KVM虚拟化平台------搭建
hyper-v是windows中的虚拟化
1、KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具
部署KVM虚拟化平台------搭建
2、KVM组成
1.KVM Driver
---虚拟机创建
---虚拟机内存分配
---虚拟CPU寄存器读写
---虚拟CPU运行

2.QEMU (经过简化与修改)
---模拟PC硬件的用户控件组件
---提供I/O设备模型及访问外设的途径

二、虚拟化的三种模式

**1、客户模式:典型的虚拟机环境(虚拟网卡、内存、硬盘);

2、用户模式:工具层,下面是内核(驱动进行的资源分配);

3、kvm driver:内核态,人为不可控制(kvm驱动接收用户态操作指令,控制虚拟机在内核态的资源分配)。
部署KVM虚拟化平台------搭建
4、虚拟机就是一个独立的进程,虚拟机内的用户各个硬件叫做线程

5、全虚和半虚的区别
全虚拟化一般对硬件虚拟化功能进行了特别优化,性能上比半虚拟化要高;
半虚拟化因为基于普通的操作系统,会比较灵活,比如支持虚拟机嵌套。嵌套意味着可以在KVM虚拟机中再运行KVM。

三、KVM工作原理

部署KVM虚拟化平台------搭建
工作流程:首先启动一个虚拟化管理软件,开始启动一个虚拟机,通过ioctl等系统调用向内核中申请指定的资源,搭建好虚拟环境,启动虚拟机内的系统,虚拟机内的系统向内核反馈相关资源申请处理,如果是io请求,则提交给用户模式下的qemu处理,非io请求则将处理结果反馈给客户模式。

四、KVM实操演练

1、安装流程
部署KVM虚拟化平台------搭建
2、kvm网络模式:用户(NAT)和桥接模式,本次实操采用桥接模式
3、kvm图形化管理
部署KVM虚拟化平台------搭建

4、添加新硬盘,并开启虚拟化功能
部署KVM虚拟化平台------搭建
5、分区、格式化并挂载硬盘(以下为脚本)

#! /bin/bash
echo "the disks exist list:"
fdisk -l |grep ‘磁盘 /dev/sd[a-z]‘
echo "=================================================="
PS3="chose which disk you want to create:"
select VAR in `ls /dev/sd*|grep -o ‘sd[b-z]‘|uniq` quit
do
    case $VAR in
    sda)
        fdisk -l /dev/sda
        break ;;
    sd[b-z])
        #create partitions
        echo "n
                p

                w"  | fdisk /dev/$VAR

        #make filesystem
        mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null
    #mount the system
        mkdir -p /data/${VAR}"1" &> /dev/null
        echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab
        mount -a &> /dev/null
        break ;;
    quit)
        break;;
    *)
        echo "wrong disk,please check again";;
    esac
done

6、安装KVM一系列工具、环境包

#安装桌面环境组件包
yum groupinstall "GNOME Desktop" -y

#安装KVM模块
yum install qemu-kvm -y

#安装KVM调试工具
yum install qemu-kvm-tools -y

#安装构建虚拟机的命令行工具
yum install virt-install -y

#安装qemu组件,创建磁盘,启动虚拟机
yum install qemu-img -y

#安装网络支持工具
yum install bridge-utils -y

#安装虚拟机管理工具
yum install libvirt -y

#安装图像化管理虚拟机
yum install virt-manager -y

#查看CPU是否支持虚拟化
egrep ‘(vmx|svm)‘ /proc/cpuinfo

#查看kvm模块是否安装
lsmod | grep kvm

#开启libvirtd服务
systemctl start libvirtd

#查看libvirtd服务状态
systemctl status libvirtd

#开机自启动libvirtd服务
systemctl enable libvirtd

7、部署虚拟化

#切换至挂载点
cd /data

#创建备份目录
mkdir vdisk viso

#后台复制镜像到备份目录
cp -r /mnt/CentOS-7-x86_64-DVD-1708.iso /data/viso/ &

#切换网卡配置目录
cd /etc/sysconfig/network-scripts/

#复制ens33 网卡配置文件作为桥接网卡的模板
cp -p ifcfg-ens33 ifcfg-br0

#编辑ens33 网卡配置文件
vim ifcfg-ens33
#尾行追加桥接模块
BRIDGE=br0

#编辑桥接 网卡配置文件
vim ifcfg-br0

#替换类型为bridge桥接模式
TYPE=bridge

#修改为静态模式
BOOTPROTO=static

#改名
NAME=br0

#改驱动名称
DEVICE=br0

#追加IP地址,掩码和网关
IPADDR=192.168.142.153
NETMASK=255.255.255.0
GATEWAY=192.168.142.1

#重启网络服务
service network restart

8、图形化管理

virt-manager
##开启图形化管理

部署KVM虚拟化平台------搭建
添加存储池disk
部署KVM虚拟化平台------搭建
部署KVM虚拟化平台------搭建
添加disk存储卷
部署KVM虚拟化平台------搭建
添加存储卷
部署KVM虚拟化平台------搭建
添加存储池iso
部署KVM虚拟化平台------搭建
部署KVM虚拟化平台------搭建
关闭创建,即可配置生成虚拟机
部署KVM虚拟化平台------搭建
选择主机引导时启动虚拟机,开始安装,linux中的kvm虚拟机即可开始安装。。。。
部署KVM虚拟化平台------搭建

相关推荐