一,KVM基础

kvm是一种技术,云计算是一种模式,虚拟化是利用相应的技术方法在一台物理机器上将其按照不同的需求划分成多个相同或者不同的虚拟操作系统,并且各个虚拟系统可以同时运行,互不干扰,其中任何一个虚拟系统的损坏都不影响同一物理服务器上的其他虚拟系统。

虚拟化分类

服务器虚拟化-虚拟服务器

桌面虚拟化-瘦客户机连接win7 实现普通办公

存储虚拟化-SAN(基于磁盘)/NAS(NFS/Samba)/GlusterFS

应用虚拟化-将办公软件虚拟化,最典型的就是office

网络虚拟化-SDN

更多待补

二,KVM实验

1,网络

使用kvm 安装虚拟机后,需要为客户机设置网络接口,2种方式:

KVM 客户机网络连接有两种方式:

  • 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式

NAT方式是kvm安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机

由于虚拟接口和物理接口之间没有连接关系,所以虚拟机只能在通过虚拟的网络访问外部世界,无法从网络上定位和访问虚拟主机。virbr0是一个桥接器 ,使用 brctl show 及 route 查看

  • 虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。

以网桥方式连接,客户机可以与子网里面的机器互相通信,可以使虚拟机成为网络中具有独立IP的主机,桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况

网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据,适用于主机虚拟化

2,架构如上图

大坑:

实验用的是 CentOS Linux release 7.4.1708 (Core) :

1,yum 安装  libvirt   的版本  libvirt version: 4.5.0, package: 10.el7

systemctl  start  libvirtd 报错:

error : virModuleLoadFile:53 : internal error: Failed to load module '/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so': /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so: undefined symbol: rbd_diff_iterate2

处理:

mv  libvirt_storage_backend_rbd.so{,.bk}

然后可以正常启动。

2,在做网络bond和桥接时总是出错,桥接配置地址后无法正常与外界公网连接

    折腾了一天,后来换了系统,centos 7.6 后正常配置bond和桥,kvm 。

三,操做

1,宿主机准备

四个网卡,2个桥接,一个仅主机模式(可自动分配ip)

# 1,vmware 宿主机cpu开启虚拟化
# 2,确认指令集是否支持kvm
grep -E "vmx|svm" /proc/cpuinfo | wc -l
2
# 3,安装kvm 工具包
yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install acpid
systemctl start/enable libvirtd
ifconfig virbr0 #查看生成的网卡 grep "192.168.122.1" /etc/lib #查看ip 地址
grep "192.168.122.1" /etc/libvirt/ -R #查看ip所在文件,可以修改为指定内网ip

 

2,创建NAT模式虚拟机

##  提前上传镜像
ll /usr/local/src/CentOS-7-x86_64-Minimal-1810.iso ##创建磁盘
ll /var/lib/libvirt/images/ #默认保存虚拟机磁盘的路径 ##创建一个格式为raw大小为10G的裸磁盘
qemu-img create -f raw /var/lib/libvirt/images/CentOS-7-x86_64.raw 10G ##qcow2格式
qemu-img create -f qcow2 /var/lib/libvirt/images/centos.qcow2 10G
#创建默认网络虚拟机,默认为nat模式
virt-install --virt-type kvm --name centos7 --ram 1024 --vcpus 2 \
--cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-1810.iso \
--disk path=/var/lib/libvirt/images/centos.qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole #--network network=default 网络默认NAT模式

3,创建bond+桥接

#创建br0桥接网卡,双网卡绑定+ 桥接
#多个网卡绑定,高可用或带宽叠加 宿主机按装
yum -y isntall bridge-utlis
本机配置
外网:eth0 eth1
内网:eth2 eth3
cd /etc/sysconfig/network-scripts ##bond0配置
1,vim ifcfg-bond0
TYPE=Bond
BOOTPROTO=none
DEVICE=bond0
NAME=bond0
ONBOOT=yes
USERCTL=no
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100"
BRIDGE=br0
#桥接到br0 2,vim ifcfg-br0
TYPE=Bridge
BOOTPROTO=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
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=172.20.134.7
#宿主机ip
NETMASK=255.255.0.0
GATEWAY=172.20.0.1
DNS1=114.114.114.114 3,eth0 配置
vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes 4,eth1配置
vim ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes #bond1 配置
1,vim ifcfg-bond1
BOOTPROTO=static
NAME=bond1
DEVICE=bond1
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100"
BRIDGE=br1 2,vim ifcfg-br1
TYPE=Bridge
BOOTPROTO=static
NAME=br1
DEVICE=br1
ONBOOT=yes
IPADDR=10.20.200.4
#宿主机私网ip
NETMASK=255.255.255.0 3,eth2 配置
vim ifcfg-eth2
BOOTPROTO=static
NAME=eth2
DEVICE=eth2
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond1
USERCTL=no
SLAVE=yes 4,eth3配置
vim ifcfg-eth3
BOOTPROTO=static
NAME=eth3
DEVICE=eth3
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond1
USERCTL=no
SLAVE=yes ##第一个kvm虚拟机
#创建磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7-bridge.qcow2 10G #创建桥接网络虚拟机
virt-install --virt-type kvm --name bridge-2 --ram 1024 --vcpus 2 \
--cdrom=/data/CentOS-7-x86_64-Minimal-1810.iso \
--disk path=/var/lib/libvirt/images/centos1.qcow2 --network bridge=br0 \
--graphics vnc,listen=0.0.0.0 --noautoconsole ##第二个虚拟机按步骤重复操做
注意第二台主机的网络模式为--network bridge=br1
或创建成功后使用virt-manager 图型化更改网卡模式。选择br1 ##对于第二台宿主机,可以将第一台的网卡配置文件及镜像复制过去,更改ip,启动虚机后立刻poweroff 后重新启动

  

 笔记本承载不了,开第二台虚拟机kvm卡住。更多后补。

kvm:双网卡做bond+桥接的更多相关文章

  1. Linux双网卡绑定bond详解--单网卡绑定多个IP

    Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...

  2. Debian 16.04 配置双网卡绑定bond

    Debian 16.04 配置双网卡绑定bond Debian 16.04 bonding多网卡配置 安装负载均衡软件 fenslave root@ubuntu:~# apt-get install ...

  3. virtualbox 最小化安装centos7 配置双网卡(nat和桥接)记录----已经过期

    该文章已经过期   请参考另一篇文章:virtualbox 安装centos7 配置桥接网卡,实现主机和虚拟机互通,虚拟机可以访问外网,解决无法上网问题   先说明一下为什么要配置双网卡? 配置nat ...

  4. centos 7 服务器网卡做bond

    前期环境准备 [root@ /root] alibaba cloud#cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@ ...

  5. 网卡做bond 导致丢包

    值班中发现一台服务器报到网关丢包,带宽200M. 用  ethtool bond0 查看网卡带宽信息,发现 Speed 为 3100M ,非 1000 的整数倍或10000的整数倍,感觉不对,因为是做 ...

  6. centos下多网卡做bond脚本

    多网卡或者单网卡形式下的网卡bonding #! /bin/sh #获取当前网卡数 ethnum=`lspci | grep Ethernet | wc -l` echo $ethnum #如果网卡数 ...

  7. Linux下双网卡绑定bond配置实例详解

    本文源自:http://blog.itpub.net/31015730/viewspace-2150185/ 一.什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡冗余,带宽 ...

  8. Linux双网卡绑定bond详解

    参考资料: 1.https://blog.csdn.net/shengerjianku/article/details/79221886

  9. proxmox ve系统绑定上联外网出口bond双网卡

    背景描述:一个客户搭建proxmox ve系统,要求上联出口双网卡绑定bond, proxmox ve下载地址:超链接 记录日期:2020/5/9 前期准备:服务器接好2个网卡 交换机:H3C 1.p ...

随机推荐

  1. 【Deep Learning Nanodegree Foundation笔记】第 7 课:NEURAL NETWORKS Intro to Neural Networks

    In this lesson, you'll dive deeper into the intuition behind Logistic Regression and Neural Networks ...

  2. 交换机安全学习笔记 第八章 针对POE的攻击

    POE即 Power over Ethernet 借助于以太网供电.最初为了IP电话,目前主要用于功耗小于15.4w的设备例如Ap和视频监控设备.并且简化了相关设备的电力线布线. 英文缩写注释:PSE ...

  3. C语言博客作业06

    一.表格 问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/988 ...

  4. poj1042(贪心+枚举)

    题目链接:https://vjudge.net/problem/POJ-1042 题意:给n个湖,给出每个湖第一次打捞时鱼的数量f[i],每单位时间鱼减少的数量d[i],从湖i到湖i+1用时t[i], ...

  5. [转帖]Windows与Linux的命令行命令对比

    Windows与Linux的命令行命令对比 https://www.cnblogs.com/sztom/p/10785140.html * Windows不区分大小写,Linux区分大小写的. sn ...

  6. (4.13)mysql备份原理(转)

    关键词:mysqldump原理,--single-transaction,mysql备份原理 转自:https://www.cnblogs.com/cchust/p/5452557.html MySQ ...

  7. 139. 回文子串的最大长度(回文树/二分,前缀,后缀和,Hash)

    题目链接 : https://www.acwing.com/problem/content/141/ #include <bits/stdc++.h> using namespace st ...

  8. 安装ELK平台 7.3.0版本

    0. 事前准备工作 0.1 防火墙 若是使用公网IP的话可以考虑关闭防火墙,或者放行相应端口 使用内网IP的话可以不用管防火墙 0.2 关闭SElinux # setenforce 0 文件:/etc ...

  9. luogu P3210 [HNOI2010]取石头游戏

    传送门 不会结论做个鬼系列 题意其实是在头尾(最多)两个栈以及中间一些双端队列依次取数,然后每个人都要最大化自己的价值 有一个结论,如果一段序列中,出现了三个相邻位置\(A,B,C\),满足\(A\l ...

  10. 在springboot中使用拦截器

    在springMVC中可以实现拦截器,是通过实现HandlerInterceptor接口,然后在springmvc-web.xml中配置就可以使用拦截器了.在springboot中拦截器也是一样的思想 ...