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

相关文章

论文翻译: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 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

JavaScript中document.cookie

“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie。”—— MSIE 帮助。一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件、程序等创建的,但是 javascript 也提供了对 Cookies 的很全面的访问权利。       每个 Cookie 都是这样的:<cookie名>=<值>   <cookie名>的限制与 javasc

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

十一、C语言:字符串函数

目录 一、strlen 二、strcpy 三、strcat  四、strcmp 五、strstr 六、strtok 七、strerror 一、strlen 注意:strlen()函数的返回值是size_t,两个size_t相减仍为无符号数 int main(){char arr[10] = "abc";char brr[10] = "abc123";if (strl

Apache HttpClient使用详解

转载地址:http://eksliang.iteye.com/blog/2191017 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

开源Apache服务器安全防护技术精要及实战

Apache 服务简介   Web服务器也称为WWW服务器或HTTP服务器(HTTPServer),它是Internet上最常见也是使用最频繁的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等等服务。   由于用户在通过Web浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而Web在Internet上一推出就得到了爆炸性的发展。现在Web服务器已