基于KVM的虚拟机环境搭建

一 使用KVM的原因

云计算(云存储、云计算、软件定义网络、openstack等技术)测试需要搭建分布式节点,在作小型实验环境的时候,使用虚拟机模拟硬件环境可以减少成本,也更方便管理,可以更快帮助新手入门。
virtual box是一个跨平台虚拟化软件,也有很多用户,但是在选型过程中,发现经常性报错,认为不是很稳定,不适合新手入门;而KVM是linux内核的一部分,也是目前事实上的开源虚拟化标准解决方案,比如openstack底层就默认使用KVM做虚拟化。

二 环境信息

cpu:Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz //4core
mem:total 7686,swap 7935
os:Linux promote.cache-dns.local 3.10.0-957.el7.x86_64

三 KVM介绍

Kernel-based Virtual Machine,基于内核的虚拟机。
开源,linux core 2.6 之后集成在linux内核中,是内核模块的一部分;
性能,主板级别访问稳定;
稳定,目前共有云环境70%的市场;

四 KVM安装

  1. 查看CPU是否支持VMX
grep -E -o 'vmx|svm' /proc/cpuinfo

如下结果表示CPU支持VMX虚拟化:


KVM_Check_01.png
  1. 打开VMX虚拟化
  • BIOS虚拟化开关
    开机进入 BIOS,通常在【secruity】设置项下,将 【Virtualization Technology】(不同主板可能叫法不一样,就是虚拟化技术的意思)设置为【enabled】。

  • VMX模式

modprobe kvm
lsmod|grep kvm

如下结果表示KVM模块已经加载:


KVM_Check_02.png

如下结果表示CPU支持未打开,参考上一步,打开BIOS虚拟化开关:


KVM_Check_03.png
  1. 安装libvirt管理工具
yum install -y qemu-kvm 
yum install -y libvirt-bin
yum install -y virt-manager
  1. 创建镜像池路径
    选择磁盘可用空间较大的挂载点,同常选择【/home】路径
  • 创建镜像池路径
mkdir /home/iso;
mkdir /home/data
  • 下载系统镜像
cd /home/iso;
wget http://mirrors.neusoft.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
  • 创建磁盘镜像
    见下文第六部分

五 虚拟网络配置(暂使用默认网络配置)

  • 增加虚拟网卡
brctl addbr cent-virt
ifconfig  cent-virt 192.168.100.1/24
ip link set cent-virt up
  • NAT虚拟网络
  • Bridge虚拟网络
  • 网络配置文件

  centos-nat
  e64eeef7-9be3-4db2-9cc0-2e2cddd966e9
  
  
  
  
    
      
    
  

六 使用GUI进行虚拟机管理

  1. 创建
  • 启动virt
virt-manager
基于KVM的虚拟机环境搭建_第1张图片
KVM_Manager_01.png
  • 创建磁盘镜像
    [Edit]-->[Connection details],选择[Storage]
    基于KVM的虚拟机环境搭建_第2张图片
    KVM_Manager_05.png

    点击左下角[+]创建硬盘镜像池
    基于KVM的虚拟机环境搭建_第3张图片
    KVM_Manager_06.png

    [Forward]选择硬盘镜像池的挂载路径
    基于KVM的虚拟机环境搭建_第4张图片
    KVM_Manager_07.png

    选择[第四节]中创建的磁盘镜像池路径 /home/data
    点击[Volume]右侧[+]创建磁盘镜像
    基于KVM的虚拟机环境搭建_第5张图片
    KVM_Manager_08.png

    命名、设置磁盘空间
    基于KVM的虚拟机环境搭建_第6张图片
    KVM_Manager_09.png
  • 开始创建虚拟机


    基于KVM的虚拟机环境搭建_第7张图片
    KVM_Manager_02.png

    选择本地媒介安装,点击[Foreard]

  • 从系统镜像存放路径中选择之前下载的镜像文件 /home/iso/CentOS-7-x86_64-Minimal-1810.iso


    基于KVM的虚拟机环境搭建_第8张图片
    KVM_Manager_03.png
  • 设置内存和CPU资源,此处根据需要设定


    基于KVM的虚拟机环境搭建_第9张图片
    KVM_Manager_04.png
  • 选择已存在的磁盘镜像


    基于KVM的虚拟机环境搭建_第10张图片
    KVM_Manager_10.png
  • 命名、网络选择
    **默认(NAT网络)


    基于KVM的虚拟机环境搭建_第11张图片
    KVM_Manager_11.png
  1. 安装
  • 选择安装[Install CentOS 7]


    基于KVM的虚拟机环境搭建_第12张图片
    KVM_Install_01.png
  • 语言选择[Englisg]


    基于KVM的虚拟机环境搭建_第13张图片
    KVM_Install_02.png
  • 安装设置[SYSTEM]
    基于KVM的虚拟机环境搭建_第14张图片
    KVM_Install_03.png

    [SYSTEM]-->[INSTALLATION DESTINATION]
    基于KVM的虚拟机环境搭建_第15张图片
    KVM_Install_04.png

[SYSTEM]-->[NETWORK & HOST NAME]

基于KVM的虚拟机环境搭建_第16张图片
KVM_Install_05.png

note:这一步没有操作正确,虚拟机启动之后无法连接网络
answer:[open]虚拟机,用root用户执行以下命令

ifup /etc/sysconfig/network-scripts/ifcfg-eth0
  • 开始安装、设置root密码**


    基于KVM的虚拟机环境搭建_第17张图片
    KVM_Install_06.png

等待安装结束

  1. 起停


    基于KVM的虚拟机环境搭建_第18张图片
    KVM_Start_01.png
  • 开启
    选中虚拟机,点击运行,或者右击虚拟机选择[run]
  • 停止
    选中虚拟机,点击停止,或者右击虚拟机选择[shutdown]
  1. 克隆
  • 右击虚拟机选择[clone];


    基于KVM的虚拟机环境搭建_第19张图片
    KVM_Clone_01.png
  • 按照提示进行,注意磁盘镜像选择的位置;


    基于KVM的虚拟机环境搭建_第20张图片
    KVM_Clone_02.png
  • 修改克隆机的IP,并重启网络服务
  1. 添加磁盘
  • 按照前述步骤 创建磁盘镜像,假设镜像名为:newdisk.qcow2
  • 关闭虚拟机
  • 修改配置文件 /etc/libvirt/qemu/[vm-name].xml
    添加到devices
 
      
      
      
 
  1. 添加内存

七 无GUI虚拟机管理

  1. 创建磁盘镜像
#virsh vol-create --pool [pool-name] --file [configuration-name]
  1. 创建虚拟机
#virt-install
  1. 起停虚拟机
  • 启动虚拟机
#virsh start [vm-name]
virsh start CentOS7.0-01
  • 停止虚拟机
#virsh shutdown [vm-name]
virsh shutdown CentOS7.0-01
  1. 克隆虚拟机
#virt-clone -o [origin-vm-name] -n [new-vm-name] -f [new-vm-disk-img-file]
irt-clone -o CentOS7.0-01 -n CentOS7.0-02 -f /home/data/CentOS7.0-02.qcow2
  1. 添加硬盘资源
#qemu-img create -f [raw\qcow2] [file-path] [size]
qemu-img create -f qcow2 /home/data/osd.qcow2 50g

参考文档

linux虚拟化技术
KVM四种简单网络配置

你可能感兴趣的:(基于KVM的虚拟机环境搭建)