GBT 35292-2017标准规范下载简介
GBT 35292-2017 信息技术 开放虚拟化格式(OVF)规范GB/T352922017
VirtualSystemCollection元素是多个VirtualSystem或者VirtualSystemCollection元系的容器 可以描述任意复杂的配置。在VirtualSystemCollection层次,段元素描述器件信息、属性、资源需 等,这些信息将在第9章中描述。 VirtualSystemCollection元素的结构如下
本标准充许通过以下途径将自定义的元数据增加到OVF描述文件: ·作为Section替换组的一部分定义新的段元素。这在OVF模式允许段元素出现的位置使用, 所有Section的子类型包含一个Info元素。Info元素包含关于本实体的人类可读的描述。在 解析器不知道关于本段任何信息的情况下,也可以使用Info元素值。如,当一个段被忽略时, 可根据这个info给出有意义的警告信息。如何本地化Info元素的详细信息可见第10章; 。OVF模式使用开放的内容模型,所有已经存在的类型均可利用附加元素在末端扩展。扩展点 在OVF模式中使用带有namespace="##other"的xs:any声明文件进行声明; ·OVF模式充许在已经存在类型上附加属性。 自定义扩展不应使用在本标准定义的XML命名空间,该要求也适用于自定义元素和自定义属性 自定义元素通过一个布尔属性ovf:required指定在元素中的信息对于正确执行是必须的还是可选 若未指定,ovf:required属性默认的值为TRUE。一个OVF包的消费者检测到一个元素为必须, 无法理解,将会失败。 对于已知的段元素,若发现无法理解的额外的子元素并且ovf:required属性值为TRUE,OVF包 消费者应将整个段元素解释为无法理解。这种检查不是递归的,它仅仅适用于段元素的直接子元素
GB/T 51336-2018 地下结构抗震设计标准GB/T 352922017
这种行为确保旧的解析器拒绝新的OVF规范,除非有明确指令不这样执行。 在自定义属性中,信息对正确行为不应是必须的 示例1:
本标准定义了OVF包的三个符合性层次,1为符合性的最高层次。 ·OVF包描述文件仅使用本标准定义的段、元素、属性,满足以上要求是符合性层次1; ·OVF包描述文件使用自定义的段、元素、属性,这些信息不在本标准中定义,所有扩展是按照 7.3规定的定义,并且是可选的,满足以上要求是符合性层次2; OVF描述文件使用自定义的段、元素、属性,这些信息不在本标准中定义,至少有一个扩展是按 照7.3规定的定义,并且是必须的。所有必须的扩展应是在开放的XML模式中定义,并且可以 公开获取。完整的规范可以包含在XML模式文件中或者在另外一个单独的文档中。满足以 上要求是符合性层次3。 符合性层次3的使用限制了可移植性,如有可能宜尽量避免。 符合性层次并不是在OVF描述文件中直接指定.而是通过上述规则确定
8.1虚拟硬件段(VirtualHardwareSection)
每一个VirtualSystem元素可包含一个或者多个VirtualHardwareSection,每个VirtualHardware 10
GB/T352922017
GB/T 352922017
(rasd:ResourceSubType>buslogic lsilogic(/rasd:ResourceSubType
表2带有ovf:required属性的子元素的动作执
8.3虚拟硬件段的元素(Item)
GB/T352922017
表3HostResource元素
若对需要支持的设备不能提供支持,部署平台应作出合适的选择,如提示用户。不允许为一个设 定超过一个支持, 表4简要说明如何利用元素来描述虚拟设备和控制器
表4虚拟设备和控制器的元素
GB/T352922017
本表仅提到和描述设备直接相关的字段, 所有学段的详细描述,参见CIMMOF,每个学段在CIM ResourceAllocationSettingData类中都有对应的属性定义
本表仅提到和描述设备直接相关的学段 所有字段的详细描述,参见CIMMOF,每个学段在C esourceAllocationSettingData类中都有对应的属性定义
GB/T352922017
ovf:bound属性或者ovf:bound属性为normal的Item元素,该Item指定了默认值 对于仅仅指定min范围标记的Item元素,max值在属性有效值范围内没有上限; 对于仅仅指定max范围标记的Item元素,min值在属性有效值范围内没有下限; 默认值应在范围内; 在RASD范围标记中,使用非整数元素是无效的。 示例:下例是范围标记的用法的示例
核心元数据段定义的内容如表5所示
GB/T352922017
下面的小节描述了核心元数据段的语义,并提供了一些示例。有些段会在OVF信封的多个地方 使用,每个段在哪些地方可能会用到在段描述信息中给出。所有属性和元素的详细说明见OVF模式。 在OVF模式中,所有的段都是替换组的一部分,以Section元素作为替换组的头。Section元素是 抽象的,并且不能直接使用
9.1磁盘段(DiskSection)
GB/T352922017
对于每一个通过Disk元素表示的虚拟磁盘,应该有一个通过使用ovf:diskId属性给定的标识;这 标识在DisckSection中是唯一的。 通过ovf:capacity属性来指定虚拟磁盘的容量,这一属性是一个xs:long整型值。默认的分配单元 是字节。可以通过使用可选字符串属性ovf:capacityAllocationUnits来指定一个特殊的分配单元。 ovf:capacityAllocationUnits的值按照DSPoo4规定的编程单元格式定义,并且基本单位应该是字节。 通过确定Reference元素中存在一个File元素,ovf:fileRef属性用于表示虚拟磁盘内容,即,通过 匹配ovf:id属性值以及ovf:fileRef属性值,来确定File元素。忽略ovf:fileRef属性表示一个空磁盘 这种情况下,在安装时应该创建磁盘并且整个磁盘内容应该清空。客户机软件通常会按照某些文件系 统格式对空磁盘进行格式化。 通过ovf:format属性来指定一个非空的虚拟磁盘的格式URI(见5.2)。 不同的Disk元素不应该包括相同值的ovf:fileRef属性。Disk元素应该排序,这样就可以通过和 在Reference元素中定义的相同的次序来确定任何File元素。 对空磁盘来说,不是通过一个固定的值来指定虚拟磁盘容量,而是可以通过使用一个OVF属性标 明空磁盘的容量,如ovf:capacity="$《disk.size)"。这个OVF属性应该被解析为一个xs:long整型 值。OVF属性的描述可见9.5。在使用OVF属性时,可以使用ovf:capacityAllocationUnits属性,因 为可以通过提示用户来输人磁盘大小的信息,如,千兆字节。 对于非空的磁盘,可选地,实际使用大小可以通过ovf:populatedSize属性来指明。这个属性的单 位是字节。ovf:populatedSize可用来作为磁盘使用大小的估值,同时,其值不应大于ovf:capacity 的值。 在VirtualHardwareSection,虚拟磁盘设备可以有一个rasd:HostResource元素指向DiskSection 中一个Disk元素,见8.3。虚拟磁盘容量应该通过Disk元素里的ovf:capacity属性来定义。如果一个 rasd:VirtualQuantity元素和rask:HostResource元素一起指定,不应该考虑rasd:VirtualQuantity值 并且它可以是任何值 OVF允许将一个磁盘镜像表示为与父镜像进行比较不同而得出的一组修改后的块。如果一个 OVF包内包含多个相似内容的磁盘,父磁盘的使用通常可以显著降低这个OVF包的大小。对一个 Disk元素,可选地,可以通过ovf:parentRef属性指定一个父磁盘,该属性应该包括一个有效的ovf liskId指向一个不同的Disk元素。如果一个磁盘块不在本地存在,那么就在父磁盘查找这个磁盘块, 在DiskSection,父元素Disk元素应该出现在引用它的子Disk元素之前
9.2网络段(NetworkSection)
NetworkSection是一个在信封最外层有效的元素 在所有的VirtualHardwareSection元素中,所有指向Connection元素的网络都应该在Netwo tion中定义
GB/T 352922017
9.3资源分配段(ResourceAllocationSection)
注释段(AnnotationSecti
AnnotationSection是一个实体内用户定义的注释。这些注释可以在部署OVF包时显示。 (AnnotationSection)
(AnnotationSection)
9.5产品段(ProductSection)
ProductSection指定了虚拟器件的产品信息,比如:产品名称,版本,厂商等
GB/T352922017
GB/T 352922017
(Property ovl : key= (Property ovf:key="org.apache.tomcat.logLevel.1"ovf:value="debug"/) (Property ovf.key="org.apache.tomcat.logLevel.2"ovf:value="normal"/
GB/T352922017
表7列出了支持的类型限定符,其定义见DSPooo4。每个Property元素都可以使用ovf:qualifiers 属性来指定类型限定符,如果有多个类型限定符,使用逗号隔开。参见DSPO004中“MOF语法描述”的 产品限定符定义。
9.6最终用户许可协议段(EulaSection)
EulaSection包含使用其父元素Content元素需要遵守的法律条款。OVF包部署时,需要显示 午可证给用户,并且需要用户接受。 一个OVF包内可以包含多个EulaSection元素。如果允许自 装,那么所有的License段都是默认接受的。
GB/T 352922017
EulaSection是VirtualSystem和VirtualSystemCollection实体内的有效段。 关于如何本地化License段,请见第10章
9.7启动段(StartupSection
StartupSection说明OVF包中的虚拟机是如何上电和下电的。 (StartupSection) (Item ovf:id="vml"ovf:order="o"ovf:startDelay="3o" ovf:stopDelay="o" ovf:startAction="powerOn"ovf:waitingForGuest="true" ovf:stopAction="powerOff"/)
VirtualSystemCollection直属的每一个Content元素都在StartupSection实体中有一个对应的 tem元素。Item元素适用于VirtualSystem和VirtualSystemCollection实体。当执行VirtualSystem Collection实体中的启动或停止操作时,以指定的顺序调用StartupSection实体中各个Item元素相应 的行为。当StartupSection实体中的Item元素与一个(嵌套的)VirtualSystemCollection实体相对应 时,先调用VirtualSystemCollection实体中的Item元素中的行为,然后再调用StartupSection实体中 的Item元素的行为(比如:深度优先遍历)。 VirtualSystem和VirtualSystemCollection支持下列Item的必选属性: ovfid应该与VirtualSystemCollection的直属的content元素中的ovf:id的值相匹配, Content元素描述了Item元素中定义的行为适用的虚拟机或虚拟机集群。 ·ovf:order用非负整数指定了启动的顺序。启动的顺序是按照数字的升序排列,具有相同的顺 序的Item可以同时启动。停止的顺序是按照数字的降序排列。 VirtualSystem支持下列的可选属性: ovfstartDelay指定了执行到下一个次序前需要等待的时间,是一个秒级别的时延。默认值 是0; ·ovf:waitingForGuest充许在客户机软件报告它就绪以后,虚拟平台可以继续接原有顺序启动 该元系的解析与部署平台相关。默认值是FALSE; ·ovf:startAction指定了启动时的动作。有效的值是powerOn和none。默认值是powerOn; ovf:stopDelay指定了一个秒级别的时延,执行到上一个次序前需要等待的时间。默认值是O;
GB/T352922017
9.8部署选项段(DeploymentOptionSection
DeploymentOptionSection给出了一组离散的预配置资源的集合。OVF包的制作者可以为不同的 资源配置设定大小不等的元数据集合。OVF的消费者可以根据提示选择其中的一个配置。选中的配 置在OVF环境中是可见的,以便客户机软件去适应选择的配置。见第11章。 DeploymentOptionSection为每个配置指定一个ID,标签和描述
GB/T 352922017
需要注意的是Item中的ovf:configuration和ovf:bound属性可以联合使用来提供非常灵活的配 置选项。 配置甚至可以用来控制属性的默认值。对于ProductSection的Property元素,定义了下面额外的 语义规则: ,在DeploymentOptionSection中对于不同的配置可以提供可选择的默认属性值。除了Label元 素和Description元素,每一个Property元素还可以包含可选的Value元素。Value元素应该 有ovf:value属性,用来指定一个新的默认值,和ovf:configuration属性,用来指定新的默认值 在何种配置下被使用。多个Value元素不能指向同一个配置。 示例2:下面是一个ProductSection的示例
(ProductSection) (Property ovf:key="app.log" ovf:type="string"ovf:value="low"ovf:userConfigurable="true"> (Label> LoglevelLoglevel for the service 9.9操作系统段(OperatingSystemSection) OperatingSystemSection描述了一个虚拟机中安装的操作系统信息 GB/T352922017 (OperatingSystemSection ovf:id= "76" 9.10安装段(InstallSection) 户机软件在这个启动过程中访问OVF环境,并且在完成软件安装和/或配置后关闭客户机 如果InstallSection没有指定,则表明不需要通过虚拟机上电来完成客户机软件的安装。 《InstallSection ovf:initialBootStopDelay="30o"> InstallSection仅对VirtualSystem实体有效。 ovf:initialBootStopDelay是一个可选属性,用来指明等待虚拟机关闭电源的延迟时间(以秒为单 位)。如果延迟超时,而虚拟机仍没有关闭电源,OVF包的消费者应该给出失败指示。如果这个值没有 设置,执行过程应该等待虚拟机自身关闭电源。 需要注意的是,虚拟机上的客户机软件可能在虚拟机关闭电源前重启多次。 一个虚拟机集群内的多个VM可以定义一个installSection,这种情况下,每个VM都要进行上面 的步骤,这些步骤可能并发进行 以下元素使用可选的ovf:msgid属性来支持本地化内容。 ·Content的Info单元 ·Content的Name单元 ·Section的Info单元 ·AnnotationSection的Annotation单元 ·EulaSection的License单元 ·NetworkSection的Description单元 OperatingSystemSection的Description单元 . ProductSection的Description,Product,Vendor,Label和Category单元 Property的Description和Label单元 ·DeploymentOptionSection的Description和Label单元 ·VirtualHardwareSection的System单元的ElementName,Caption和Description子单元 ·VirtualHardwareSection的Item单元的ElementName,Caption和Description子单元 ·ResourceAllocationSection的Item单元的ElementName,Caption和Description子单元 ovf:msgid属性包括一个标识符.该标识符 GB/T 352922017 GB/T352922017 内部的和外部的Strings元素可能会重叠,这些元素均应该放置在Envelope元素的结尾处。如果 同时出现多个msg:id属性指定了本地区域,后面的覆盖前面的 OVF环境定义了客户机软件与部署平台之间交互的方式。该环境允许客户机软件访问部署平台 言息,如OVF描述文件中用户指定的属性值。 环境规范分为协议部分和传输部分,协议部分定义了客户机软件能访问的XML文档的格式和语 义,传输部分定义了部署平台和客户机软件信息通信的方式。 XML模式定义文件(详见附录B)sp80271.1.0.xsd的OVF环境部分,包括了相应的元素和属性 环境文档是扩展的XML文档DBJ61-65-2011 陕西省居住建筑节能设计标准.pdf,供客 输类型。 示例:下而是OVF环境文档结构的示例, PlatformSection元素包括一些平台提供的可选信息,Kind,Version,和Vendor描述了部署平台的 厂商信息,这些元素都是实验性的。Locale和TimeZone描述了当前的区域和时区,这些元素也是实验 性的。 PropertySection元素包含一些键/值对的Property元素,这些元素与OVF描述文件中该虚拟机相 GB/T 352922017 关的属性、以及其可能存在的直接父节点VirtualSystemCollection的属性相对应。环境将属性以简单 列表的形式呈现,以便于应用程序解析。而且,简单列表支持重写语义,即VirtualSystem的属性值可 以覆盖其父节点VirtualSystemCollection对应的属性值,被覆盖的属性不出现在列表中。当虚拟机和 其父节点有相同的ovf:key,ovf:class,和ovf:instance属性时,重写可能发生,见9.5。在这种情况下, 可以通过增加一个不同名字的子节点属性,用宏的方式指向该父节点属性的方式,来获得被重写的父节 点的属性值,见9.5。 如果有同族的VirtualSystem和VirtualSystemCollection存在的话,每个同族实体都应该有对应 的一个Entity元素。Entity元素的ovfenv:id属性值应当与其对应的同族实体的ovf:id相匹配。 Entity元素包含了同族实体的OVF环境文档中的键/值对属性,所以与某个特定同族实体相对应的 Entity元素应当包括被该同族实体看到的所有的PropertySection。例如,这些实体信息可以为多层应 用程序中的VirtualSystem提供IP地址等配置信息。 表8列出了核心段的定义 GB/T352922017 XML实例使用表1中定义的XML命名空间前缀。XML实例使用不指定子元素命名空间前缀的 风格。需要注意的是,XML规则明确了对没有指定命名空间前缀的子元素,使用其父元素的命名空 间,而非XML文档默认的命名空间。在整个文档中,为了提高可读性在XML元素值中使用了许多空 格。实际上,业务可以接受并去掉这些元素值前面和后面的空格,就如同这些空格没有被使用过一样。 除以下例外,增强的BNF(ABNF)语法定义使用IETFRFC5234中的定义: ·用“”分隔规则表达选择,而非使用ABNF中定义的“/” 任何字符都应当区分大小写,而非ABNF中定义的对大小写不敏感 句法元素间可以存在空格(即空格符合U十0020和制表符U十0009),而非ABNF中定义的组 合字符时不允许出现空格 XML实例使用表1中定义的XML命名空间前缀。XML实例使用不指定子元素命名空间前缀的 乱格。需要注意的是,XML规则明确了对没有指定命名空间前缀的子元素,使用其交元素的命名空 同,而非XML文档默认的命名空间。在整个文档中,为了提高可读性在XML元素值中使用了许多空 各。实际上,业务可以接受并去掉这些元素值前面和后面的空格,就如同这些空格没有被使用过一样。 除以下例外,增强的BNF(ABNF)语法定义使用IETFRFC5234中的定义: ·用“”分隔规则表达选择,而非使用ABNF中定义的“/” · 任何字符都应当区分大小写,而非ABNF中定义的对大小写不敏感 句法元素间可以存在空格(即空格符合U十0020和制表符U十0009),而非ABNF中定义的组 合字符时不允许出现空格 GB/T352922017 GB/T 50106-2010 建筑给水排水制图标准GB/T352922017