虚拟化技术OvirtIT@程序员猿媛

【Ovirt 笔记】组件与技术原理分析和整理

2020-01-09  本文已影响0人  58bc06151329

文前说明

作为码农中的一员,需要不断的学习,我工作之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种方式记录自己的学习之旅。

本文仅供学习交流使用,侵权必删。
不用于商业目的,转载请注明出处。

分析整理的版本为 Ovirt 3.4.5 版本。

1. 概述

1.1 engine

ovirt-engine 架构

应用服务器(ovirt-Wildfly)

[root@localhost jbossas]# pwd
/usr/share/jbossas
[root@localhost jbossas]# ll
total 40
drwxr-xr-x. 3 jboss jboss  4096 Jan  9 20:18 bin
drwxr-xr-x. 3 jboss jboss    20 Jan  9 20:18 bundles
drwxr-xr-x. 5 jboss jboss    52 Jan  9 20:18 docs
lrwxrwxrwx. 1 jboss jboss    23 Jan  9 20:18 domain -> /var/lib/jbossas/domain
-rw-r--r--. 1 jboss jboss   419 Oct 21  2014 JBossEULA.txt
lrwxrwxrwx. 1 jboss jboss    33 Jan  9 20:18 jboss-modules.jar -> /usr/share/java/jboss-modules.jar
-rw-r--r--. 1 jboss jboss 26530 Oct 21  2014 LICENSE.txt
drwxr-xr-x. 3 jboss jboss    20 Jan  9 20:18 modules
lrwxrwxrwx. 1 jboss jboss    27 Jan  9 20:18 standalone -> /var/lib/jbossas/standalone
-rw-r--r--. 1 jboss jboss    66 Oct 21  2014 version.txt
drwxr-xr-x. 4 jboss jboss   158 Jan  9 20:18 welcome-content
目录结构 说明
bin 常规 bin目录,可以执行的脚本文件,比如 ./standalone.sh 可以启动服务器。
docs 服务器的基础文件。
domain 启动方式有两种,一种是 standalone,一种是 domain 分布式的启动。
modules 配置 wildfly 启动时加载的 module。
standalone wildfly 启动的一种方式,里面放置了相关的配置。
welcome-content wildfly 启动后一些默认的显示页面文件。
jboss-modules.jar 在 wildfly 启动时加载相关的 jar 文件。
[root@localhost config]# jps -vVm
10975 jboss-modules.jar -mp /var/lib/ovirt-engine/jboss_runtime/modules/00-ovirt-engine-modules:/var/lib/ovirt-engine/jboss_runtime/modules/01-jbossas-modules -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone -c ovirt-engine.xml -XX:+TieredCompilation -Xms1g -Xmx1g -XX:PermSize=256m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.awt.headless=true -Djsse.enableSNIExtension=false -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/ovirt-engine/dump -Djava.util.logging.manager=org.jboss.logmanager -Dlogging.configuration=file:///var/lib/ovirt-engine/jboss_runtime/config/ovirt-engine-logging.properties -Dorg.jboss.resolver.warning=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djboss.modules.write-indexes=false -Djboss.server.default.config=ovirt-engine -Djboss.home.dir=/usr/share/jbossas -Djboss.server.base.dir=/usr/share/ovirt-engine -Djboss.server.data.dir=/var/lib/ovirt-engine -Djboss.server.log.dir=/var/log/ovirt-engine -Djboss.server.config.dir=/var/lib/ovirt-engine/jboss_runtime/config -Djboss.server.temp.dir=/var/lib/ovirt-engine/jboss_runtime/tmp -Djboss.controller.temp.dir=/var/lib/ovirt-engine/jboss_runtime/tmp

用户门户(User Portal)

管理门户(Admin Portal)

目录服务(Directory Service)

报表

API

1.2 Node

ovirt-node

KVM(Kernel-based Virtual Machine)

[root@node118 ~]# lscpu | grep Virt
Virtualization:        VT-x
[root@node118 ~]# grep -E "(vmx|svm)" --color=always /proc/cpuinfo
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap
[root@node ~]# lsmod | grep kvm
kvm_intel             148081  0 
kvm                   461126  1 kvm_intel
[root@node118 modprobe.d]# systool -m kvm_intel -v | grep nested
    nested              = "Y"
# modprobe -r kvm_intel
# modprobe kvm_intel nested=1
vi /etc/modprobe.d/modprobe.conf
options kvm_intel nested=1

Qemu

Vdsm(Virtual Desktop Server Manager)

libvirt

SPM(Storage Pool Manager)

1.3 数据中心

集群容器

存储容器

网络容器

1.4 存储

1.5 网络

网络架构

2. 原理

2.1 存储

2.1.1 存储域

存储域类型

2.1.2 磁盘镜像

磁盘格式

存储分配策略

2.1.3 元数据

存储目录结构

/rhev/data-center/<storage_pool_uuid>
存储目录结构

2.1.4 SPM(Storage Pool Manager)

存储域元数据读写数据流

2.1.5 sanlock

资源的锁定

资源的释放

2.2 网络

2.2.1 基础网络

网卡(NIC)

网桥(Bridge)

[root@node ~]# brctl show
bridge name bridge id       STP enabled interfaces
ovirtmgmt   8000.000c29bd6658   no      eno16780032

网络绑定(Bond)

虚拟网卡(vNIC)

[root@node ~]# ip addr
.....
4: sdcvmnet: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:0c:29:bd:66:58 brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.xx/21 brd 192.168.xxx.255 scope global sdcvmnet
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:febd:6658/64 scope link 
       valid_lft forever preferred_lft forever

2.2.2 集群网络

逻辑网络(Logical Network)

必须的网络(Required)

可选的网络(Optional)

虚拟机网络(VM network)

端口镜像(port mirroring)

2.2.3 主机网络

网桥配置

" 网桥 + 网卡 " 的配置
[root@node ~]# virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 vdsm-sdcvmnet        active     yes           yes

VLAN 配置

VLAN 配置

网桥与 Bond 配置

网桥与 Bond 配置

多网桥、多 VLAN 与单网卡配置

多网桥、多 VLAN 与单网卡配置

多网桥、多 VLAN 与单 Bond 配置

多网桥、多 VLAN 与单 Bond 配置
上一篇下一篇

猜你喜欢

热点阅读