KVM网桥管理与虚拟化存储管理(三)

版权声明:文章转发需标明文章出处地址及作者 https://blog.csdn.net/weixin_44267608/article/details/88997723

kvm的存储虚拟化是通过存储池(Storage Pool)和卷来管理的

Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型;

Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。

文件目录是最常用的 Storage Pool 类型。KVM 将宿主机目录/var/lib/libvirt/images/ 作为默认的 Storage Pool
在这里插入图片描述

在/etc/libvirt/storage目录下,每个Pool一个xml文件,有个default.xml文件

<pool type='dir'>
  <name>default</name>
  <uuid>238a0355-3429-4b25-8f7a-9a2461450871</uuid>
  <capacity unit='bytes'>0</capacity>
  <allocation unit='bytes'>0</allocation>
  <available unit='bytes'>0</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>     #此处定义了默认的Storage Pool目录
  </target>
</pool>

~

创建Storage Pool
虚拟系统管理器------》打开其中一台虚拟机----》添加硬盘
在这里插入图片描述
在这里插入图片描述

之后跟着顺序操作,如果想删除,则点下面的X
在这里插入图片描述

添加volume
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后选择卷–》完成即可
在这里插入图片描述

网桥管理

网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源。第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图:
在这里插入图片描述

VM2 的虚拟网卡 vnet1 也连接到了 br0 上。 现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信

查看网络状态 ip a

显示网桥连接状态:brctl show
可以brctl --help寻求帮助

VLan介绍

LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机。一般来说,两台计算机连入同一个 Hub 或者 Switch时,它们就在同一个 LAN 中。

一个 LAN 表示一个广播域。 其含义是:LAN 中的所有成员都会收到任意一个成员发出的广播包。

VLAN 表示 Virtual LAN。一个带有 VLAN 功能的switch 能够将自己的端口划分出多个 LAN。计算机发出的广播包可以被同一个 LAN 中其他计算机收到,但位于其他 LAN 的计算机则无法收到。 简单地说,VLAN 将一个交换机分成了多个交换机,限制了广播的范围,在二层将计算机隔离到不同的 VLAN 中。

比方说,有两组机器,Group A 和 B,我们想配置成 Group A 中的机器可以相互访问,Group B 中的机器也可以相互访问,但是 A 和 B 中的机器无法互相访问。 一种方法是使用两个交换机,A 和 B 分别接到一个交换机。 另一种方法是使用一个带VLAN 功能的交换机,将 A 和 B 的机器分别放到不同的 VLAN 中。

Linux Bridge实现Vlan原理

在这里插入图片描述

eth0 是宿主机上的物理网卡,有一个命名为 eth0.10 的子设备与之相连。 eth0.10就是 VLAN 设备了,其 VLAN ID 就是VLAN 10。 eth0.10 挂在命名为brvlan10 的 Linux Bridge 上,虚机VM1 的虚拟网卡 vent0 也挂在brvlan10 上。
这样的配置其效果就是: 宿主机用软件实现了一个交换机(当然是虚拟的),上面定义了一个 VLAN10。 eth0.10,brvlan10 和 vnet0 都分别接到VLAN10 的 Access口上。而 eth0 就是一个 Trunk 口。VM1 通过 vnet0发出来的数据包会被打上 VLAN10 的标签。

增加一个 VLAN20
在这里插入图片描述

这样虚拟交换机就有两个 VLAN 了,VM1和 VM2 分别属于 VLAN10 和 VLAN20。对于新创建的虚机,只需要将其虚拟网卡放入相应的 Bridge,就能控制其所属的 VLAN。

Linux Bridge实现Vlan操作

查看核心是否提供VLAN 功能,执行
#dmesg | grep -i 802
或者检查/proc/net/vlan目录是否存在。如果沒有提供VLAN 功能,/proc/net/vlan目录是不存在的。

[root@kvm ~]# dmesg | grep -i 802
[    0.261802] pci 0000:00:15.0:   bridge window [io  0x4000-0x4fff]
[    0.402802] pci 0000:00:11.0:   bridge window [io  0x2000-0x3fff]

如果8021q模块没有载入系统,则可以通过使用modprobe模组命令载入802.1q模组,並且利用lsmod命令确认模组是否已经载入到核心内。
#modprobe 8021q
#lsmod | grep 8021q

安装查看用于查看Vlan配置的工具————vconfig
在这里插入图片描述

安装
yum -y localinstall vconfig-1.9-16.el7.x86_64.rpm #可以解决安装依赖关系
而rpm -ivh vconfig-1.9-16.el7.x86_64.rpm 无法解决依赖关系

添加网卡,在虚拟机-------》设置—》添加—》网络适配器

添加之后cd /etc/sysconfig/network-scripts/
ls 发现没有那个网卡配置文件
这时nmtui进行操作
在这里插入图片描述

操作顺序:编辑连接—》以太网连接----》编辑-----》将有线连接改为ens36,-----》保存退出

将ens36改为none

vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=none
NAME=ens36
ONBOOT=yes   

基于网卡ens36添加vlan10,vlan20接口:ens36.10 ens36.20

vconfig add ens36 10
vconfig add ens36 20

在这里插入图片描述

修改两者配置文件
cp ifcfg-ens36 ifcfg-ens36.10
cp ifcfg-ens36 ifcfg-ens36.20

vim ifcfg-ens36.10

VLAN=yes
TYPE=vlan
PHYSDEV=ens36
VLAN_ID=10
NAME=ens36.10
NBOOT=yes
ZONE=trusted
DEVICE=ens36.10
BRIDGE=brvlan-10

vim ifcfg-ens36.20

VLAN=yes
TYPE=vlan
PHYSDEV=ens36
VLAN_ID=20
NAME=ens36.20
NBOOT=yes
ZONE=trusted
DEVICE=ens36.20
BRIDGE=brvlan-20

添加网桥
brctl addbr brvlan-10
brctl addbr brvlan-20

编辑网桥brvlan-10配置文件
vim ifcfg-brvlan-10

TYPE=bridge
BOOTPROTO=static
NAME=brvlan-10
DEVICE=brvlan-10
ONBOOT=yes

vim ifcfg-brvlan-20

TYPE=bridge
BOOTPROTO=static
NAME=brvlan-20
DEVICE=brvlan-20
ONBOOT=yes

将网桥与网口连接起来
brctl addif brvlan-10 ens36.10
brctl addif brvlan-10 ens36.20
在这里插入图片描述

重启网络systemctl restart network

在虚拟机管理系统中,打开虚拟机,
在这里插入图片描述

将网络源分别改为brvlan10与brvlan20
最后打开两个子虚拟机,并配置ip,最后相互ping,看看是否能够ping通。
只有相同的vlan才能ping通

猜你喜欢

转载自blog.csdn.net/weixin_44267608/article/details/88997723