zoukankan      html  css  js  c++  java
  • KVM安装

    检查CPU是否支持硬件虚拟化

    在开始安装KVM之前,需要检查系统中的CPU是否支持硬件虚拟化的特性,执行下面的命令:

    grep -E '(vmx|svm)' /proc/cpuinfo

    观察输出结果中是否包含vmx或svm,如果没有输出信息或者不包含vmx或svm,则说明不支持硬件虚拟化。

    安装KVM和其关联的包

    运行下面的命令来安装KVM和其相关联的包(以管理员权限安装):

    sudo yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils

    安装完成后,输出内容:

    已安装:
      libvirt.x86_64 0:3.2.0-14.el7_4.3                    libvirt-client.x86_64 0:3.2.0-14.el7_4.3             
      libvirt-python.x86_64 0:3.2.0-3.el7_4.1              virt-install.noarch 0:1.4.1-7.el7                    
      virt-manager.noarch 0:1.4.1-7.el7                    virt-viewer.x86_64 0:5.0-7.el7                       
    
    作为依赖被安装:
      gnutls-dane.x86_64 0:3.3.26-9.el7                                                                         
      gnutls-utils.x86_64 0:3.3.26-9.el7                                                                        
      ldns.x86_64 0:1.6.16-10.el7                                                                               
      libvirt-daemon-config-nwfilter.x86_64 0:3.2.0-14.el7_4.3                                                  
      libvirt-daemon-driver-lxc.x86_64 0:3.2.0-14.el7_4.3                                                       
      python-ipaddr.noarch 0:2.1.11-1.el7                                                                       
      unbound-libs.x86_64 0:1.4.20-34.el7                                                                       
      virt-manager-common.noarch 0:1.4.1-7.el7 

    启动和启用 libvirtd 服务

    执行:

    systemctl start libvirtd

    结果:

    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
    Authentication is required to manage system services or units.
    Authenticating as: root
    Password: 
    ==== AUTHENTICATION COMPLETE ===

    执行:

    systemctl enable libvirtd

    结果:

    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ===
    Authentication is required to manage system service or unit files.
    Authenticating as: root
    Password: 
    ==== AUTHENTICATION COMPLETE ===
    ==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===
    Authentication is required to reload the systemd state.
    Authenticating as: root
    Password: 
    ==== AUTHENTICATION COMPLETE ===

    检查KVM模块是否正确加载

    lsmod | grep kvm

     其结果应该包含如下两条内容:

    kvm_intel             170086  0 
    kvm                   566340  1 kvm_intel

    如果不包含 kvm_intel,则说明BIOS中的CPU设置 Intel Virtual Technology 没有启用,需要启用。

    启动Virt Manager

    执行以下命令,启动vir manager,virt manager是一个图形化界面:

    virt-manager

    打开的图形窗口如下所示:

    配置桥接方式(Bridge Interface)

    如果需要在虚拟网络连接之外的地方访问虚拟机,就需要配置该种方式的网络链接。

    首先拷贝一份配置文件,注意这个文件“ifcfg-enp3s0”,可能有些版本这个文件的名称是不同的,根据文件名称的形式应该能够识别出来。

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-enp3s0 ifcfg-br0

    原文件内容为:

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"
    DEFROUTE="yes"
    IPADDR=192.168.0.251
    GATEWAY=192.168.0.1
    NETMASK=255.255.255.0
    DNS1=192.168.0.1
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="enp3s0"
    UUID="99244a4d-8cac-4023-9a09-8e50c547cd3a"
    DEVICE="enp3s0"
    ONBOOT="yes"

    修改后的文件内容:

    sudo vi ifcfg-enp3s0
    
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="enp3s0"
    UUID="99244a4d-8cac-4023-9a09-8e50c547cd3a"
    DEVICE="enp3s0"
    ONBOOT="yes"
    BRIDGE="br0"

    修改桥接文件内容:

    sudo vi ifcfg-br0
    
    TYPE="Bridge"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"
    DEFROUTE="yes"
    IPADDR=192.168.0.201
    GATEWAY=192.168.0.1
    NETMASK=255.255.255.0
    DNS1=192.168.0.1
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    UUID="99244a4d-8cac-4023-9a09-8e50c547cd3a"
    DEVICE="br0"
    ONBOOT="yes"

    使用桥接方式设置网络链接,配置的操作系统就相当于处于宿主机所在局域网中的一台独立的主机,因此,配置时网管、DNS等要与宿主机一致。而IP地址则随便配置一个尚未分配的即可。

    重启网络服务,启用这些配置:

     systemctl restart network

    重启之后查看网络连接信息:

    @iflysse packages]$ ifconfig
    br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.0.251  netmask 255.255.255.0  broadcast 192.168.0.255
            inet6 fe80::8b3:3ff:fe3f:4da8  prefixlen 64  scopeid 0x20<link>
            ether b0:6e:bf:bb:12:ad  txqueuelen 1000  (Ethernet)
            RX packets 2395927  bytes 3139412719 (2.9 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1143045  bytes 69576537 (66.3 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            ether b0:6e:bf:bb:12:ad  txqueuelen 1000  (Ethernet)
            RX packets 9658569  bytes 3628451207 (3.3 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1157607  bytes 70419297 (67.1 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 4863  bytes 483460 (472.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 4863  bytes 483460 (472.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:14:bd:2f  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    并且能够正常访问网络,说明配置成功。

    开始创建虚拟机

    使用如下命令打开图形窗口:

    virt-manager

    在文件选项中点击“新建虚拟机”:

    我这里使用ISO文件进行安装,接下来选择镜像文件的路径:

    点击下一步,选择内存和CPU资源:

    然后选择硬盘,此处由于默认位置太少,所以重新选择一个存储池。点击窗口左侧列表下面的绿色的加号,会出现添加新存储池的窗口:

    选择一个新的存储池的位置,我的系统中home目录空间比较大,因此我就放在我的目录下:

    完成之后点击右侧窗口上半部分的加号,创建镜像文件:

    在弹出来的添加存储卷窗口中设置文件名称和格式以及大小:

    创建完成后,选择该文件即可:

    点击选择卷即可。

    然后继续前进,设置虚拟机名称和网络链接方式,然后点击完成,即可启动虚拟机。

    KVM——以桥接的方式搭建虚拟机网络配置

  • 相关阅读:
    C#小数点位数处理方法
    C#获取硬盘空间信息
    Linux双网卡绑定实现负载均衡
    CentOS、Ubuntu配置网卡子接口
    CentOS7修改网卡名称,禁用ipv6
    centos命令自动补全增强
    使用批处理文件访问ORACLE数据库
    Mac 常用终端命令
    常用正则表达式
    pickle 模块
  • 原文地址:https://www.cnblogs.com/weilu2/p/linux_kvm_install_config.html
Copyright © 2011-2022 走看看