创建KVM虚拟机

操作系统centos7.6

第一步:关闭防火墙

systemctl  stop firewalld
systemctl  disable firewalld

关闭selinux

vim /etc/sysconfig/selinux

创建KVM虚拟机_第1张图片

目前临时关闭,下次重启后会自动关闭

setenforce 0

第二步:在CentOS 7.6中安装虚拟化相关组件。

yum -y install qemu* libvirt* AAVMF virt-install

启动libvirtd服务

systemctl start libvirtd

重启libvirt服务。

service libvirtd restart

查看版本信息

virsh version

第一种方式:图形的形式安装GuestOS

打开

virt-manager

创建KVM虚拟机_第2张图片

创建KVM虚拟机_第3张图片

第二种安装方式:命令行方式安装

虚拟机的配置文件

存储的介质

根据配置文件创建虚拟机

1、需要有磁盘配置文件

cp vm1.img vm2.img或者cp vm1.img vm2.cqow2

2、需要有配置文件

cp vm1.xml vm2.xml

3、配置文件需要修改必要的内容

创建KVM虚拟机_第4张图片

创建KVM虚拟机_第5张图片

创建KVM虚拟机_第6张图片

注意:mac地址只能修改后面三段

4、创建虚拟机

virsh define /etc/libvirt/qemu/vm2.xml

5、启动

systemctl restart libvirtd

6、宿主机开启路由转发

vim /etc/sysctl.conf添加如下内容

创建KVM虚拟机_第7张图片

net.ipv4.ip_forward=1

使配置文件生效

sysctl -p

为虚拟机扩展另外一个磁盘

方法一:通过图形界面

创建KVM虚拟机_第8张图片

启动虚拟机,登录验证能正常挂载显示。

创建KVM虚拟机_第9张图片

移除磁盘

创建KVM虚拟机_第10张图片

方法二:通过命令方式:

第一步:修改虚拟机对应的配置文件

vim /etc/libvirtd/qemu/vm1.xml

创建KVM虚拟机_第11张图片

第二步:创建新的空磁盘卷:

qemu-img create –f qcow2 /var/lib/libvirt/images/vm1-1.qcow2 2G

第三步:重新定义虚拟机的配置文件:

virsh define /etc/libvirtd/qemu/vm1.xml

第四步:启动虚拟机登录验证

创建KVM虚拟机_第12张图片

第三部分:

KVM 必须要配置一个目录当做存储磁盘镜像(存储卷)的目录,我们称这个目录为存储池。

默认的存储池:

/var/lib/libvirt/images/

存储池的管理

  • 创建基于文件夹的存储池(目录)
mkdir –p /data/vmfs
  • 定义存储池与其目录
virsh pool-define-as vmdisk --type dir -- target /data/vmfs
  • 创建已经定义的存储池
  • virsh pool-build vmdisk
  • 查看已经定义的存储池,存储池不激活没法使用
virsh pool-list --all
  • 激活并自动启动已定义的存储池
virsh pool-start vmdisk
virsh pool-autostart vmdisk

  这里vmdisk存储池已经创建好了,可以直接在这个存储池中创建虚拟磁盘镜像了。

  • 在存储池中创建虚拟机存储卷
virsh vol-create vmdisk vm3.qcow2 15G --format qcow2

创建KVM虚拟机_第13张图片

网络管理

创建KVM虚拟机_第14张图片

创建KVM虚拟机_第15张图片

创建KVM虚拟机_第16张图片

brctl show查看有多少个虚机交换机

创建KVM虚拟机_第17张图片

把虚拟机交互机上的vnet网卡删掉

brctl delif virbr0 vnet0

添加vnet网卡到交换机上

brctl addif virbr0 vnet0

通过配置文件配置桥接网卡

在宿主机上操作

  • 查看宿主机上的物理网卡和ip地址:ip a

通过route 查看宿主机的网关

创建KVM虚拟机_第18张图片

创建KVM虚拟机_第19张图片

  • 创建一个桥接网络接口的配置文件
cd /etc/sysconfig/network-scripts/
vim ifcfg-br0

创建KVM虚拟机_第20张图片

主要其中的ip和网关需要和宿主机保持一样

  • 把物理机对应的ens33物理网卡配置文件进行备份并且修改

创建KVM虚拟机_第21张图片

cp ifcfg-ens33 ifcfg-ens33.bak

vim ifcfg-ens33中的内容修改为如下:

DEVICE=”ens33”
ONBOOT=yes
BRIDGE=br0

创建KVM虚拟机_第22张图片

重启网络

systemctl restart libvirtd
systemctl restart network

通过图形界面为虚拟机vm2添加一个桥接网卡

创建KVM虚拟机_第23张图片

启动虚拟机vm2,查看方发现多了一个网卡ens9,并且有ip地址。发现和宿主机的ip(192.168.96.155)在同一个网段。

创建KVM虚拟机_第24张图片

通过在宿主机上ip a查看发现多另一个桥接网卡br0,并且这个ip地址就之前的宿主机网卡的ip(192.168.96.155)

创建KVM虚拟机_第25张图片

到此桥接网卡br0就和物理网卡ens33就行绑定了。同时桥接网卡的ip已经修改为物理网卡的ip地址。

删除桥接网卡

  • 关机对应的虚拟机
  • 图形删除对应虚拟机上的桥接网卡br0

创建KVM虚拟机_第26张图片

  • 删除br0的配置文件
rm –rf ifcfg-br0
  • 删除已经修改过的ens33网卡配置文件
rm –rf ifcfg-ens33
  • 恢复之前备份好的ens33网卡配置文件
mv ifcfg-ens33.bak ifcfg-ens33
  • 重启libvirtd和network
systemctl restart libvirtd
systemctl restart network

查看网卡发现桥接网卡已经被删除,宿主机上的ens33网卡恢复对应的ip地址

创建KVM虚拟机_第27张图片

查看vm的网卡情况eth0正常开启。

创建KVM虚拟机_第28张图片

通过配置文件方式创建nat网络

创建KVM虚拟机_第29张图片

创建KVM虚拟机_第30张图片

重新启动

systemctl restart libvirtd

为虚拟机添加刚刚新创建的nat1网卡

创建KVM虚拟机_第31张图片

启动虚拟机查看发现多一张网卡ens9,并且有对应的ip地址。

创建KVM虚拟机_第32张图片

删除对应的nat1网卡

创建KVM虚拟机_第33张图片

通过配置文件创建隔离的网卡

创建KVM虚拟机_第34张图片

启动服务:

systemctl restart libvirtd

创建KVM虚拟机_第35张图片

添加隔离的网卡

创建KVM虚拟机_第36张图片

启动虚拟机vm后查看vm的网口信息:

创建KVM虚拟机_第37张图片

创建KVM虚拟机_第38张图片

创建KVM虚拟机_第39张图片

卸载kvm

yum remove `rpm -qa | egrep 'qemu|virt|KVM'` -y
rm –rf /var/lib/libvirt  /etc/libvirt/

你可能感兴趣的:(linux)