找回密码
 注册
查看: 4610|回复: 3

openstack cpu、内存超分设置

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-10-9 12:29:12 | 显示全部楼层 |阅读模式
配置文件nova.conf中修改控制节点
2 }( [/ f0 M, ~! X: N9 J2 v4 d1 X2 V+ g& `# h
systemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service
' ^" J$ C. h8 G9 A& I4 ?8 I默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。
/ x* L2 f0 G3 l9 b8 W; r3 p* W, z" E$ T1 H$ n
不过一般不建议超分太多,对于私有云来说,意义不大。对于公有云那就是黑心商家了。。。
. l* d* f3 L" R: g# q& C$ r; M8 L8 M/ r) u' v
#cpu_allocation_ratio=16.0
* t9 }* E0 q7 p
2 u( d& `6 g' }; w3 H#ram_allocation_ratio=1.5% ?9 F2 C5 m$ B3 r; F% H; e
1 p5 b4 i! o2 v$ n2 q6 ^* E& w; @
当然了,这个值其实是给nova-scheduler看的,人家来决定,你有没有资源创建虚拟机,以及创建在哪个节点上。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-11-26 17:34:50 | 显示全部楼层
内存和磁盘超配虽然能提供更多数量的虚拟机,当该宿主机上大量虚拟机的负载都很高时,轻着影响虚拟机性能,重则引起 qemu-kvm 相关进程被杀,即虚拟机被关机。因此对于线上稳定性要求高的业务,建议不要超配 RAM 和 DISK,但可适当超配 CPU。建议这几个参数设置为:
CPU: CONF.cpu_allocation_ratio = 4RAM: CONF.ram_allocation_ratio = 1.0DISK: CONF.disk_allocation_ratio = 1.0RAM-Reserve: CONF.reserved_host_memory_mb = 2048DISK-Reserve: CONF.reserved_host_disk_mb = 20480
在OpenStack中,默认的CPU超配比例是1:16,内存超配比例是1:1.5。当宿主机使用swap交换分区来为虚拟机分配内存的时候,则虚拟机的性能将急速下降。生产环境上不建议开启内存超售(建议配置比例1:1)。另外,建议设置nova.conf文件中的reserved_host_memory_mb 参数,即内存预留量(建议至少预留4GB),保证该部分内存不能被虚拟机使用。
vim /etc/nova/nova.conf
[DEFAULT]reserved_host_memory_mb=4096#磁盘预留空间,这部分空间不能被虚拟机使用reserved_host_disk_mb= 10240
默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。
物理cpu数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
单块cpu核数
cat /proc/cpuinfo| grep "cpu cores"|wc -l
总核数 = 物理CPU个数 × 每颗物理CPU的核数
cpu和内存的超售目的就是为了资源利用的最大化
配置文件nova.conf中修改了如下参数
[DEFAULT]cpu_allocation_ratio=16.0ram_allocation_ratio=1.5
想要让超算生效还需要修改一个配置core filter 核心过滤器$ a9 O. e; D! o& M8 ^
nova.conf配置文件添加超算配置以后,还需要在schler调度原则上加一条规则:corefilter ,然后重启nova-schelder服务生效。1 h7 k* Q% r. T$ T$ E" o: Z. g9 Z3 ]
CPU超售的详细说明与使用方法
这个值其实是给nova-scheduler看的,scheduler来决定,你有没有资源创建虚拟机,以及创建在哪个节点上。
0 Q7 Z* `6 q8 q7 x+ L; a, R

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-11-26 17:35:07 | 显示全部楼层
内存和磁盘超配虽然能提供更多数量的虚拟机,当该宿主机上大量虚拟机的负载都很高时,轻着影响虚拟机性能,重则引起 qemu-kvm 相关进程被杀,即虚拟机被关机。因此对于线上稳定性要求高的业务,建议不要超配 RAM 和 DISK,但可适当超配 CPU。建议这几个参数设置为:
3 \5 i+ Y; n, x: I: x* Z; ^" Z7 A# Y' |" l
CPU: CONF.cpu_allocation_ratio = 4
- g8 O: G0 _1 y; T" l) QRAM: CONF.ram_allocation_ratio = 1.07 B0 u& N& F6 X+ j& F7 o
DISK: CONF.disk_allocation_ratio = 1.0( m; r. O+ b7 {5 D
RAM-Reserve: CONF.reserved_host_memory_mb = 2048: a+ g1 z% P1 P9 F2 g7 [. _
DISK-Reserve: CONF.reserved_host_disk_mb = 20480
( z( [& z2 f+ q: T/ X9 Y! h6 O* ?在OpenStack中,默认的CPU超配比例是1:16,内存超配比例是1:1.5。当宿主机使用swap交换分区来为虚拟机分配内存的时候,则虚拟机的性能将急速下降。生产环境上不建议开启内存超售(建议配置比例1:1)。另外,建议设置nova.conf文件中的reserved_host_memory_mb 参数,即内存预留量(建议至少预留4GB),保证该部分内存不能被虚拟机使用。8 u! y" l" e; P
5 o' L) ?7 X# j- H* m# b. U- v
vim /etc/nova/nova.conf6 z+ q; v* y% l# h: Z9 C/ C

6 F4 T+ e8 ~" Q[DEFAULT]
- J+ a4 y0 I' Q2 c9 l. ^: v3 ^reserved_host_memory_mb=4096
: r7 k/ Y+ q9 ^: Z2 A/ c. z2 ]) ^5 u- i( e5 H! @
#磁盘预留空间,这部分空间不能被虚拟机使用& I6 ?7 f7 J' }
reserved_host_disk_mb= 10240 % y0 b1 `) n" B2 Y1 i' b; B
默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。
1 ^% L# f  c4 P# x$ r3 R& F$ M: }( u, _" d% u
物理cpu数
6 w: r# m5 y# w5 Z' ~" c7 E' D, F
" @' g* s! f& i0 m2 Mcat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l3 ^0 h& t- P. ]! ~+ c1 C
单块cpu核数
, _1 ]" N. ]+ ~
0 ?0 a, W& Y$ ^" J4 zcat /proc/cpuinfo| grep "cpu cores"|wc -l. c0 O/ r/ ^2 \2 Z' X! {
总核数 = 物理CPU个数 × 每颗物理CPU的核数( \: E$ p. g* L( i# @7 |
1 W1 i# b0 }0 z+ {7 D
cpu和内存的超售目的就是为了资源利用的最大化
7 d4 N1 u, l9 t4 }! n
  u' O' ^7 }- k' X4 R4 i) k配置文件nova.conf中修改了如下参数
8 d0 f, B- x5 \+ g# j* q1 v
! {% M# `5 N* O! p3 i7 i[DEFAULT]
" U' W0 x: S. Acpu_allocation_ratio=16.0
) C- S7 d1 R7 R8 r! b" Z( Tram_allocation_ratio=1.5. s0 N9 k3 u' V1 c7 v' U' f
想要让超算生效还需要修改一个配置core filter 核心过滤器& |7 U8 y! h: M: q& e, d
nova.conf配置文件添加超算配置以后,还需要在schler调度原则上加一条规则:corefilter ,然后重启nova-schelder服务生效。
4 P1 f! \7 s( u& t6 @4 uCPU超售的详细说明与使用方法
, {" u4 b. [% p/ E9 i* K
& E5 J9 T: V8 S( D$ l3 I
/ }7 a/ k4 ^7 h# Y  ]
  e( J$ ?3 o2 e! M9 q, H* b这个值其实是给nova-scheduler看的,scheduler来决定,你有没有资源创建虚拟机,以及创建在哪个节点上。% }2 t/ J# E7 X9 U
" g! I2 B( [4 R% \8 m9 ]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-12-1 17:05:44 | 显示全部楼层
当cpu或内存超分设置nova.conf中cpu_allocation_ratio和ram_allocation_ratio后,只需重启控制节点的nova-scheduler服务便可。this
, z/ L6 m! m0 T0 l
/ x: @4 o" C4 M2 a以前一直觉得在配置文件中注释掉这两行就是不超分了,屡次实验不对劲,直到看了一下源码:spa
( Q6 x8 u, u3 k( Z0 w1 M9 H* {0 |
, {9 E( C1 {% V" k6 e/ Tram_allocation_ratio_opt = cfg.FloatOpt('ram_allocation_ratio',
6 |, v# ?6 D8 _; j/ |( H& m4 g6 s        default=1.5,
* m" F1 d$ S9 d# ]: K        help='Virtual ram to physical ram allocation ratio which affects '( B  b$ E: C+ y8 ?1 z. \; `9 d
             'all ram filters. This configuration specifies a global ratio '/ h/ h4 l  Q" ~3 M
             'for RamFilter. For AggregateRamFilter, it will fall back to '
+ T, \! E7 j0 `* ^+ p! M* q             'this configuration value if no per-aggregate setting found.')
( i* `; p9 N9 }
% ?# B! x% W$ s" q# z1 ^2 A3 u: J* q8 O7 V3 N

8 X/ b1 L& d# _* O: Xcpu_allocation_ratio_opt = cfg.FloatOpt('cpu_allocation_ratio',
/ e  G7 H0 \) A* t0 e        default=16.0,
: X+ d; ^/ L# A        help='Virtual CPU to physical CPU allocation ratio which affects '
. a  n: c: X, K5 S3 e0 h. [             'all CPU filters. This configuration specifies a global ratio '
2 ]7 |2 g5 d: h! Q+ R$ \4 B             'for CoreFilter. For AggregateCoreFilter, it will fall back to '
0 {6 U' C, b8 J  M             'this configuration value if no per-aggregate setting found.')
! n; i7 ]; X$ Y( J# W& h1 x, p  z, W
5 ~% `9 R, X( Z因此说,不超分的话要写成1.0内存
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 01:00 , Processed in 0.018563 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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