Apache CloudStack Official Document 翻译节选(十一)

2024-08-29 13:20

本文主要是介绍Apache CloudStack Official Document 翻译节选(十一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于 Apache CloudStack 的 最佳实践 (五)

存储系统的规划与配置实践

Primary Storage

Apache CloudStack被设计为与广泛的商品级和企业级存储系统联合使用。在受虚拟化引擎支持的情况下,Apache CloudStack也支持使用虚拟化引擎所在宿主机的本地磁盘作为主存储。虚拟机实例所能使用的虚拟磁盘类型取决于选用了哪种虚拟化引擎。(Apache CloudStack并不直接支持用于KVM虚拟化引擎的集群化逻辑卷管理【CLVM】存储)

Secondary Storage

Apache CloudStack被设计为与广泛的辅助存储系统联合使用,其要求是辅助存储系统支持NFS协议。对于大规模、多专职地带部署的Apache CloudStack也可以使用AWS的S3对象存储系统作为辅助存储。这允许辅助存储跨统辖区域使用,然而,由于大多数虚拟化引擎不能直接挂载S3一类的对象存储,因此NFS暂存区必须在每个专职地带内维护。

配置Apache CloudStack的存储系统

Small-Scale Setup

在小规模的部署配置中,一个单独的NFS存储服务器可以同时承担主存储和辅助存储的角色。这种情况下,NFS存储必须被分割成两个部分,一个用作主存储、一个用作辅助存储。需要使用一个实体主机或者虚拟机实例来运行NFS的服务端程序。在小规模的部署场景中,磁盘和网路性能对在虚拟机实例的部署、运行、制作快照过程中的良好体验十分重要。

Large-Scale Setup

在大规模的部署场景中,主存储和辅助存储通常由独立的实体存储阵列构成。主存储可能必须支持随机读写I/O,辅助存储一般只需支持持续的连续读写请求即可。

对于正在经历大量用户制作虚拟机实例快照或者部署虚拟机实例的Apache CloudStack而言,辅助存储的性能对于此时的用户体验就相当重要了。在存储系统设计之初就框定它所能支持的工作负载估值是很重要的,还必须考虑虚拟机实例对IOPS的要求、及数据存储容量和到达存储网卡的可用带宽(单位是 MB/s)。

Apache CloudStack存储架构设计

在Apache CloudStack环境下,有大量不同的存储类型可用。在决定使用哪种存储类型是需要考虑到特定的使用情况,财务方面的限制通常使得技术上最优的存储架构难以在经济性上得以实现。

大体上,可选用的主存储架构有3类:

  1. 宿主机的本地存储

本地存储最适合于纯云工作负载,这种场景下不需要再存储池间迁移虚拟机实例、虚拟机实例的高可用也不需要。随着SSD称为驻留存储设备且变得廉价,基于本地存储的实例现在可以获得IOPS大小服务(此前这种服务只能通过每10为一组的纺锤阵列提供)。由于没添加一个宿主机就同时添加了等规格的存储容量,因此本地存储是可扩展的。由于不能利用或复用连接克隆,本地存储是相对低效率的。

  1. 基于节点的共享存储

基于节点的共享存储是一种阵列,这种阵列使用一个控制器或一对儿控制器挂载了一群磁盘。理想情况下,每个豆荚舱会有这么一个阵列以限制单个豆荚舱发生故障的爆炸半径。这是一种不经济的做法,我们应尝试减少任何和可能存在单个整列的专职地带相关的事故的规模。在某个宿主机故障时使用共享存储可以使工作负载在后补宿主机上马上得到重启。这些共享的存储阵列通常具备利用大型SATA磁盘、SAS磁盘和SSD磁盘构建存储阶梯的能力。这些性能不同的存储阶梯层可以作为不同的产品呈现给用户。存储阵列的大小应考虑到全部工作负载所需的IOPS及索要存储的数据量。此外,海英考虑存储阵列预期支持的虚拟机实例数量和可能流经存储控制器的最大网路带宽。

  1. 集群化的共享存储

集群化的共享存储阵列是新一代的存储,这种存储可以没有供数据进出存储阵列的单一组网卡,而是在任意两个存活节点之间分布的,因而及大地提高了存储的可扩展性和存储性能。即便是在一个节点上的数据全部丢失后,某些集群化的存储阵列也允许全部数据可以继续被访问。

在使用集群化的共享存储时,应当充分考虑存储网路的拓扑结构,以避免存储系统中出现网络瓶颈。

Network Configuration For Storage

设计Apache CloudStack时应考虑到的不仅是存储系统的磁盘阵列的性能,还应考虑到从交换机到存储系统网卡的可用带宽容量。

Apache CloudStack的网路设计:存储系统

首先要搞明白的是供应主存储的过程。当你为某个宿主机集群创建了一个存储池时,Apache CloudStack的云管理服务会告知每个宿主机上的虚拟化引擎去挂载这个存储池(可以使NFS共享存储或iSCSI的逻辑单元号)。这个存储池会以数据块的形式呈现给宿主机上的虚拟化引擎(如VMware ESXi中的datastore、XenServer中的storage repository、KVM中的mount point)。最重要的一点是,着是虚拟化引擎自身在和主存储通讯、Apache CloudStack的云管理服务仅和宿主机上的虚拟化引擎通讯。现在,所有的虚拟化引擎都通过某种管理网卡和外部通讯(如VMware ESXi中的VMkernel端口、XenServer中的Management Interface)。由于Apache CloudStack的云管理服务需要和宿主机上的虚拟化引擎通讯,这个“管理网卡”必须在Apache CloudStack的云内管理网或云内网络上。宿主机上应当有其他网卡来承载在宿主机内通向虚拟机实例的公网流量或客户机网流量。

对存储虚拟化背景的用户而言会考虑分离主存储的网路流量,给存储网流量穿件一个特定的网口并不是什么新的概念。通过给iSCSI存储力量指定战术交换机以避免读写延时或读写资源争夺,这是长期以来的有效实践。

有时候在“云”的世界里,我们忘记了我们正在精心策划的、由虚拟化引擎已经执行了的、配置了的事物依旧适用。以下逻辑示意图说明了这种流量分离是如何实现的:

  1. 如果你想要用一张额外的网卡和虚拟化引擎通讯,拿就需要给这个网卡一个IP地址。
  2. 创建一个可空虚拟化引擎使用的网卡的机制就是创建一个额外的管理网卡。
  3. 虚拟化引擎可以辨别位于不同且不重叠的分支网络中的管理网卡。
  4. 为了使云内主存储管理网卡能够和主存储通讯,主存储阵列上的网卡必须和云内主存储管理网卡处于同一个CIDR地址块中。
  5. 因此,主存储系统必须和Apache CloudStack云内管理网处于不同的分支网络中。

Small-Scale Example Configurations

本部分通过几个案例来说明如何恰当地设定存储系统。

NFS存储系统(基于本地磁盘或直连式存储)

以下描述了如何在Linux上配置NFS关口。

  1. 在RHEL系列发行版上安装NFS服务端。
  2. 如果磁盘超过了2TB,就分割出一个磁区(20GB较为适宜)用于安装RHEL系列发行版。
  3. 操作系统安装完毕后,创建一个名为“/export”的路径。它可以是root磁区中的路径,也可以是一个挂载点。
  4. 每个ext3格式的文件系统最多支持16TB容量。如果你的存储磁区大于16TB,可以在其上创建多个ext3格式的文件系统并创建多个NFS关口。
  5. NFS关口路径“/export”创建结束后参考执行以下命令进行配置

受限制的NFS关口:

我们推荐你通过指定子网掩码的方式把NFS关口限制到某一个特定的分支网络中(例如“192.168.1.0/24”)。在只允许指定宿主机集群访问存储系统的限制下,可以避免非存储池成员挂载这个存储。你所设定的着个首先存储必须同时包含云内管理网可存储网。如果管理网和存储网是同一个网路,那么一个CRID地址块就足够了;如果存储网络是隔离的,那就必须提供一个隔离的CRID地址块或者足以覆盖管理网和存储网的CRID地址块。

以下是使用隔离CRID地址块的配置示例:

移除异步标识:

通过允许NFS服务端在向磁盘的写操作提交之前做出响应,异步标识提升了存储性能。在关键产品的部署中请移除异步标识。

  1. 启用NFS服务

  1. 编辑配置文件/etc/sysconfig/nfs、启用以下配置

  1. 编辑iptablespeizhi文件/etc/sysconfig/iptables,在INPUT链的开始位置添加以下内容:

  1. 重启NFS服务端。

至此,一个名为“/export”的NFS共享存储就设置好了。

NFS存储(基于iSCSI)

以下步骤说明了如何假设一个基于iSCSI三维NFS服务端关口(适用于RHEL 5 系列的发行版)。

  1. 安装iSCSI管理工具“iscsiadm”:

  1. 寻找 iSCSI target :

  1. 登录到 iSCSI target :

  1. 寻找SCSI磁盘:

  1. 格式化SCSI磁盘并把它挂载到NFS服务端关口:

  1. 把SCSI磁盘添加到系统级文件系统库表,确保磁盘可以被OS开机挂载:

现在来把NFS服务端关口设定为NFS共享存储。

受限制的NFS关口:

    为避免数据丢失,我们推荐你通过指定子网掩码的方式把NFS关口限制到某一个特定的分支网络中(例如“192.168.1.0/24”)。在只允许指定宿主机集群访问存储系统的限制下,可以避免非存储池成员挂载这个存储和疏忽性地删除存储上的数据。你所设定的着个首先存储必须同时包含云内管理网可存储网。如果管理网和存储网是同一个网路,那么一个CRID地址块就足够了;如果存储网络是隔离的,那就必须提供一个隔离的CRID地址块或者足以覆盖管理网和存储网的CRID地址块。

以下是使用隔离CRID地址块的配置示例:

移除异步标识:

通过允许NFS服务端在向磁盘的写操作提交之前做出响应,异步标识提升了存储性能。在关键产品的部署中请移除异步标识。

这篇关于Apache CloudStack Official Document 翻译节选(十一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117973

相关文章

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已