暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Centos7安装KVM虚拟机教程

5分享 2021-05-26
2214

KVM ---  全称是基于内核的虚拟机(Kernel-based Virtual Machine)是一个开源软件,基于内核的虚拟化技术,实际是嵌入系统的一个虚拟化模块,通过优化内核来使用虚拟技术,该内核模块使得 Linux 变成了一个Hypervisor,虚拟机使用 Linux 自身的调度器进行管理。


1、查看系统版本

    [root@localhost ~]# cat /etc/centos-release
    CentOS Linux release 7.4.1708 (Core)


    2、首先验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM

      [root@localhost ~]# grep -E '(vmx|svm)' proc/cpuinfo **

      3、确保加载kvm模块

        [root@localhost ~]# lsmod |grep kvm
        kvm_intel 174841 0
        kvm 578518 1 kvm_intel
        irqbypass 13503 1 kvm
        #如果没有加载,运行一下命令
        [root@localhost ~]# modprobe kvm
        [root@localhost ~]# modprobe kvm-intel

        4、安装KVM相关软件包

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


          5、关闭selinux

            [root@localhost ~]# setenforce 0
            [root@localhost ~]# vim etc/sysconfig/selinux
            修改SELINUX=disabled 


            6、启动libvirt并设置开机自启动

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


              7、将ISO系统镜像存放到服务器的一个目录里,比如/data/iso

                [root@localhost ~]# mkdir -p data/{iso,kvmstorage}
                [root@localhost ~]# cd data/iso/
                [root@localhost iso]# ll
                总用量 4217748
                -rw-r--r-- 1 root root 950009856 1122 15:24 CentOS-7-x86_64-Minimal-1804.iso
                -rw-r--r-- 1 root root 3368962048 323 2012 cn_windows_server_2008_r2.iso


                8、进入图形化 

                  [root@localhost ~]# virt-manager


                  新建虚拟机


                  kvm常用命令 

                  KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理

                    命令帮助
                    [root@localhost ~]# virsh --help
                    查看虚拟机状态
                    [root@localhost ~]# virsh list --all
                    Id 名称 状态
                    ----------------------------------------------------
                    4 win2k8r2 running


                    关机
                    [root@localhost ~]# virsh shutdown win2k8r2


                    强制关闭电源
                    [root@localhost ~]# virsh destroy win2k8r2


                    通过配置文件创建虚拟机
                    [root@localhost ~]# virsh create etc/libvirt/qemu/win2k8r2.xml


                    设置虚拟机开机自启
                    [root@localhost ~]# virsh autostart win2k8r2
                    [root@localhost ~]# ll etc/libvirt/qemu/autostart/
                    总用量 0
                    lrwxrwxrwx 1 root root 30 124 13:06 win2k8r2.xml -> /etc/libvirt/qemu/win2k8r2.xml


                    到处虚拟机配置文件
                    [root@localhost ~]# virsh dumpxml win2k8r2 > etc/libvirt/qemu/win2k8r2_bak.xml


                    删除虚拟机(该命令只删除配置文件,并不删除磁盘文件)
                    [root@localhost ~]# virsh undefine win2k8r2


                    通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。
                    [root@localhost ~]# mv /etc/libvirt/qemu/win2k8r2_bak.xml /etc/libvirt/qemu/win2k8r2.xml
                    [root@localhost ~]# virsh define /etc/libvirt/qemu/win2k8r2.xml


                    编辑配置文件
                    [root@localhost ~]# virsh edit win2k8r2


                    挂起
                    [root@localhost ~]# virsh suspend win2k8r2


                    恢复
                    [root@localhost ~]# virsh resume win2k8r2


                    生成虚拟机

                      [root@localhost ~]# virt-install --virt-type kvm --name centos --ram 1024 \
                      --disk /data/kvmstorage/centos7.qcow2,format=qcow2 \
                      --network bridge=br0 \
                      --graphics vnc,listen=0.0.0.0 --noautoconsole \
                      --os-type=linux --os-variant=rhel7 \
                      --location=/data/iso/CentOS-7-x86_64-Minimal-1804.iso


                      [root@localhost ~]# virsh list --all
                      Id 名称 状态
                      ----------------------------------------------------
                      5 win2k8r2 running
                      7 centos running
                      文章转载自5分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                      评论