searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

4.0 flavor属性字段含义及创建示例

2023-12-14 05:55:10
47
0

参考gostack中flavor结构体属性字段如下:

名称 类型 说明
Id string 规格id
Name string 规格名称
Core int 虚机vCPU数量
Memory int64 虚机内存大小,单位为Byte
CpuPolicy string CPU绑定策略:共享型为Shared, 独占型为Dedicated,不分配numa为Default
CpuMode string numa数量模式:prefer尽力分配指定的numaNode, strict严格按numaNode分配
Disk int 系统盘大小
ExtraSpecs map[string]interface{} 额外配置
CreatedAt int64 创建时间
UpdatedAt int64 更新时间
CreatedBy string 创建来源
UpdatedBy string 更新来源
Description string 描述
Version int64 版本号
MultiQueue uint 网卡多队列

其中ExtraSpecs属性较为复杂,包含各种类型的key和value对虚机进行额外配置:

   "hw"//标签,一般为规格类型加代系:s7-public
NumaNodes      "hw:numa_nodes" //NumaNode个数 (当前策略虚机拓扑与宿主机一致) 3、6、7代机8c及以下为1,8c以上为2
PageSize       "hw:mem_page_size" //大页内存每页大小,单位为Byte
RealTimeMask   "hw:cpu_realtime_mask" //指定哪些cpu被调度为实时cpu,剩余为非实时:2-7(0,1为非实时)
RealTime       "hw:cpu_realtime" //cpu实时是否开启:yes
CpuShares      "quota:cpu_shares" //为域共享 CPU 的时间。这个值只有在对同一个域中的其它机器加权重的情况下才有意义。一个云主机类型的相关值为 ‘200’ 的实例会获得比相关值为 ‘100’ 的实例多一倍的机器时间
CpuPeriod      "quota:cpu_period" //强制 cpu_quota 限制的时间(以 ms 为单位)。在指定的 cpu_period 时间中,每个 vCPU 不能占用超过 cpu_quota 的运行时。这个值的范围必须是 [1000, 1000000],’0’ 代表没有值
CpuQuota       "quota:cpu_quota" //在每个 cpu_period 时间段中 vCPU 所允许的最大带宽(以 ms 为单位)。这个值的范围必须是 [1000, 18446744073709551],’0’ 代表没有值,负值代表 vCPU 不被控制。cpu_quota 和 cpu_period 可以被用来保证所有 vCPU 以相同的速度运行。
CpuMaxSockets  "hw:cpu_max_sockets" //cpu最大插槽数量
CpuMaxCores    "hw:cpu_max_cores" //cpu最大内核数量
CpuMaxThreads  "hw:cpu_max_threads" //cpu最大线程数量
CpuSockets     "hw:cpu_sockets" //cpu首选插槽数量
CpuCores       "hw:cpu_cores" //cpu首选内核数量
CpuThreads     "hw:cpu_threads" //cpu首选线程数量
SmbiosMode     "guest:smbios_mode" //定制guest的smbios信息
FirmWare       "hw_firmware_type" //固件类型
BootMenu       "hw_boot_menu" //启动菜单
VGPUType       "aggregate_instance_extra_specs:VGPU" //vGpu型号
VGPU           "resources:VGPU" //指定虚拟GPU个数:1
AutoDeflate    "guest:balloon_autodeflate" //设置自动收缩特性:on, off
MachineType    "hw:hw_machine_type" //机器类型
VideoModel     "hw:hw_video_model" //视频模型
 
使用gs命令创建各代系规格示例如下所示,包含2、3、6、7代的共享型和独占型云主机规格:
# s3
gs flavor create 
 --name s3.large.2  # 规格名称
 --core 2 			 # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Shared     # 绑核策略,S3需要设置为Shared,C3和M3需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="s3_public","hw:numa_nodes"=2  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag,numa数numa_nodes //todo
 --multi_queue 1     # 网卡多队列,根据产品需求规格设置
 --mode strict     # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name s3.2xlarge.2 --core 8 --memory 16G --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s3_public","hw:numa_nodes"=2 --multi_queue 2 --mode strict

# c3,m3
gs flavor create 
 --name c3.large.2   # 规格名称
 --core 2            # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Dedicated  # 绑核策略,S3需要设置为Shared,C3和M3需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag //todo
 --multi_queue 2     # 网卡多队列,根据产品需求规格设置
 --mode strict        # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name c3.4large.4 --core 16 --memory 64G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
gs flavor create --name m3.large.8 --core 2 --memory 16384M --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict 
gs flavor create --name m3.4large.8 --core 16 --memory 128G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict

# s6
gs flavor create 
 --name s6.large.2  # 规格名称
 --core 2 			 # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Shared     # 绑核策略,S6需要设置为Shared,C6和M6需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="s6_public","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag,numa数hw:numa_nodes //todo
 --multi_queue 1     # 网卡多队列,根据产品需求规格设置
 --mode strict	     #cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name s6.2xlarge.2 --core 8 --memory 16G --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s6_public","hw:numa_nodes"=2 --multi_queue 2 --mode strict

# c6,m6
gs flavor create 
 --name c6.large.2   # 规格名称
 --core 2            # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Dedicated  # 绑核策略,S6需要设置为Shared,C6和M6需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag //todo
 --multi_queue 2     # 网卡多队列,根据产品需求规格设置
 --mode strict        # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name c6.4large.4 --core 16 --memory 64G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
gs flavor create --name m6.large.8 --core 2 --memory 16384M --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict 
gs flavor create --name m6.4large.8 --core 16 --memory 128G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict

# s7
gs flavor create  
   --name s7.large.2 # 规格名称 
   --core 2 # CPU个数 
   --memory 4096M # 内存大小,可使用M或者G明确标注单位 
   --policy Shared # 绑核策略,S7需要设置为Shared,C7和M7需要设置为Dedicated 
   --spec "hw:mem_page_size"="1048576","hw"="s7_public","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag,numa数hw:numa_nodes //todo 
   --multi_queue 1 # 网卡多队列,根据产品需求规格设置 
   --mode strict #cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name s7.large.2 --core 2 --memory 4096M --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s7_public","hw:numa_nodes"=1 --multi_queue 1 --mode strict
gs flavor create --name s7.2xlarge.2 --core 8 --memory 16G --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s7_public","hw:numa_nodes"=2 --multi_queue 2 --mode strict

# c7,m7
gs flavor create  
   --name c7.large.2  # 规格名称 
   --core 2      # CPU个数 
   --memory 4096M      # 内存大小,可使用M或者G明确标注单位 
   --policy Dedicated  # 绑核策略,S7需要设置为Shared,C7和M7需要设置为Dedicated 
   --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag //todo 
   --multi_queue 2     # 网卡多队列,根据产品需求规格设置 
   --mode strict        # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name c7.large.2 --core 2 --memory 4096M --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict
gs flavor create --name c7.12large.4 --core 48 --memory 96G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
gs flavor create --name m7.large.8 --core 2 --memory 16G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict 
gs flavor create --name m7.4xlarge.8 --core 16 --memory 128G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
 
0条评论
作者已关闭评论
w****n
1文章数
0粉丝数
w****n
1 文章 | 0 粉丝
w****n
1文章数
0粉丝数
w****n
1 文章 | 0 粉丝
原创

4.0 flavor属性字段含义及创建示例

2023-12-14 05:55:10
47
0

参考gostack中flavor结构体属性字段如下:

名称 类型 说明
Id string 规格id
Name string 规格名称
Core int 虚机vCPU数量
Memory int64 虚机内存大小,单位为Byte
CpuPolicy string CPU绑定策略:共享型为Shared, 独占型为Dedicated,不分配numa为Default
CpuMode string numa数量模式:prefer尽力分配指定的numaNode, strict严格按numaNode分配
Disk int 系统盘大小
ExtraSpecs map[string]interface{} 额外配置
CreatedAt int64 创建时间
UpdatedAt int64 更新时间
CreatedBy string 创建来源
UpdatedBy string 更新来源
Description string 描述
Version int64 版本号
MultiQueue uint 网卡多队列

其中ExtraSpecs属性较为复杂,包含各种类型的key和value对虚机进行额外配置:

   "hw"//标签,一般为规格类型加代系:s7-public
NumaNodes      "hw:numa_nodes" //NumaNode个数 (当前策略虚机拓扑与宿主机一致) 3、6、7代机8c及以下为1,8c以上为2
PageSize       "hw:mem_page_size" //大页内存每页大小,单位为Byte
RealTimeMask   "hw:cpu_realtime_mask" //指定哪些cpu被调度为实时cpu,剩余为非实时:2-7(0,1为非实时)
RealTime       "hw:cpu_realtime" //cpu实时是否开启:yes
CpuShares      "quota:cpu_shares" //为域共享 CPU 的时间。这个值只有在对同一个域中的其它机器加权重的情况下才有意义。一个云主机类型的相关值为 ‘200’ 的实例会获得比相关值为 ‘100’ 的实例多一倍的机器时间
CpuPeriod      "quota:cpu_period" //强制 cpu_quota 限制的时间(以 ms 为单位)。在指定的 cpu_period 时间中,每个 vCPU 不能占用超过 cpu_quota 的运行时。这个值的范围必须是 [1000, 1000000],’0’ 代表没有值
CpuQuota       "quota:cpu_quota" //在每个 cpu_period 时间段中 vCPU 所允许的最大带宽(以 ms 为单位)。这个值的范围必须是 [1000, 18446744073709551],’0’ 代表没有值,负值代表 vCPU 不被控制。cpu_quota 和 cpu_period 可以被用来保证所有 vCPU 以相同的速度运行。
CpuMaxSockets  "hw:cpu_max_sockets" //cpu最大插槽数量
CpuMaxCores    "hw:cpu_max_cores" //cpu最大内核数量
CpuMaxThreads  "hw:cpu_max_threads" //cpu最大线程数量
CpuSockets     "hw:cpu_sockets" //cpu首选插槽数量
CpuCores       "hw:cpu_cores" //cpu首选内核数量
CpuThreads     "hw:cpu_threads" //cpu首选线程数量
SmbiosMode     "guest:smbios_mode" //定制guest的smbios信息
FirmWare       "hw_firmware_type" //固件类型
BootMenu       "hw_boot_menu" //启动菜单
VGPUType       "aggregate_instance_extra_specs:VGPU" //vGpu型号
VGPU           "resources:VGPU" //指定虚拟GPU个数:1
AutoDeflate    "guest:balloon_autodeflate" //设置自动收缩特性:on, off
MachineType    "hw:hw_machine_type" //机器类型
VideoModel     "hw:hw_video_model" //视频模型
 
使用gs命令创建各代系规格示例如下所示,包含2、3、6、7代的共享型和独占型云主机规格:
# s3
gs flavor create 
 --name s3.large.2  # 规格名称
 --core 2 			 # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Shared     # 绑核策略,S3需要设置为Shared,C3和M3需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="s3_public","hw:numa_nodes"=2  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag,numa数numa_nodes //todo
 --multi_queue 1     # 网卡多队列,根据产品需求规格设置
 --mode strict     # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name s3.2xlarge.2 --core 8 --memory 16G --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s3_public","hw:numa_nodes"=2 --multi_queue 2 --mode strict

# c3,m3
gs flavor create 
 --name c3.large.2   # 规格名称
 --core 2            # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Dedicated  # 绑核策略,S3需要设置为Shared,C3和M3需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag //todo
 --multi_queue 2     # 网卡多队列,根据产品需求规格设置
 --mode strict        # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name c3.4large.4 --core 16 --memory 64G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
gs flavor create --name m3.large.8 --core 2 --memory 16384M --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict 
gs flavor create --name m3.4large.8 --core 16 --memory 128G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm3_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict

# s6
gs flavor create 
 --name s6.large.2  # 规格名称
 --core 2 			 # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Shared     # 绑核策略,S6需要设置为Shared,C6和M6需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="s6_public","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag,numa数hw:numa_nodes //todo
 --multi_queue 1     # 网卡多队列,根据产品需求规格设置
 --mode strict	     #cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name s6.2xlarge.2 --core 8 --memory 16G --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s6_public","hw:numa_nodes"=2 --multi_queue 2 --mode strict

# c6,m6
gs flavor create 
 --name c6.large.2   # 规格名称
 --core 2            # CPU个数
 --memory 4096M      # 内存大小,可使用M或者G明确标注单位
 --policy Dedicated  # 绑核策略,S6需要设置为Shared,C6和M6需要设置为Dedicated
 --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag //todo
 --multi_queue 2     # 网卡多队列,根据产品需求规格设置
 --mode strict        # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name c6.4large.4 --core 16 --memory 64G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
gs flavor create --name m6.large.8 --core 2 --memory 16384M --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict 
gs flavor create --name m6.4large.8 --core 16 --memory 128G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm6_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict

# s7
gs flavor create  
   --name s7.large.2 # 规格名称 
   --core 2 # CPU个数 
   --memory 4096M # 内存大小,可使用M或者G明确标注单位 
   --policy Shared # 绑核策略,S7需要设置为Shared,C7和M7需要设置为Dedicated 
   --spec "hw:mem_page_size"="1048576","hw"="s7_public","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag,numa数hw:numa_nodes //todo 
   --multi_queue 1 # 网卡多队列,根据产品需求规格设置 
   --mode strict #cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name s7.large.2 --core 2 --memory 4096M --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s7_public","hw:numa_nodes"=1 --multi_queue 1 --mode strict
gs flavor create --name s7.2xlarge.2 --core 8 --memory 16G --policy Shared --spec "hw:mem_page_size"="1048576","hw"="s7_public","hw:numa_nodes"=2 --multi_queue 2 --mode strict

# c7,m7
gs flavor create  
   --name c7.large.2  # 规格名称 
   --core 2      # CPU个数 
   --memory 4096M      # 内存大小,可使用M或者G明确标注单位 
   --policy Dedicated  # 绑核策略,S7需要设置为Shared,C7和M7需要设置为Dedicated 
   --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=1  # 额外属性,例如大页`hw:mem_page_size`要根据实际情况设置,调度tag //todo 
   --multi_queue 2     # 网卡多队列,根据产品需求规格设置 
   --mode strict        # cpu numa亲和严格策略,必须配置numa node,并严格匹配

gs flavor create --name c7.large.2 --core 2 --memory 4096M --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict
gs flavor create --name c7.12large.4 --core 48 --memory 96G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
gs flavor create --name m7.large.8 --core 2 --memory 16G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=1 --multi_queue 2 --mode strict 
gs flavor create --name m7.4xlarge.8 --core 16 --memory 128G --policy Dedicated --spec "hw:mem_page_size"="1048576","hw"="cm7_optimized","hw:numa_nodes"=2 --multi_queue 8 --mode strict
 
文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0