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

openstack cpu、内存超分设置

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-10-9 12:29:12 | 显示全部楼层 |阅读模式
配置文件nova.conf中修改控制节点3 Z. O8 @; p& W/ k7 g

3 X+ }8 r  [' U# T- j. d9 B  isystemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service, d) O% O' f9 n8 r
默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。
' B/ U3 f2 V$ p/ j& R/ _6 S2 \4 g; x0 B
不过一般不建议超分太多,对于私有云来说,意义不大。对于公有云那就是黑心商家了。。。+ k0 u9 Q, c: P" B8 X  O; c. C2 e

8 i, N4 ~$ E& X8 B#cpu_allocation_ratio=16.0. C& P9 u8 o, ~' Y
! R) l5 P" r- M0 O
#ram_allocation_ratio=1.5
# Y6 D2 H+ H: g0 l1 e! O4 \7 E) e' @7 Y/ 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 核心过滤器
9 X) H0 H3 v+ O3 i0 Rnova.conf配置文件添加超算配置以后,还需要在schler调度原则上加一条规则:corefilter ,然后重启nova-schelder服务生效。) W% D# {: l1 M
CPU超售的详细说明与使用方法
这个值其实是给nova-scheduler看的,scheduler来决定,你有没有资源创建虚拟机,以及创建在哪个节点上。
; b$ _( P( Y% Q

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-11-26 17:35:07 | 显示全部楼层
内存和磁盘超配虽然能提供更多数量的虚拟机,当该宿主机上大量虚拟机的负载都很高时,轻着影响虚拟机性能,重则引起 qemu-kvm 相关进程被杀,即虚拟机被关机。因此对于线上稳定性要求高的业务,建议不要超配 RAM 和 DISK,但可适当超配 CPU。建议这几个参数设置为:8 n: m0 J9 Q5 ^# C& X; g( F8 P9 L
7 E7 r6 [, D9 W3 ~
CPU: CONF.cpu_allocation_ratio = 4$ ^- ?& O% M8 E2 g& M4 i# M
RAM: CONF.ram_allocation_ratio = 1.0& O) U' |) C5 g& A& Y! D& L' u
DISK: CONF.disk_allocation_ratio = 1.0
, B# ?3 Z, E# A# o+ ?RAM-Reserve: CONF.reserved_host_memory_mb = 2048
5 N1 w* v+ `- z. SDISK-Reserve: CONF.reserved_host_disk_mb = 204804 d  j( ]3 R) v
在OpenStack中,默认的CPU超配比例是1:16,内存超配比例是1:1.5。当宿主机使用swap交换分区来为虚拟机分配内存的时候,则虚拟机的性能将急速下降。生产环境上不建议开启内存超售(建议配置比例1:1)。另外,建议设置nova.conf文件中的reserved_host_memory_mb 参数,即内存预留量(建议至少预留4GB),保证该部分内存不能被虚拟机使用。1 [- v" N9 S1 e7 h
+ H- F# ^  h3 I9 K
vim /etc/nova/nova.conf
/ M+ m' n0 M* f* F1 R" A+ I% h6 W. L' O6 L/ k# W
[DEFAULT]
1 s6 v# i" w" N9 m/ R) l) k4 T- q8 dreserved_host_memory_mb=4096
5 I; a3 b! \# q' w- }" |& o6 x) X; L8 y" w8 `* p7 q. u
#磁盘预留空间,这部分空间不能被虚拟机使用- Z( ]& E5 |  I+ r& @
reserved_host_disk_mb= 10240
! G4 a: w( X3 ^! n默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。
! L9 T+ `) [- b2 b4 Y1 P9 H/ D4 ~
' f! ^' |) @5 m' H" T  u% M  H物理cpu数
0 D/ P! ]( |, v. D% L
7 T, ~; ~5 l3 B! e: t1 j; |' Ycat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
$ I3 @. e+ v/ X7 K3 j1 g单块cpu核数8 X1 q" r! q+ s& c+ A6 \2 z

8 @* h% D+ g4 H  D/ E+ q, kcat /proc/cpuinfo| grep "cpu cores"|wc -l
6 D9 I# ?* v& t& ~7 }8 B: O4 K6 I总核数 = 物理CPU个数 × 每颗物理CPU的核数) N5 s4 I" c) x, n

# F2 N' a5 ^+ ?( }5 M3 e, l$ Dcpu和内存的超售目的就是为了资源利用的最大化  _* _* g8 K5 V1 _( a
( J4 R$ w: q, C+ k* t; Y& e
配置文件nova.conf中修改了如下参数
# P: G" {! `: O. O% }
( e2 e/ A7 W0 H3 c7 R) r* T& R[DEFAULT]
3 e5 Y/ l" q1 @+ }) t- `+ ?: M$ wcpu_allocation_ratio=16.0# T: k6 D% C0 `  w! T  P3 R% a
ram_allocation_ratio=1.50 u1 I3 n2 u+ ~' H
想要让超算生效还需要修改一个配置core filter 核心过滤器
9 t$ h/ u  ?. S4 P0 x5 I1 P1 gnova.conf配置文件添加超算配置以后,还需要在schler调度原则上加一条规则:corefilter ,然后重启nova-schelder服务生效。
1 J2 z9 d# l/ q/ o1 j! q5 J# o3 kCPU超售的详细说明与使用方法
! k0 g. U0 L( i0 w3 d" d3 P) R
/ ]' l1 C# T0 H  {/ f, x
. ^3 {3 |9 C- l/ k6 `- C4 q1 Z* H& }' d. M" O
这个值其实是给nova-scheduler看的,scheduler来决定,你有没有资源创建虚拟机,以及创建在哪个节点上。* b( \8 ^. o2 v9 Z# A
1 u( {" |% Y% X1 Z- [/ V! z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-12-1 17:05:44 | 显示全部楼层
当cpu或内存超分设置nova.conf中cpu_allocation_ratio和ram_allocation_ratio后,只需重启控制节点的nova-scheduler服务便可。this
5 P! d% b9 {6 a4 B$ T/ G( _5 z. R1 O
以前一直觉得在配置文件中注释掉这两行就是不超分了,屡次实验不对劲,直到看了一下源码:spa& V* F. h: C6 ]9 ^: d$ Z6 I
+ r9 o* ]8 ?" S% r! ~3 }& A. K/ L* R) e
ram_allocation_ratio_opt = cfg.FloatOpt('ram_allocation_ratio',
: B" l: m8 n1 u" ]0 O8 u- W        default=1.5,' ]5 f; P+ F* [/ E+ V% k) O
        help='Virtual ram to physical ram allocation ratio which affects '/ p* e5 C. m9 D) |9 _1 r8 `
             'all ram filters. This configuration specifies a global ratio '
: Y1 _0 L9 X" Y8 N# d7 r             'for RamFilter. For AggregateRamFilter, it will fall back to '9 X. k/ z. t% Y! ]: T, y
             'this configuration value if no per-aggregate setting found.')
  h$ R6 w. E7 Q! A1 q& w1 z5 G
6 Q( E7 ^" x. |6 @, F& A' g  R
+ q* M& Z: q) @" @
cpu_allocation_ratio_opt = cfg.FloatOpt('cpu_allocation_ratio',0 D$ j( G# A0 T0 E" x3 y
        default=16.0,
0 C  j9 v1 {" N* O2 h. K# t6 C: J) U        help='Virtual CPU to physical CPU allocation ratio which affects '
9 Q6 A( S- y/ q             'all CPU filters. This configuration specifies a global ratio '
# R: ?9 h* [2 ?1 `0 P- m* V             'for CoreFilter. For AggregateCoreFilter, it will fall back to '
3 p# I9 e6 P3 I& P" |6 p             'this configuration value if no per-aggregate setting found.')
. W6 V$ [8 C8 R* p# V0 b+ G/ H9 }1 t! P7 ?% Z# j3 n% J; `' r
因此说,不超分的话要写成1.0内存
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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