精华内容
下载资源
问答
  • kvm虚拟机
    千次阅读
    2021-04-22 13:49:55

    KVM虚拟化

    我们这边正在使用的虚拟机技术(VMware)其实只是虚拟技术的其中一种而已,事实上,现实接触到的虚拟机会有很多,所以需要熟知一些市场上主流的虚拟软件,比如,KVM就是其中一种。
    使用KVM可以在虚拟机中再创建虚拟机,类似套娃,但是作用很大,比如,之前有说过的服务器群集,最简单的材料都需要四台服务器(一主二从一调度),如果使用KVM技术,那么意味着一台服务器就可以制作一个群集。
    当然,此消耗的内存占用比也是很高的,但同时也节省了因搭建群集而需要购买服务器的成本。

    KVM准备步骤:

    1)为方便操作,可以在VMware软件中创建一台带图形化界面的虚拟机,由于是在虚拟机中创建虚拟机,比较占用内存,因此可以将内存设定提高至4-6G.

    2)作为基础操作,关闭防火墙等之后,建议快照,并关机将处理器改为支持VM模式:
    在这里插入图片描述

    这边可以先输入

    cat /proc/cpuinfo | grep vmx  (Inter CPU)	
    cat /proc/cpuinfo | grep smv   (AMD CPU)
    #inter和AMD检验方式不一样
    

    为的是查看cpu是否支持KVM模式,当输入之后有VMX之后,证明可以进行接下来的操作。

    3)yum 安装kvm
    yum install -y qemu-kvm
    yum install -y qemu-kvm-tools
    yum install -y virt-install
    yum install -y qemu-img
    yum install -y bridge-utils
    yum install -y libvirt
    yum install -y virt-manager

    检查是否安装成功KVM模块:
    lsmod |grep kvm
    4)使用桥接模式进行连接,将网卡更改成桥接模式(自动)

    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    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=ens33
    UUID=90b62257-1ddc-42f2-9f06-fce57701198f
    DEVICE=ens33
    ONBOOT=yes
    #IPADDR=192.168.53.254				将网卡适配器的四行给注释掉
    #NETMASK=255.255.255.0
    #GATEWAY=192.168.53.2
    #DNS1=8.8.8.8
    BRIDGE=br0							末尾添加声明此为br桥接模式
    
    vim /etc/sysconfig/network-scripts/ifcfg-br0
    
    TYPE=Bridge
    OTPROTO=static
    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
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=br0
    DEVICE=br0
    ONBOOT=yes
    IPADDR=192.168.53.254
    NETMASK=255.255.255.0
    GATEWAY=192.168.53.2
    DNS1=192.168.53.2
    重启网络服务,并且重启网卡
    systemctl restart NetworkManager
    systemctl restart network
    

    5)此刻,就可以使用virt-manager来打开KVM图形化操作界面了。
    可以通过文件这一选项点开创建虚拟机等
    在这里插入图片描述

    6)创建一个镜像池,以供之后虚拟机可以通过该镜像池进行虚拟机创建。
    创建一个目录,将该镜像文件放进该目录中。
    mkdir -p /jingxiang/centos7 要注意的是,镜像文件后辍名必须得是.iso
    而后开始进行创建:
    在这里插入图片描述
    在这里插入图片描述

    可见镜像文件已经被自动识别版本,后续跟着指引即可进行创建
    注:这个虚拟机目前内存只有4G,所以如果使用这个技术,创建的虚拟机的内存,不能超过它的一半。

    而后既可以像在电脑中创建虚拟机一样在虚拟机中创建虚拟机。

    KVM虚拟化命令

    1)通过命令安装KVM虚拟机

     virt-install --name xiaoyang --ram 500 --disk path=/storage/xiaolang.img,size=8  --cdrom /jingxiang/centos7/CentOS-7-x86_64-DVD-1804.iso   --graphics vnc
    
    name = 虚拟机名字
    ram = 内存大小(M)
    path=虚拟机安放位置,需要和name的名字对应,以.img为结尾
    size=虚拟机大小(G)
    cdrom= 镜像安放位置
    

    输入此命令后,会显示报错:ERROR unsupported format character ‘�’ (0xffffffe7) at index 47域安装失败
    但是在virt-manager虚拟化管理界面中可以看到,xiaolang虚拟机已经出现:
    在这里插入图片描述

    此刻就可以打开此虚拟机进行安装

    虽然图形化界面也能安装虚拟机,但是命令输入安装能让虚拟机最小化安装

    2)基本操作和克隆

    whatis qemu-img		#查看是否拥有img文件
    
    qemu-img info /storge/xiaolang.img 		#查看xiaolang虚拟机的内存等信息
    
    virsh list --all     #查看虚拟机状态
    
    virsh shutdown 虚拟机名字		#虚拟机关机
    
    virt-clone -o 要复制的虚拟机 -n 新虚拟机名字 -f 存放虚拟机的位置
    virt-clone -o xiaolang -n xiaolang1 -f /storge/xiaolang1.img  
    
    -o ORIGINAL_GUEST, --original ORIGINAL_GUEST
                            原始客户机名称;必须为关闭或者暂停状态。
    -f NEW_DISKFILE, --file NEW_DISKFILE
                            为新客户机使用新的磁盘镜像文件
    -n NEW_NAME, --name NEW_NAME
                            新客户机的名称
    
    # virsh start 虚拟机名	#开启虚拟机
    

    快照

    virsh snapshot-create centos7.0(指明虚拟机)   #创建快照
    virsh snapshot-list centos7.0   #查看快照
     名称               生成时间              状态
    ------------------------------------------------------------
     1571970591           2019-10-25 10:29:51 +0800 shutoff
    
    virsh snapshot-revert centos7.0 1571970591   #恢复快照
    
    virsh snapshot-delete centos7.0 1571970591  #已删除域快照 1571970591
    
    更多相关内容
  • kvm性能优化方案
  • 本文介绍了Ubuntu 18.04 LTS安装KVM虚拟机的方法步骤,分享给大家,具体如下: 前一阵使用在最新的Ubuntu 18.04上安装了KVM来虚拟一个小的VM集群,将主要过程和其中遇到的一些问题记录下来。 准备工作 首先需要检查...
  • KVM(Kernel-based Virtual Machine)它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购; 自Linux 2.6.20后整合到内核,该内核模块使得 Linux 变成了一个 Hypervisor层; 它依托于CPU虚拟化指令集,性能、安全性...
  • 完全备份和还原您的KVM虚拟机 1.0版Stable virt-backup功能: 能够备份所有虚拟机磁盘或仅系统磁盘 直接将压缩文件压缩为ZIP文件,从而减小备份大小 使用原始虚拟机的校验和(在备份时采取)来验证还原过程 能够...
  • 一、KVM虚拟机的迁移方式及需要注意的问题 KVM虚拟机的迁移有两种方法: 1、静态迁移(冷迁移):对于冷迁移,就是在虚拟机关闭状态下,将虚拟机的磁盘文件及.xml配置文件(这两个文件组成了一个虚拟机)复制到要...
  • Docker容器与KVM虚拟机的性能对比与研究,刘彬,崔岩松,虚拟化,作为服务器整合的一种主流方式,也是目前云计算中的核心技术。虚拟化的目的是把多台服务器由物理资源抽象成逻辑资源,构
  • (7)附加 USB 设备给虚拟机CentOS 下设置 USB 到虚拟机虚拟机中 USB 设备的使用(二)virt-manager 管理远程 KVM 客户机(三)性能监视可调整,主机的 CPU, 内存、CPU,四、使用 virsh 管理虚拟机virt-manager 简单...
  • 不知道大家有没有感觉每次搭一台虚拟机很麻烦,尤其是你可能需要重复搭建...如果有同样的感觉,那么通过下面这篇文章就给大家分享了kvm虚拟机的创建与克隆的操作方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
  • 部署kvm虚拟机(shell脚本)
  • 尽管商业的虚拟软件功能比较强大,但是开源虚拟机如 Linux 内核虚拟机 KVM 和 XEN 发展迅速,迁移技术日趋完善。  一、安装guest虚拟机 1、直接通过virt-manager安装、管理虚拟机(略) 2、通过命令行安装guest...
  • 用命令行管理KVM虚拟机 一、virsh/qemu-img命令 二、KVM 虚拟机安装 三、qemu-img命令详解 四、virsh命令补充 五、qemu-kvm命令行参数
  • 主要介绍了详解CentOS7.2部署KVM虚拟机(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 摘要时 下云 计算 技术成 为 了 信 息 技术领域最 炙手可 热 的话题作 为一种 基于互联 网 的 、大众参 与 的服务方式 提供 的新型 计算模式云 计
  • KVM虚拟机迁移原理分析.pdf
  • 本篇文章主要详细介绍kvm虚拟机静态和动态迁移,具有一定的参考价值,有需要的可以了解一下。
  • KVM——迁移KVM虚拟机

    千次阅读 2020-07-19 20:42:10
    一、KVM虚拟机迁移的方式 KVM平台中的KVM虚拟机迁移分为以下两种: (1)冷迁移(静态迁移) 我们存放虚拟机磁盘的目录都是挂在的一个nfs文件系统的磁盘,进行冷迁移时,只要在目标主机上挂载这个nfs文件系统,就...

    一、KVM虚拟机迁移的方式
    KVM平台中的KVM虚拟机迁移分为以下两种:

    (1)冷迁移(静态迁移)
    我们存放虚拟机磁盘的目录都是挂在的一个nfs文件系统的磁盘,进行冷迁移时,只要在目标主机上挂载这个nfs文件系统,就可以看到要迁移的那个虚拟机的磁盘文件,通常以.qcow2或.raw结尾的,然后,只需将虚拟机的.xml配置文件发送到目标服务器上,然后重新定义一下迁移过来的虚拟机即可!

    (2)热迁移(动态迁移)
    如果源宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的 vCPU 执行状态、内存中的内容、虚机设备的状态到目的主机上。否则,还需要将客户机的磁盘存储发到目的主机上。共享存储系统指的是源和目的虚机的镜像文件目录是在一个共享的存储上的。

    基于共享存储系统,动态迁移的具体过程:
    (1)迁移开始时,客户端依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上;
    (2)QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内存页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容;
    (3)QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态;
    (4)至此,KVM的动态迁移操作完成!迁移后的客户机尽可能与迁移前一致,除非目的主机上缺少一些配置,比如网桥等。注意,当客户机中内存使用率非常大而且修改频繁时,内存中数据不断被修改的速度大于KVM能够传输的内存速度时,动态迁移的过程是完成不了的,这时候只能静态迁移。

    (3)注意事项
    (1)迁移的服务器CPU品牌最好一致;
    (2)64位只能在64位宿主机间迁移,32位可以迁移32位和64位宿主机;
    (3)宿主机中的虚拟机名字不能冲突;
    (4)目的宿主机和源宿主机软件配置尽可能相同;

    (4)总结
    静态迁移:
    (1)复制镜像文件和虚拟机配置文件;
    (2)重新定义虚拟机即可!

    动态迁移:
    (1)创建共享存储;
    (2)两台KVM宿主机挂载共享存储;
    (3)启动动态迁移;
    (4)创建迁移后的虚拟配置文件;
    (5)重新定义虚拟机;

    二、实现KVM虚拟机静态迁移
    (1)环境要求
    一台KVM服务求A:IP地址:192.168.10.50,其中一台为web01的KVM虚拟机;
    一台KVM服务器B:IP地址:192.168.10.51
    (2)实现步骤
    KVM服务器A的操作:

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# setenforce 0
    //实验环境,简单起见关闭防火墙与SElinux
    [root@localhost ~]# lsmod | grep kvm          //确认虚拟机支持kvm环境
    kvm_intel             174841  0 
    kvm                   578518  1 kvm_intel
    irqbypass              13503  1 kvm
    [root@localhost ~]# virsh list --all     //确认虚拟机存在,而且是关机的状态
     Id    名称                         状态
    ----------------------------------------------------
     -     web01                          关闭
    

    KVM服务器B的操作:

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# setenforce 0
    //实验环境,简单起见关闭防火墙与SElinux
    [root@localhost ~]# lsmod | grep kvm          //确认虚拟机支持kvm环境
    kvm_intel             174841  0 
    kvm                   578518  1 kvm_intel
    irqbypass              13503  1 kvm
    [root@localhost ~]# virsh list --all           //确认没有kvm虚拟机
     Id    名称                         状态
    ----------------------------------------------------
    [root@localhost ~]# scp 192.168.1.7:/etc/libvirt/qemu/web01.xml /etc/libvirt/qemu/web01.xml
    //复制KVM宿主机A的虚拟机配置文件
    [root@localhost ~]# scp 192.168.1.7:/kvm/disk/web01.raw /kvm/disk/web01.raw
    //复制KVM宿主机的虚拟机磁盘文件
    [root@localhost ~]#  cd /etc/libvirt/qemu/
    [root@localhost qemu]# virsh define web01.xml
    定义域 web01(从 web01.xml)
    //根据配置文件生成虚拟机
    [root@localhost qemu]# virsh start web01     //开启虚拟机进行测试
    域 web01 已开始
    
    [root@localhost qemu]# virsh list --all
     Id    名称                         状态
    ----------------------------------------------------
     1     web01                          running
    //可以正常开机表示没有问题,自行进行测试即可!
    

    静态迁移迁移完成!

    二、kvm虚拟机热迁移配置实例
    1、环境准备:
    我这里的环境如下:

    三台Linux服务器,其中两台是KVM服务器,IP是192.168.10.50和192.168.10.51。
    一台是NFS服务器,IP是192.168.10.12,用来做共享存储(要求三台服务器可互相ping通);
    两台KVM虚拟机必须都有KVM环境。

    我这的KVM环境是现成的,这里就不展示了,
    2、配置NFS共享存储
    nfs服务器192.168.10.12配置如下:

    [root@nfs ~]# yum -y install nfs-utils rpcbind                 #安装所需软件包
    [root@localhost ~]# systemctl enable nfs                               #设置NFS开机自启
    [root@localhost ~]# systemctl enable rpcbind                       #设置rpcbind开机自启
    [root@nfs ~]# mkdir -p /nfsshare                  #创建需要共享的目录
    [root@nfs ~]# vim /etc/exports       #编辑NFS的配置文件,默认为空
    /nfsshare       *(rw,sync,no_root_squash)
    #第一列代表共享的目录
    #第二列的星号代表允许所有网络访问;
    #rw代表读写权限;sync代表同步写入磁盘;
    #no_root_squash表示当前客户机以root身份访问时赋予本地root权限
    #(默认是root_squash,将作为nfsnobody用户对待),若不加no_root_squash,
    #可能会导致被降权,而无法进行读写(wr)。
    [root@nfs ~]# systemctl restart rpcbind      #启动该服务
    [root@nfs ~]# systemctl restart nfs      #启动该服务
    [root@nfs ~]# netstat -anpt | grep rpc      #确认服务已启动
    [root@nfs ~]# showmount -e         #查看本机共享的目录
    Export list for nfs:
    /nfsshare *
    [root@nfs ~]# firewall-cmd --add-service=rpc-bind --permanent 
    [root@nfs ~]# firewall-cmd --add-service=nfs --permanent 
    [root@nfs ~]# firewall-cmd --add-service=mountd --permanent 
    [root@nfs ~]# systemctl restart firewalld     #重启防火墙,使配置生效
    

    NFS服务器至此配置完成!!!
    两台KVM服务器配置如下(两台kvm主机都需要进行下面的配置):
    1.安装rpcbind软件包,并启动rpcbind服务,为了使用showmount查询工具,所以将nfs-utils也一起装上:

    [root@localhost ~]# yum -y install nfs-utils rpcbind 
    [root@localhost ~]# systemctl enable rpcbind
    [root@localhost ~]# systemctl start rpcbind
    [root@kvm ~]# showmount -e 192.168.10.12   #查询nfs服务器共享的目录
    Export list for 192.168.10.12:
    /nfsshare *
    [root@kvm ~]# mkdir -p /kvm/disk/
    [root@kvm ~]# mount -t nfs 192.168.10.12:/nfsshare /kvm/disk/   #进行挂载
    [root@kvm ~]# df -hT /kvm/disk/
    文件系统               类型  容量  已用  可用 已用% 挂载点
    192.168.10.12:/nfsshare nfs4   50G   33M   50G    1% /kvm/disk
    #在其中一台服务器上写入一个测试文件,看看在其他服务器上是否可以看到
    [root@kvm1 ~]# touch /kvm/disk/test        #在其中一个kvm服务器上创建测试文件
    [root@kvm2 ~]# ls /kvm/disk         #保证在第二台kvm服务器的目录下也可以看到
    test
    

    至此,就保证了两台kvm服务器使用的目录都是同一块磁盘存储的(注意:两台kvm虚拟机的挂载nfs文件系统的目录路径必须一致,我这里两台kvm虚拟机都是挂载到了/kvm/disk/目录下,否则会在后面的操作中发生错误)。

    3.测试完要取消挂载,不让下面操作进行不了

    [root@kvm2 ~]# umount -t nfs 192.168.10.12:/nfsshare /kvm/disk/
    

    4、在两个kvm服务器上分别创建存储卷:

    [root@kvm1 ~]# virt-manager         #打开虚拟机控制台
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    下面对话框中,目标路径是KVM本机的“/kvm/disk”,主机名写的是nfs服务器的IP地址,源路径是nfs服务器共享的目录。
    在这里插入图片描述

    在这里插入图片描述
    **以上操作同样需要在第二台KVM上进行操作,最好定义的存储池名字等都一致。以免发生不必要的麻烦。**

    3、在kvm1上新建一个虚拟机以便进行迁移测试
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    自行上传一个centos的iso系统文件,这里需要指定要安装的iso文件:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    至此,正常的自行安装虚拟机即可。
    在这里插入图片描述
    **安装完成后进行接下来的操作**
    4、将新建的虚拟机网络配置为Bridge模式,可以ping通外网
    以下操作主要是为了模拟虚拟机为公网用户提供服务中进行热迁移。
    1)kvm1操作如下:

    [root@kvm ~]#  systemctl stop NetworkManager    #停止此服务
    [root@kvm ~]# virsh iface-bridge ens33 br0    #执行此命令时,若提示以下信息,不用在意,因为其已经存在了
    使用附加设备 br0 生成桥接 ens33 失败
    已启动桥接接口 br0
    [root@kvm ~]# ls /etc/sysconfig/network-scripts/ | grep br0   
    ifcfg-br0        #确定有此文件就行
    [root@kvm ~]# virsh destroy centos7.0     #关闭新建的虚拟机
    域 centos7.0 被删除
    [root@kvm ~]# virsh edit centos7.0      #编辑虚拟机的配置文件,定位到interface
    <interface type='bridge'>      #将此处改为bridge
     <mac address='52:54:00:a9:cc:5f'/>      #删除Mac地址这行
          <source bridge='br0'/>          #将此处更改为这样
    #保存退出即可
    [root@kvm1 ~]# virsh start centos7.0 
    域 centos7.0 已开始
    

    开启虚拟机后,配置虚拟机的网卡配置文件,默认网卡文件为ifcfg-eth0:
    在这里插入图片描述
    重启网络服务,并且确认IP地址:
    在这里插入图片描述
    2)kvm2操作如下:

    [root@kvm ~]#  systemctl stop NetworkManager    #停止此服务
    [root@kvm ~]# virsh iface-bridge ens33 br0    #执行此命令时,若提示以下信息,不用在意,因为其已经存在了
    使用附加设备 br0 生成桥接 ens33 失败
    已启动桥接接口 br0
    [root@kvm ~]# ls /etc/sysconfig/network-scripts/ | grep br0   
    ifcfg-br0        #确定有此文件就行
    #由于kvm2没有虚拟机,所以只需将网络更改为桥接模式即可,。
    #以上配置是为了防止虚拟机迁移到这台服务器后,无法和公网进行联系。
    

    5、开始准备对新建的centos 7进行热迁移
    1)kvm1服务器上进行以下操作:

    [root@kvm1 ~]# virt-manager         #打开虚拟机控制台
    

    在这里插入图片描述
    在这里插入图片描述

    填写如下,填写完成后,单击“连接”:

    在这里插入图片描述

    因为没有安装使用SSH协议连接所需的询问密码的软件包!
    接下来的操作需要在两台KVM都进行操作:

    [root@kvm1 ~]# yum -y install openssh-askpass
    //安装询问密码的依赖包,注意两台KVM服务器都需安装
    

    安装完成之后,在KVM服务器A上再次进行连接:

    在这里插入图片描述
    根据弹出的对话框提示,输入“yes”:
    在这里插入图片描述

    输入目标主机的root密码:

    在这里插入图片描述
    在这里插入图片描述

    打开KVM虚拟机,使其一直访问百度,如图:
    在这里插入图片描述

    6、开始进行热迁移
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    迁移完成后,发现虚拟机跑到了192.168.10.51服务器上
    在这里插入图片描述

    查看KVM虚拟机的访问是否存在终端现象,上面一直在ping baidu.com,发现访问并没有中断,至此,动态迁移成功

    在这里插入图片描述
    当然也可以吧kvm2上的centos7.0在迁移回去,按照上面操作就行

    展开全文
  • 通过centos7物理服务器安装kvm及通过kvm创建centos7虚拟机且进行相关配置。 用于搭建虚拟机集群,构建云原生k8s集群或大数据hadoop、spark集群等
  • 创建KVM虚拟机

    2022-08-17 16:00:14
    在Centos虚拟机中安装一个可用的Centos虚拟机

    一、目标

    实现在Centos虚拟机中安装一个可用的Centos虚拟机。

    二、规格

    宿主机
    操作系统内存CPU硬盘网卡
    Centos74 GB2 P100 GB2 张
    虚拟机
    操作系统内存CPU硬盘网卡
    Centos71024 MB1 P10 GB1 张

    三、实操

    1.下载centos的镜像到本地

     2.用VMware Workstation创建宿主机

    选择自定义

     挂载刚刚下载到本地的镜像

     注意:这里设置的密码同时也是root用户的密码

    选择一个虚拟机保存的目录,默认是C盘,建议修改一下

     因为这个虚拟机是作为宿主机的,所以安装之前的规划将CPU个数设置为2个

     内存设置为4GB

     网络类型(NAT)、I/O控制器类型(LSI Logic)、磁盘类型(SCSI)、选择磁盘(创建新虚拟磁盘)保持默认即可。

    磁盘大小改为100GB

    选择自定义硬件

    因为要实现在虚拟机中创建虚拟机,所以作为宿主机的CPU需要支持虚拟化,点击“处理器”,勾选虚拟化引擎的复选框,点击“确定”

     点击“添加”>“网络适配器”>“完成”添加一个网卡

     关闭自定义硬件窗口,点击“完成”开始创建虚拟机。

     3.配置宿主机环境

    查看网卡个数以及网络能否ping通

    确认没有问题之后,输入su切换到到root用户。

    修改hostname

    hostnamectl set-hostname kvmtest

    关闭并禁用防火墙和Selinux

    # 关闭防火墙
    systemctl stop firewalld
    
    # 禁用防火墙
    systemctl disable firewalld
    
    # 关闭Selinux
    # 编辑Selinux的配置文件
    vi /etc/selinux/config
    SELINUX=disable
    
    # 将Selinux切换到permissive模式
    setenforce 0

    配置hosts映射

    vi /etc/hosts

     安装KVM依赖

    yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass –y

    启动libvirt服务

    systemctl start libvirtd.service

    使用另一块网卡ens34创建一个名为br0的桥接网络

    virsh iface-bridge ens34 br0

    4.上传虚拟机的镜像文件到宿主机

    因为我们要创建的虚拟机也是Centos7的操作系统,所以将之前下载在本地的Centos的镜像文件上传到宿主机的/opt目录下。上传文件可以用xftp ,MobaXtrem或者scp命令,我用的是MobaXterm,和宿主机建立连接后打开opt目录,然后点击这个上传箭头,选择本地镜像文件上传即可。

    5.使用KVM安装Centos虚拟机

    命令
    virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos703 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-Everything-2003.iso- --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
    
    #参数
    virt-install \
    --virt-type kvm \#hypervisor的类型,我们使用的是kvm
    --os-type=linux \#操作系统类型
    --os-variant rhel7 \#某种类型操作系统的变体
    --name centos703 \#给虚拟机起个名字,要全局唯一
    --memory 1024 \#虚拟机内存,单位MB
    --vcpus 1 \#虚拟机的vcpu个数
    --disk /opt/centos2.raw,format=raw,size=10 \#硬盘挂载的目录,格式和大小,单位为GB
    --cdrom /opt/CentOS-7-x86_64-Everything-2003.iso \#要使用的镜像所在的目录,注意修改为自己的镜像文件名
    --network network=default \#网络类型,默认为NAT
    --graphics vnc,listen=0.0.0.0 \#虚拟机的连接方式,我们使用vnc
    --noautoconsole #不连接虚拟机图形界面控制台
    

     6.下载tightvnc连接虚拟机

    官网:Download TightVNC

    安装好之后使用tvnviewer连接

     

     7.在VNC图形化界面安装虚拟机

     设置root用户密码,如果密码强度不够需要双击Done才可以退出

     安装完成之后,点击重启,VNC的连接会断开,虚拟机也会从重启变为关机,所以需要在宿主机将虚拟机开机,再用VNC重新连接,常用以下几个命令

    # 罗列所有的虚拟机及其状态
    virsh list --all
    
    # 启动虚拟机
    virsh start <虚拟机名称>
    
    # 关闭虚拟机
    virsh stop <虚拟机名称>
    
    # 删除虚拟机
    virsh undefine <虚拟机名称>

    8.虚拟机网络配置

    编辑网卡配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0

    把ONBOOT改为yes

     重启网络:

    service network restart

    现在就可以访问外网了,我们的目标也就实现了。

     

    展开全文
  • KVM虚拟机搭建

    千次阅读 2021-08-13 15:04:25
    KVM的安装配置与基本操作 目录第一部分 实验环境第二部分 安装图形界面第三部分 配置KVM虚拟化第四部分 创建桥接网卡第五部分 KVM虚拟环境中安装系统第六部分 克隆第七部分 其它命令 第一部分 实验环境Linux服务器...

    KVM的安装配置与基本操作

    目录
    第一部分 实验环境
    第二部分 安装图形界面
    第三部分 配置KVM虚拟化
    第四部分 创建桥接网卡
    第五部分 KVM虚拟环境中安装系统
    第六部分 克隆
    第七部分 其它命令

    第一部分 实验环境
    Linux服务器一台
    IP地址:192.168.80.40kvm01

    第二部分 安装图形界面
    [root@kvm01 ~]# yum groupinstall "GNOME 桌面" –y //安装图形界面
    注意,如果在控制台上操作(或者没有中文环境),yum groupinstall “GNOME Desktop” -y
    [root@kvm01 ~]# yum grouplist

     
    [root@kvm01 ~]# init 5 //切换到图形化界面

    以下在控制台操作
    依次输入1-2-q-yes-登录-设置
     









    //图形化界面安装完成

    第三部分 配置KVM虚拟化

    1. 安装插件及工具
      [root@kvm01 ~]# yum install -y \

    qemu-kvm.x86_64 \
    qemu-kvm-tools.x86_64 \
    python-virtinst.noarch \
    qemu-img.x86_64 \
    bridge-utils.x86_64 \
    libvirt \
    virt-manager

    1. 验证当前主机是否满足KVM的运行条件
      //将虚拟机关机后,处理器开启虚拟化功能:


      //intel CPU过滤vmx ;AMD CPU过滤smv
      [root@kvm01 ~]# cat /proc/cpuinfo | egrep -o "vmx|smv"

       
      [root@localhost ~]# modprobe kvm //加载KVM模块
      [root@kvm01 ~]# lsmod | grep kvm

    第四部分 创建桥接网卡
    [root@kvm01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
    //
    在末尾新增一行,同时要把网卡的IP相关参数去掉
     
    保存退出
    [root@kvm01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    BOOTPROTO=static
    #NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Bridge
    IPADDR=192.168.80.40
    NETMASK=255.255.255.0

     
    保存退出
    [root@kvm01 ~]# service network restart
    [root@kvm01 ~]# ifconfig

    第五部分 KVM虚拟环境中安装系统
    注意:硬盘中要留两个目录给数据存储池与镜像存储池,大小自己设置!
    数据存储池用来存放安装的系统文件;
    镜像存储池用来存放iso镜像。

    1. 安装管理工具virt-manager
      [root@kvm01 ~]# yum install –y virt-manager //安装virt-manager管理工具
      [root@kvm01 ~]# virt-manager //启动virt-manager管理工具
    2. 创建数据存储池
      双击QEMU/KVM,打开存储



       
       
    3. 创建镜像存储池
       
       
       
      完成
    4. 将iso镜像拉到镜像存储池里
      [root@kvm01 ~]# ls

       
      [root@kvm01 ~]# cp rhel-server-6.5-i386-dvd.iso /opt/images/ISO/

       
      刷新一下管理器

       
      完成
    5. 安装系统
      右击QEMU/KVM,新建

       











       
       
      下面可以安装系统省略
      [root@kvm02 ~]# virt-manager //安装完成后关闭,打开虚拟管理器查看
      安装完成后显示以下内容

    第六部分 克隆

    1. 配置rhel6.5:
      [root@test01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

       
      保存退出
      [root@test01 ~]# service network restart //重启网络服务
      [root@test01 ~]# ping 192.168.80.2 //查看能否与真机通信

       
      通信正常
    2. 回到virt-managert管理器,选中虚拟机,右击—克隆
      //注意:当rhel6.5正在运行的时候不能克隆,必须系统关闭的时候才能克隆,如图所示:

       
      //克隆按钮是灰色的,不能点击


       
       
       
      克隆完成
    3. 修改克隆系统的配置
      右击—运行,开启rhel6.5-02系统,上面打开界面


      由于该系统是克隆另一个系统,所有的信息都是一样的,需修改以下配置:
      主机名、IP地址、MAC地址,UUID删除掉
      [root@test01 ~]# vi /etc/sysconfig/network //永久更改主机名,重启后生效

       
      保存退出
      [root@test01 ~]# ifconfig –a //查看网络信息

       
      [root@test01 ~]# ifconfig –a | grep HW | awk ‘{print$5}’ >> /etc/sysconfig/network-scripts/ifcfg-eth0 //将MAC地址放进网络配置文件里面
      [root@test01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
      将UUID删除,修改名称、MAC地址、IP地址

       
      保存退出
      [root@test01 ~]# cd /etc/sysconfig/network-scripts/
      [root@test01 network-scripts]# mv ifcfg-eth0 ifcfg-eth1

       
      [root@test01 network-scripts]# service network restart //重启网络服务
      [root@test01 network-scripts]# ping 192.168.80.2 //查看通信情况

       
      通信成功

    第七部分 其它命令


    ------以下是命令字符界面操作命令,一般情况下直接图形界面操作,用不着------
    首先安装管理工具
    [root@kvm02 ~]# yum install acpid –y
    [root@kvm02 ~]# yum install acpid
    [root@kvm02 ~]# virsh list –all 

    https://s4.51cto.com/images/blog/201804/11/89f518ec7bf2f0439003a11a7c547deb.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


    ---------以下是一系列操作命令-----------
    virsh shutdown winxp //
    关闭虚拟机
    virsh start winxp //启动虚拟机
    virsh destroy winxp //停止虚拟机(关闭后状态仍然是运行,停止才会删除,关闭状态)
    virsh suspend winxp //挂起、暂停
    virsh resume winxp //恢复
    virsh autostart winxp //开机自运行
    virsh dumpxml 虚拟机名称 > 路径
    ------删除KVM虚拟机--------
    virsh destroy winxp //
    先关闭再删除,或者先删除再关闭,一样能删除
    virsh undefine winxp 
    virsh list --all //
    查看虚拟机状态 
    ------
    克隆------centos7.4版本已经没有以下命令了)
    virsh list --all
    virt-clone -o
    源虚拟机名称 -n 克隆后的虚拟机名称 -f 克隆后的虚拟机磁盘镜像路径
    virsh start 克隆后的虚拟机名称 

    展开全文
  • kvm虚拟机搭建

    千次阅读 2022-04-25 14:22:22
    kvm虚拟机搭建 准备: 一台rhel八虚拟机(内存给4g最好,磁盘给40G) 1.基础配置 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 关闭selinux vim /etc/selinux/config setenforce 0 查看是否支持...
  • KVM虚拟机(Centos7)

    千次阅读 2020-12-29 16:05:17
    KVM虚拟机一、KVM概述二、虚拟机开启条件三、准备工作完成后的步骤四、KVM虚拟机管理 一、KVM概述 简介: KVM是Kernel Virtual Machine的简写,目前Redhat只支持在64位的Rhel5.4以上的系统运行,同时硬件需要支持VT...
  • KVM 虚拟机安装 PAGE 4 [文档标题 KVM 虚拟机安装 本次实验需要掌握KVM虚拟机的安装方法 首先需要打开 KVM 虚拟机管理器并创建一个新的虚拟机用来安装 操作系统 选择虚拟系统管理器 选择本地安装介质使用本地的 ISO ...
  • Linux操作系统下KVM虚拟机GPU透传详细操作说明文档,包含GPU透传,KVM虚拟机中cuda安装及GPU带宽测试,包含截图文件。word文档
  • 最近在学习KVM,进程不算太快,近期整理了一下KVM虚拟机技术学习笔记,现在就分享给大家,也给大家做个参考。有需要的朋友可以来了解一下。 KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。 1. 查看KVM...
  • 主讲朱晓彦KVM 虚拟机安装01KVM 虚拟机安装本次实验需要掌握KVM虚拟机的安装方法首先需要打开 KVM 虚拟机管理器并创建一个新的虚拟机用来安装操作系统选择虚拟系统管理器KVM 虚拟机安装选择本地安装介质使用本地的 ...
  • CentOS7安装KVM虚拟机

    千次阅读 2022-01-12 10:38:38
    KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。 cat /proc...
  • KVM虚拟机扩容

    2021-06-18 11:51:08
    此篇记录KVM虚拟机内存不足,用于扩容 查看运行的虚拟机: virsh list --all Id 名称 状态 ---------------------------------------------------- 1 kx_gitlab running 3 test running 4 kx_mysql_new

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,937
精华内容 16,774
关键字:

kvm虚拟机