KVM + Openvswitch 环境在 CentOS 7 上的安装

CentOS 7


  • 版本
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-862.3.3.el7.x86_64 #1 SMP Fri Jun 15 04:15:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • 关闭 SElinux (Security-Enhanced Linux: 对所有资源的访问控制)
vi /etc/sysconfig/selinux 
SELINUX=disabled
  • 系统升级: yum update

安装软件

  • KVM 是最底层的 Hypervisor, 用来模拟 CPU 的运行, Linux 内核默认支持 KVM,可以通过 modprobe kvm 进行加载,通过 lsmod | grep kvm 进行查看。

  • Qemu-kvm 是一个完整的模拟器,运行在用户层,构建在 KVM 之上,调用 KVM 接口,并且提供了完整的网络和I/O支持,安装 qemu-kvm: yum install qemu-kvm

  • Libvirt 是通过调用 qemu-kvm 管理虚拟机的工具,它提供了一套虚拟机操作 API,可以通过 virsh 调用,安装 libvirt: yum install libvirt

  • Libvirt-python 是 libvirt 为 python 提供的 API,安装 libvirt-python: yum install libvirt-python

  • 安装 libvirt 的客户端: yum install libvirt-client

  • 安装 基于 libvirt 的虚拟机创建命令行工具: yum install virt-install

  • 安装 基于 libvirt 的图形化虚拟机管理工具: yum install virt-manager

  • 安装 基于 libvirt 用于显示 guest OS 图形化 console 的工具: yum install virt-viewer

  • 安装 基于 libvirt 用于查看虚拟机资源使用情况的工具: yum install virt-top

  • 安装 基于 libvirt 的使用 python 安装虚拟机的工具: yum install python-virtinst

  • 安装 虚拟机磁盘管理工具: yum install libguestfs-tools

  • 启动 libvirtd 并设置其为开机启动

systemctl start libvirtd
systemctl enable libvirtd

[root@localhost ~]# virsh -c qemu:///system list
Id    Name                           State
----------------------------------------------------
  • 安装 openvswitch: yum install openvswitch

KVM 网络配置 -- Bridge


  • 前往 CentOS 网络配置文件目录: cd /etc/sysconfig/network-scripts/

  • 添加网桥设备脚本文件: vi ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no

也可以在该网桥上配置宿主机的静态 IP 地址:

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.2.6
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DEFROUTE=yes
ONBOOT=yes
NM_CONTROLLED=no
  • 关闭网卡设备,并修改网卡设备脚本文件: ifdown enp133s0f0, vi ifcfg-enp133s0f0
HWADDR=00:0C:BD:00:DE:20
TYPE=Ethernet
BOOTPROTO=none
NM_CONTROLLED=no
DEVICE=enp133s0f0
ONBOOT=yes
BRIDGE=br0
  • 启动网卡,启动网桥: ifup enp133s0f0, ifup br0
[root@localhost network-scripts]# ip add
...
4: enp133s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 00:0c:bd:00:de:20 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:bdff:fe00:de20/64 scope link 
       valid_lft forever preferred_lft forever
...
17: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:bd:00:de:20 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:bdff:fe00:de20/64 scope link 
       valid_lft forever preferred_lft forever
...

如果网桥上有配置静态 IP 地址,会在 br0 上显示。

  • 查看网桥:
[root@localhost network-scripts]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000cbd00de20       no              enp133s0f0
br1             8000.000cbd00de21       no              enp133s0f1
br2             8000.000cbd00de22       no              enp133s0f2
br3             8000.000cbd00de23       no              enp133s0f3

KVM 网络配置 -- vSwitch


  • 启动 openvswitch 并设置其为开机启动: systemctl start openvswitch, systemctl enable openvswitch

  • /etc/sysconfig/network-scripts 目录下, 配置 OVS Bridge 脚本: vi ifcfg-br20

DEVICE=br20
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
  • 关闭网卡,修改网卡脚本: ifdown enp7s0f0, vi ifcfg-enp7s0f0
HWADDR=00:0C:BD:06:43:8A
DEVICETYPE=ovs
TYPE=OVSPort
DEVICE=enp7s0f0
NM_CONTROLLED=no
ONBOOT=yes
OVS_BRIDGE=br20
  • 启动网卡,启动 OVS Bridge: ifup enp7s0f0, ifup br20
[root@localhost network-scripts]# ip add
...
11: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000
    link/ether 00:0c:bd:06:43:8b brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:bdff:fe06:438b/64 scope link 
       valid_lft forever preferred_lft forever
...
14: br20: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 00:0c:bd:06:43:8a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::60d0:9eff:fea0:b263/64 scope link 
       valid_lft forever preferred_lft forever
...
  • 查看 vswitch:
[root@localhost network-scripts]# ovs-vsctl show
7cb9a643-bff7-4d85-8f4d-1cb8077bb117
    Bridge "br20"
        Port "br20"
            Interface "br20"
                type: internal
        Port "vnet4"
            Interface "vnet4"
        Port "enp7s0f0"
            Interface "enp7s0f0"
    Bridge "br11"
        Port "ens65f1"
            Interface "ens65f1"
        Port "br11"
            Interface "br11"
                type: internal
    Bridge mgmt
        Port "enp1s0f0"
            Interface "enp1s0f0"
        Port "vnet0"
            Interface "vnet0"
        Port mgmt
            Interface mgmt
                type: internal
    Bridge "br21"
        Port "enp7s0f1"
            Interface "enp7s0f1"
        Port "vnet10"
            Interface "vnet10"
        Port "br21"
            Interface "br21"
                type: internal
        Port "vnet7"
            Interface "vnet7"
    ovs_version: "2.0.0"
  • 重启 network 失败,并提示 bridge 已存在,可以通过 ovs-vsctl del-br BRIDGE 后,重启 network 解决。

WebVirtMgr 部署见: WebVirtMgr + NGINX 环境 在 CentOS 7 上的部署

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容