KVM虚拟机部署

KVM虚拟机部署

一.安装前的准备

  1. 安装虚拟机
  • vmware虚拟机安装教程见虚拟机工具中此篇 https://blog.csdn.net/weixin_45878889/article/details/110424683

  • 注意点
    以我这边的配置参考:
    CPU选择为4,内存选择8CB,硬盘选择160GB。镜像选择自己的镜像***.iso.如下图所示:
    在这里插入图片描述
    cpu硬件虚拟化打勾
    在这里插入图片描述

  • 设置虚拟机临时网关
    在直连虚拟机的情况下,用root权限编辑网卡信息

     vi /etc/sysconfig/network-scripts/ens192  #编辑网卡信息
     
     service network restart   #网卡信息编辑保存后重启网卡
    

网卡信息如下:
在这里插入图片描述
其中IPADDR为虚拟机的ip地址

  • 设置swappiness值为0:

    [root@ncsp_cc5d9eaa ~]# sysctl -w vm.swappiness=0192
    [root@ncsp_cc5d9eaa ~]# cat /proc/sys/vm/swappiness

    结果如下所示:
    在这里插入图片描述
    备注:安装centos7-1511-minimal操作系统时,配置分区建议是两个挂载点,分别是“/”和“swap”,swap分区建议设置一定大小(4GB或4GB以下内存的系统,建议swap分区2GB;大于4GB而小于16GB内存的系统,建议swap分区4GB;大于16GB而小于64GB内存的系统,建议swap分区8GB;大于64GB而小于256GB内存的系统,建议swap分区16GB),剩余的磁盘空间都分配给“/”分区,同时,为了最大限度使用物理内存,然后才是 swap空间,安装完成操作系统后建议修改swappiness值,将swappiness值设置为0(sysctl -w vm.swappiness=0,echo vm.swappiness = 0 >> /etc/sysctl.conf,该值默认值是30或者60,swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面)。

  1. CPU虚拟化
    (1)验证该服务器CPU是否支持虚拟化,如果有vmx或svm字样则说明CPU支持虚拟化。如下图所示:

    [root@ncsp_cc5d9eaa ~]# egrep ‘(vmx|svm)’ /proc/cpuinfo
    在这里插入图片描述
    (2)关闭防火墙
    将该服务器的防火墙selinux关闭,即将enforcing修改为disabled,重启生效;或者通过执行命令“setenforce 0”临时禁用,则无需重启。

    #方法一
    [root@ncsp_cc5d9eaa ~]# vi /etc/sysconfig/selinux #将enforcing修改为disabled,重启生效
    [root@ncsp_cc5d9eaa ~]# cat /etc/sysconfig/selinux #查看状态防火墙状态是否关闭
    #方法二
    [root@ncsp_cc5d9eaa ~]# setenforce 0 #执行命令“setenforce 0”临时禁用,则无需重启
    在这里插入图片描述

二.下载KVM依赖包

1.下载安装kvm及其依赖包
通过yum下载kvm及其依赖包

[root@ncsp_cc5d9eaa ~]# yum install -y qemu-kvm
[root@ncsp_cc5d9eaa ~]# yum install -y libvirt
[root@ncsp_cc5d9eaa ~]# yum install -y virt-install
[root@ncsp_cc5d9eaa ~]# yum install -y bridge-utils   #执行该命令时,如果提示已经安装,
#则可以不安装
[root@ncsp_cc5d9eaa ~]# yum install -y net-tools

2.验证下载结果
下载完kvm及其依赖包之后要验证下载是否完成

[root@ncsp_cc5d9eaa ~]# lsmod | grep kvm

在这里插入图片描述
3.开启kvm服务
下载成功后需要开启kvm服务

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

4.查看状态
通过查看kvm状态来确定是否正常启动,如图所示。表明运行情况良好。

[root@ncsp_cc5d9eaa ~]# systemctl status libvirtd

在这里插入图片描述

三.kvm下虚拟机的创建

1.创建br0交换机
创建一个br0交换机,步骤如下:
(1)在目录下添加br0接口配置文件和修改ens192

[root@ncsp_cc5d9eaa ~]# cp  ifcfg-ens192  ifcfg-br0

示例:br0的网卡配置信息如下:

TYPE=BRIDGE
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=br0
UUID=1deb5600-fdd7-450f-b5bf-8ad5695368ff   #每个人的都不同
DEVICE=br0
ONBOOT=yes
IPADDR = 虚拟机的ip地址  
PREFIX=20
GATEWAY=网关地址
DNS1=192.168.1.1
NETMASK=255.255.240.0  #看个人情况定
NM_CONTROLLED=no

将原管理接口(比如:ens192)删除IPADDR地址,然后接入br0,ens192网卡信息修改入选:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=ens192
UUID=ae04f73d-e355-4f2e-a953-88465bce47bb
DEVICE=ens192
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no

如果创建虚拟机时加了2个网卡,另一个网卡信息参考如下:
在这里插入图片描述
2.验证是否生效
远程连接br0管理ip—在br0网卡中配置的IPADDR,验证配置是否生效;如果可以正常远程连接到服务器,说明配置生效;并查看交换机信息:

[root@ncsp_cc5d9eaa ~]# brctl show

在这里插入图片描述
3.上传文件

(1)上传虚拟机镜像和xml文件到/home目录,进入/home目录,将需要的虚拟机镜像和xml文件上传到该目录下
(2)创建xml文件
修改xml文件,根据环境目前配置修改镜像的路径、接口类型(网桥bridge)、网桥名(我们是br0),如下红色表示字段
xml文件和镜像文件放在同一目录下,xml文件如下:

<domain type='kvm' id='70'>
  <name>test</name>       //**虚拟机名称**
  <uuid>b4c03f53-900d-4fa9-af5f-7600100713e3</uuid>    //**虚拟机uuid**
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/test_V1.6R10F00SP11_20181203.qcow2'/>   **//镜像文件的路径**
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='piix3-uhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <interface type='bridge'>     //**接口类型为网桥模式bridge**
      <mac address='52:54:00:f2:28:d3'/>  //**接口mac地址,注意和其他mac不能重复。单播地址,可以自己生成一个,与本机其他mac地址不重复即可**
      <source bridge='br0'/>   //**接口接入的网桥为br0**
      <target dev='test'/>    //**接口名,可自定义,与其他虚机接口名不可重复**
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/12'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/12'>
      <source path='/dev/pts/12'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

四.创建虚拟机

1.执行xml文件定义虚拟机

virsh define test.xml  #xml文件自己命名

2.启动虚拟机

virsh start sash
virsh list --all   # 启动之后查看虚拟机状态

在这里插入图片描述

virsh destroy test           #停止虚拟机
virsh undefine test         #删除主机
rm -rf ****.img                    #删除镜像文件

3.进入虚拟机

virsh console test
控制台账号:用户名/密码

如果遇到如下图问题,可以用Ctrl + d
在这里插入图片描述
(1)配置如下截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)配置虚拟机ip
在这里插入图片描述
(3)配置网关
在这里插入图片描述
(4)虚拟机内部ping网关
在这里插入图片描述
在这里插入图片描述
查看虚拟机是否创建配置成功,通过浏览器访问虚拟机的ip,可以访问到虚拟机登录界面即可;ip设置前先ping一下,要选择没有人用的ip。

安装过程中遇到的问题以及解决办法见下一篇kvm虚拟机安装问题解答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值