找回密码
 注册
查看: 10123|回复: 4

OpenStack 物理资源超荷配置

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-12-1 03:42:21 | 显示全部楼层 |阅读模式
物理CPU核数为12,能虚拟多少虚拟核的机器?openstack的默认使用nova hypersisor-stats获取到的vcpus值就是24(超线程),而虚拟内核和机器的内核数不是一一对应的。openstack的自有设置 openstack的配置文件/etc/nova/nova.conf中有配置#cpu_allocation_ratio=16.0#disk_allocation_ratio=1.0#ram_allocation_ratio=1.5
分别的都是真实内核和虚拟内核(16:1),真实内存和虚拟内存(1.5:1),真实磁盘盒虚拟磁盘(1:1)的比例,说明openstack是清楚的表示我们的vcpus应该是一个虚拟内核数,而不是计算节点的真实内核数。
解决办法
按照openstack提供的patch解决:https://review.openstack.org/#/c/93168/ 其实主要原理就是将我们的配置文件的值*真实内核,内存,得到我们的vcpu,vmemory,vdisk.
最终解决办法
没有按照官方的解决办法,因为官方的解决版本测试版本不正确。使用我们自己的解决办法。 实际解决办法: 在/usr/lib/python2.6/site-package/nova/api/openstack/compute/contrib/hypervisors.py的 245行加上:
stats['vcpus'] = int(stats['vcpus']*10)stats['memory_mb'] = int(stats['memory_mb']*1.2
143行加上:
hyp_dict['vcpus'] = int(hyp_dict['vcpus'])*10hyp_dict['memory_mb'] = int(hyp_dict['memory_mb'])*1.2
重启所有控制节点的nova-api服务,然后再查看结果,执行结果:
[root@node-5 nova]# nova hypervisor-show 1+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Property             | Value                                                                                                                                                                                                                                                                                           |+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| hypervisor_hostname  | node-12.domain.tld                                                                                                                                                                                                                                                                              || cpu_info             | {"vendor": "Intel", "model": "SandyBridge", "arch": "x86_64", "features": ["pdpe1gb", "osxsave", "dca", "pcid", "pdcm", "xtpr", "tm2", "est", "smx", "vmx", "ds_cpl", "monitor", "dtes64", "pbe", "tm", "ht", "ss", "acpi", "ds", "vme"], "topology": {"cores": 6, "threads": 2, "sockets": 1}} || free_disk_gb         | 1167                                                                                                                                                                                                                                                                                            || hypervisor_version   | 1002001                                                                                                                                                                                                                                                                                         || disk_available_least | 1105                                                                                                                                                                                                                                                                                            || local_gb             | 3667                                                                                                                                                                                                                                                                                            || free_ram_mb          | -62869                                                                                                                                                                                                                                                                                          || id                   | 1                                                                                                                                                                                                                                                                                               || vcpus_used           | 125                                                                                                                                                                                                                                                                                             || hypervisor_type      | QEMU                                                                                                                                                                                                                                                                                            || local_gb_used        | 2500                                                                                                                                                                                                                                                                                            || memory_mb_used       | 256512                                                                                                                                                                                                                                                                                          || memory_mb            | 193643                                                                                                                                                                                                                                                                                          || current_workload     | 0                                                                                                                                                                                                                                                                                               || vcpus                | 240                                                                                                                                                                                                                                                                                             || running_vms          | 21                                                                                                                                                                                                                                                                                              || service_id           | 25                                                                                                                                                                                                                                                                                              || service_host         | node-12.domain.tld                                                                                                                                                                                                                                                                              |+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
可以看到,1这个计算节点的vcpus数目成了240.

70

主题

73

回帖

1201

积分

网站编辑

积分
1201
发表于 2018-12-1 04:07:02 | 显示全部楼层
就个人目前所知,L版有3种方式配置cpu的超配比。当然有什么错误之处,还请见谅!
6 I9 {" r1 y4 \' s" k' p4 O& u5 @( |. E

! _! ~0 ^" C4 j. o. W' W: }
+ Y$ v- w$ `: C3 G6 M4 ka、AggregateCoreFilter的cpu_allocation_ratio metadata key/ W- M1 n# j. k# B! f. p- Q+ y3 f! k

+ A% L, N; a( D2 @4 I$ Y! r9 [     使用:nova aggregate-set-metadata 1 cpu_allocation_ratio=2.0: ]4 ?5 B: Y7 U( r( a, ?$ F

3 V: {' I) q8 K7 L9 ]. eb、compute node的配置文件nova.conf支持cpu_allocation_ratio参数设置
; w1 ^6 }7 @6 c1 a1 ~7 G
1 z" q! a/ S$ i- ^6 |% t$ Z. _c、原本的controller node nova.conf的cpu_allocation_ratio参数设置/ I, _( ?( ]" o$ L( S" p
) T0 x& |# K, ~# b2 I6 z

' Q! J" V7 u! Z- a2 Q8 U% s) O* b: }, w$ |$ g! c
优先级:a > b > c

40

主题

29

回帖

471

积分

新手上路

积分
471
发表于 2018-12-1 04:08:36 | 显示全部楼层
(1).版本:opensatck N版本8 `# C1 @/ V$ f6 U! G" Y$ @# K
. w0 z/ D8 v& d+ P  d
(2).kolla-ansible部署的云平台# n0 G5 C1 X8 \7 y8 n% ?0 G

5 |6 K6 K/ n5 t1 g& e% V方法如下:! O7 w! s7 z0 w, A7 }( V7 G

: f7 d* l1 z% B; h3 e. [  Z修改nova-schelder下nova.conf配置文件,添加一条信息:cpu_allocation_ratio=4.0 。还需要在schler调度原则上加一条规则:corefilter。然后重启nova-schelder 容器则生效。9 S1 A2 J- c" t6 a1 Z

$ d; r! Y/ z; E- m/ j4 h1 \
+ ~( i* k% ~9 J; B/ d5 ]: F/ F9 h" H
(3).非容器部署的N版本opensatck。
) _" {' f+ o3 U: S7 N( i7 h3 ~+ O1 H* T7 Q) X
同以上(2),直接修改nova.conf配置文件 重启nova相关服务则生效。: \% g  r9 \; c) l% [+ S7 z
---------------------
9 J( o6 e8 n( @+ h5 M; @
admin01 该用户已被删除
发表于 2018-12-9 09:57:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-12-20 10:33:42 | 显示全部楼层
默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。2 R+ b% S! H9 t2 C/ _
#cpu_allocation_ratio=16.0
) Y$ P' ^0 D* Q% H9 A0 g + d+ Q9 c% D+ w4 P" j
#ram_allocation_ratio=1.5
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 02:39 , Processed in 0.018331 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表