Apache CloudStack Official Document 翻译节选(七)
关于 Apache CloudStack 的 最佳实践 (一)
Best Practices
部署Apache CloudStack是极具挑战性的,在整个部署过程中需要你做出形形色色的技术性选择。Apache CloudStack的配置条目是相当灵活的,这是因为在组合和配置具体条目时有太多方式可以实现。本部分涵盖了Apache CloudStack部署过程中的建议性要求和必须性要求。
下述内容应当被视为建议而非绝对要求。我们的确鼓励任何计划构建Apache CloudStack云的人通过项目邮件列表寻求指导和建议。
Process Best Practices
强烈建议搭建一个能够模仿业务环境的工作台式Apache CloudStack云。如果在Apache CloudStack云中应用了定制化的不仅,这么做是十分重要的。
要在Apache CloudStack云的部署、尝试和学习中花费足够多的时间。初次部署Apache CloudStack云时,安装基础模型网络可能在数小时内完成、但安装高级模型网络可能要花费几天时间。要部署一个全功能的Apache CloudStack云病逐步解决部署过程中的问题,大约要花费4到8周的时间,在此过程中你可以通过项目社区的邮件用户列表寻求帮助。
Setup Best Practices
- 每个宿主机都应被配置为仅接受来自可信实体的连接(例如来自Apache CloudStack云管理服务和自己的监控软件的连接)
- 如果你想获得确定数量的虚拟机实例,那就在每个豆荚舱内使用多个宿主机集群。
- 用于主存储的共享挂载点或者逻辑单元号设备的主存储容量不应超过6TB,最好在每个宿主机集群中使用多个容量较小的主存储设备、避免使用单个大容量存储设备。
- 当需要导出主存储中的共享文件时,可以通过限定具备访问存储系统权限的IP地址范围来避免数据丢失。
- 网卡绑定是可以直接实现的,且可以增强网路的可靠性。
- 当使用能够支持较多虚拟机实例的重型服务器时,推荐给存储系统配置万兆网络。
- 宿主机的容量取决于虚拟机实例的RAM规格。CPU和存储通常是可以超配的,RAM则不可以超配,RAM通常是设计宿主机容量的一个限制性因素。
- 在使用XenServer作为虚拟化引擎时,建议给dom0分配更多的RAM以便XenServer宿主机可以承载更多的虚拟机实例(dom0是为XenServer虚拟化引擎优化过的一个Linux内核,给dom0分配更多的内存有助于XenServer处理更多量的虚拟机)。推荐给XenServer的dom0分配超过2940MB的RAM(XenServer的dom0默认为752MB内存)。
Maintenance Best Practices
- 注意监测宿主机的磁盘使用情况。宿主机运行错误的很多情况是root分区所在磁盘被未经恰当分割转储的日志文件填满了。
- 监测每个宿主机集群中的虚拟机实例总量。一旦宿主机集群中的虚拟机总量超出了虚拟机引擎的处理最大能力,则应禁止向该宿主机集群分配虚拟机实例。要在宿主机集群中留有安全余量以应对一台或多台宿主机不可运行的可能性,一旦有宿主机不可用、就会因重新部署原本运行于柒上的虚拟机实例而导致其他宿主机的负载加重。查阅你所使用的虚拟化引擎产品文档以确认每个宿主机上可承载的虚拟机数量的最大值,然后通过Apache CloudStack的全局设定进行限制。
- 监测每个宿主机集群中的虚拟机实例的活跃度,保持活跃的虚拟机实例数量低于允许宿主机故障后的宿主机集群能够承载的虚拟机实例安全数量。例如,在一个宿主机集群中有M个宿主机,最多同时允许3个宿主机发生故障,每个宿主机上最多承载H个虚拟机实例,那么这个宿主机集群中的安全虚拟机实例的数量就不应超过(M-3)*H 个虚拟机实例。一旦宿主机集群中的虚拟机实例数量达到这个值,就应通过Apache CloudStack的管理功能禁止再向这个宿主机集群分配虚拟机实例。
- 虚拟化引擎更新补丁的缺失可能导致数据错误和虚拟机实例丢失。要确保虚拟化引擎厂商提供的更新补丁已被安装。通过虚拟化引擎更新通道查询并更新你的虚拟化引擎。Apache CloudStack不会自动更新或者提示你虚拟化引擎有新的更新包,然而保持虚拟化引擎更新是至关重要的。你的虚拟化引擎供应商可能对没有更新过补丁的虚拟化引擎提供技术支持。
Basic and Advanced Networking
正确设定网路对成功部署Apache CloudStack至关重要。本部分涵盖了如何选择并正确设定Apache CloudStack的网路。
Apache CloudStack提供2中类型的网路:
- 基本型网路:也就是AWS风格的overlay型网络模型。这是一张通过3层网络实现虚拟机实例隔离的单一网络。
- 高级型网路:有更为精致的网络拓扑结构,在定义客户机网路时更为灵活、配置也更为复杂。
每个专职地带的网路要么是基本型网路,要么是高级型网路,并伴随其整个生命周期。一旦专职地带的网络欧兴被选定且配置后,便不可再更改。
以下图表中对比了两种网路模型的特点:
在整个Apache CloudStack云中,这两种网络模型可以同时存在。然而在一个既定的专职地带里,此二者只能存其一。
不同的网络流量可以被隔离在同一个实体网路中,客户机流量也可以按照Apache CloudStack账户进行隔离。也可以使用VLAN来隔离不同的网络流量。如果你在单一的实体网路上使用VLAN,需要确保VLAN的标签在对应的数字方位内。
VLAN Allocation Example
公网流量和客户机网路流量都会使用到VALN,以下是VLAN分配的一个示例:
Example Hardware Configuration
本部分阐述了一个用于专职地带级别的3层交换的指定交换设备的配置过程。假定诸如VTP或GVRP之类的VLAN管理协议已经被禁用。如果你想要启用VTP或GVRP管理协议,就必须对本文中提供的命令语句进行恰当的修改。
- Dell 62xx 系列交换机
下面是戴尔 62XX系列交换机被配置为专职地带级别的3层交换的配置过程。我们假定VLAN-201被用于路由豆荚舱1中的无标签的专用IP、豆荚舱1中的2层交换连接到了以太网口1/g1。
戴尔 62XX系列交换机支持1024个VLAN。
S1 在数据库中配置VLAN
S2 配置以太网段口 1/g1
配置结果的含义是:
VLAN-201用于端口 1/g1 的无标签网络流量;
VLAN-300到VLAN-999 用于豆荚舱级别的2层交换
- Cisco 3750
下面是思科 3750型交换机被配置为专职地带级别的3层交换的配置过程。我们假定VLAN-201被用于路由豆荚舱1中的无标签的专用IP、豆荚舱1中的2层交换连接到了以太网口1/0/1。
S1 启用VTP管理协议,以便我们可以使用的VALN数量超过1000(试试上我们仅使用到了999个VLAN,因此这不是必须操作)。
S2 配置以太网端口 1/0/1
配置结果的含义:
VLAN-201用于端口1/0/1上没打标签的网络流量;
VLAN-300到VLAN-999 用于豆荚舱级别的2层交换(思科的交换机默认允许所有的VALN通过)
关于2层交换:
2层交换是豆荚舱内的接入交换层,它把所有的交换机级主干链路VLAN 汇聚给每台宿主机,也切换包含了计算型宿主机和存储型宿主机的管理网的流量。3层交换机此时作为管理网的网路关口出现。
本部分阐述了一个用于豆荚舱级别的2层交换的指定交换设备的配置过程。假定诸如VTP或GVRP之类的VLAN管理协议已经被禁用。如果你想要启用VTP或GVRP管理协议,就必须对本文中提供的命令语句进行恰当的修改。
- Dell 62xx 系列交换机
以下展示了戴尔 62XX系列交换机被配置为豆荚舱级别的2层接入交换的过程。
S1 在数据库中配置VLAN
S2 VLAN-201被保留给了豆荚舱1中未打标签的专用IP、且豆荚舱1连接到了此2层接入交换
配置结果的含义如下:
所有的加端口以同一种方式配置;
VLAN-300到VLAN-999通过了2层交换的全部端口
- Cisco 3750
以下展示了在豆荚舱级别的2层交换中配置思科3750型交换机的过程。
S1 启用VTP管理协议,以便我们可以使用的VALN数量超过1000(试试上我们仅使用到了999个VLAN,因此这不是必须操作)。
S2 为全部端口配置 dot1q 并把本地VLAN 设定为201
默认情况下思科的交换机允许所有的VLAN通过。当两个端口被连接在一起时,思科的交换机会认为这些原生VLAN-ID是不同的。这也是必须在2层接入交换中把VLAN-201设为原生VLAN的原因。
相关文章:

Apache CloudStack Official Document 翻译节选(七)
关于 Apache CloudStack 的 最佳实践 (一) Best Practices 部署Apache CloudStack是极具挑战性的,在整个部署过程中需要你做出形形色色的技术性选择。Apache CloudStack的配置条目是相当灵活的,这是因为在组合和配置具体条目时有…...

动态创建 Delphi 按钮的完整指南:基于配置文件的 `TGridPanel` 实现
在 Delphi 开发中,我们经常需要根据不同的配置动态生成 UI 元素。本文将带你通过一个完整的示例,演示如何根据配置文件动态创建按钮,并将它们排列在一个 TGridPanel 中。每个按钮的标题、链接、颜色和大小都将从配置文件中读取。 “C:\myApp\…...
【设计模式】工厂模式和抽象工厂模式
工厂模式 function User(role, pages) {this.role role;this.pages pages; }// new User(admin, [home, user, setting]); // new User(user, [home, user]); // new User(guest, [home]);function UserFactory(role) {switch (role) {case admin:return new User(role, [ho…...

【xilinx】Versal Adaptive SoC DDRMC - NoC QoS 选项卡未出现
在 2024.1 之前的 Vivado 版本中,用户在使用 NoC 验证块设计时可以访问 NoC 对象窗口和 QoS 选项卡。 Vivado 2024.1 中存在一个已知问题,即 NoC 对象窗口和 QoS 选项卡不出现。 要显示 NoC 对象窗口和 QoS 选项卡,请保存块设计,…...

融合创新:EasyCVR视频汇聚平台云计算技术与AI技术共筑雪亮工程智能防线
随着信息技术的飞速发展,视频云计算技术作为云计算领域的一个重要分支,正逐步在公共安全、社会治理等领域展现出其独特的优势。特别是在雪亮工程这一群众性治安防控工程中,视频云计算技术更是发挥了不可替代的作用。本文将从视频云计算技术的…...
keepalived的技术原理及其在负载均衡场景中的应用
keepalived的技术原理及其在负载均衡场景中的应用 深入探讨Keepalived及其在负载均衡场景中的应用1. **Keepalived概述**2. **Keepalived的技术原理**2.1 **VRRP协议**2.2 **健康检查机制**2.3 **脚本管理** 3. **Keepalived与LVS的结合应用**3.1 **LVS优缺点** 4. **Nginx与HA…...
树的重心 by江河湖海
引入 重心是什么? 想象你有一个由线悬挂的秋千,秋千的两端坐着两个人,如果这两个人坐在秋千的重心上,秋千就会保持平衡。在树的结构中,重心就是那个让所有节点到它那里的“距离”(可以理解为线的长度)总和最小的点。 重心为什么最多只有两个? 假设树的重心有两个,…...
MySQL存储过程深入指南
MySQL存储过程深入指南 存储过程是MySQL中一个强大的功能,能够显著提升数据库操作的效率和灵活性。本文将全面介绍存储过程的概念、语法、使用方法及最佳实践,帮助读者熟练掌握存储过程的使用。 1. 什么是存储过程? 存储过程(Stored Procedure)是预先编译并存储在数据库…...

牛客算法小题
目录 牛客.求和编辑 牛客.abb 牛客.合并k个有序链表 牛客.滑雪(暴力->递归->记忆化搜索) 牛客.旋转字符串 牛客.求和 我没想到是dfs,另外我的dfs能力确实也不强,另外难度大的是他的那个输出 import java.util.Scanne…...

小米SU7销量超特斯拉,新车明年上半年发布
小米 SU7,一款国内新能源车品牌纯血新势力旗下首款轿车,上市短短 4 个月卖出超 4 万台,月均销量过万。 该说不说,这放在整个新能源汽车工业史上也足以称得上是一件小刀喇拍屁股,让人开了眼的事儿。 就在本月初&#x…...

基于Java语言的光伏监控系统+光伏发电预测+光伏项目+光伏运维+光伏储能项目
基于Java语言的光伏监控系统光伏发电预测光伏项目光伏运维光伏储能项目 介绍 基于Java语言的光伏监控系统光伏发电系统光伏软件系统光伏监控系统源码光伏发电系统源码 基于Java语言的光伏监控系统光伏发电预测光伏项目光伏运维光伏储能项目 安装教程...

unity json 处理
1. c#对象 -> json public class Item {public int id;public int num;public Item(int id, int num){this.id id;this.num num;} } public class PlayerInfo {public string name;public int atk;public int def;public float moveSpeed;public double roundSpeed;publi…...

如何使用DataGear零编码快速制作MQTT物联网实时数据看板
DataGear是一个开源免费的数据可视化分析平台,企业版在开源版基础上开发,新增了诸多企业级特性,包括:MySQL及更多部署数据库支持、MQTT/WebSocket/Redis/MongoDB数据集、OAuth2.0/CAS/JWT/LDAP统一登录支持、前后端敏感信息加密传…...

Mysql查询日志
Mysql查询日志 Mysql查询日志默认是关闭状态的。 mysql> show variables like %general_log%; --------------------------------------- | Variable_name | Value | --------------------------------------- | general_log | OFF …...

Airtest 的使用
Airtest 介绍 Airtest Project 是网易游戏推出的一款自动化测试框架,其项目由以下几个部分构成 Airtest : 一个跨平台的,基于图像识别的 UI 自动化测试框架,适用于游戏和 App , 支持 Windows, Android 和 iOS 平台,…...

Android更改包名和签名
一、更改包名 1、包名——鼠标右键——Refactor——Rename 修改自己想更改的包名和选择更改范围后点击Refactor就可以了 2.手动修改app的build.gradle文件中的applicationId(改成和我们之前修改的包名相同) 3.修改AndroidManifest.xml文件中的packag…...

tortoisegit下载及其使用流程
下载 官方下载链接:Download – TortoiseGit – Windows Shell Interface to Git 选择适合自己的电脑位数的版本:一般64的兼容32的 按照就不介绍了怎么开心怎么来,本篇暂时为了支持一位粉丝的疑惑 安装的话没有特殊配置暂不介绍,…...
Anrdoir 13 关于设置静态IP后,突然断电,在上电开机卡动画
bug描述:设置静态IP成功后,机器突然断电,然后在上电开机,发现机器一直卡在开机动画,无法成功进入桌面 第一时间抓取日志分析,Log如下: 08-13 11:26:42.455 2803 2803 I EthernetServiceImpl: Starting Ethernet service 08-13 11:26:42.457 2803 2924 D ConnectivityServ…...

multimodel ocr dataset
InternLM-XComposer2-4KHD InternLM-XComposer2-4KHD a light-weight Vision Encoder OpenAI ViT-Large/14Large Language Model InternLM2-7B, 这篇论文采用的是一种动态分辨率的输入; 全图有一个global view,resize到336*336; 然后把图片resize再pad…...

兼容并蓄,高效集成:EasyCVR视频综合接入能力助力多元化项目需求
随着视频技术的不断进步,视频监控、视频直播、执法记录仪、语音可视对讲、无人机等视频资源的应用场景日益丰富。这些视频资源不仅在数量上快速增长,而且在质量、格式、编码标准等方面也呈现出多样化的特点。因此,为了有效整合这些资源&#…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...