CPUのovercommitについて

986 views
Skip to first unread message

saeki

unread,
Jun 29, 2015, 6:42:53 PM6/29/15
to openst...@googlegroups.com

現在Junoの3台構成(controller、network、compute01)でテスト環境を構築しています。

使用できるマシンが非力なのですが、一応テストできる状態になりました。

そこで、ハイパーバイザーのステータスを見て気がついたのですが、CPU,メモリーが
オーバーコミットされていないように見えます。
色々な構築ドキュメントにはKVMはオーバーコミットをサポートしていて、設定もnova.confのallocation部分と
記載されているように見えます。

packstackのkiloでも試してみましたが、表示上のVCPUは実CPUの値になっています。
他に設定項目があるのでしょうか、オーバーコミットの設定方法を教えてください。

よろしくお願いします。

参考

nova設定
[root@compute01 ~]# cat /etc/nova/nova.conf | grep allocation
# Number of times to retry network allocation on failures
# Number of times to retry block device allocation on failures
# allocation retries on failures (integer value)
# Virtual CPU to physical CPU allocation ratio which affects
cpu_allocation_ratio=5.0                          <====テストで5倍に設定してみました
# Virtual disk to physical disk allocation ratio (floating
#disk_allocation_ratio=1.0
# Virtual ram to physical ram allocation ratio which affects
#ram_allocation_ratio=1.5
# VM image preallocation mode: "none" => no storage
# Enables dynamic memory allocation (ballooning) when set to a


状況表示
[root@controller ~]# nova hypervisor-list
+----+---------------------+
| ID | Hypervisor hostname |
+----+---------------------+
| 1  | compute01.xxx.co.jp |
+----+---------------------+
[root@controller ~]# nova hypervisor-show 1
+---------------------------+---------------------------------------------------------------------------------------------------------
| Property                  | Value                                                                                                  
+---------------------------+---------------------------------------------------------------------------------------------------------
| cpu_info_arch             | x86_64                                                                                                 
| cpu_info_features        | ["pge", "clflush", "sep", "syscall", "vme", "dtes64", "tsc", "vmx", "xtpr", "cmov",
                                  "ssse3", "est", "pat", "monitor", "lm", "msr", "nx", "fxsr", "tm", "pae", "acpi", "de",
                                   "mmx", "cx8", "mce", "mtrr", "ht", "dca", "pni", "pdcm", "mca", "apic", "sse", "pse", "ds",
                                    "lahf_lm", "tm2", "sse2", "ss", "pbe", "fpu", "cx16", "pse36", "ds_cpl"] |
| cpu_info_model            | core2duo                                                                                               
| cpu_info_topology_cores   | 2                  <=====2コアのCPU                                                                                                     
| cpu_info_topology_sockets | 1                                                                                                      
| cpu_info_topology_threads | 1                                                                                                      
| cpu_info_vendor           | Intel                                                                                                  
| current_workload          | 0                                                                                                      
| disk_available_least      | 333                                                                                                    
| free_disk_gb              | 335                                                                                                    
| free_ram_mb               | 4448                                                                                                   
| host_ip                   | 172.28.18.47                                                                                           
| hypervisor_hostname       | compute01.xxx.co.jp                                                                                    
| hypervisor_type           | QEMU                                                                                                   
| hypervisor_version        | 1005003                                                                                                
| id                        | 1                                                                                                      
| local_gb                  | 335                                                                                                    
| local_gb_used             | 0                                                                                                      
| memory_mb                 | 4960                                                                                                   
| memory_mb_used            | 512                                                                                                    
| running_vms               | 0                                                                                                      
| service_disabled_reason   | -                                                                                                      
| service_host              | compute01.sbf.co.jp                                                                                    
| service_id                | 5                                                                                                      
| state                     | up                                                                                                     
| status                    | enabled                                                                                                
| vcpus                     | 2                   <====この部分が増えると思っています。(想定は10)                                                                                                 
| vcpus_used                | 0                                                                                                      
+---------------------------+---------------------------------------------------------------------------------------------------------

導入バージョン
[root@controller ~]# rpm -qa | grep nova
openstack-nova-conductor-2014.2.2-1.el7.noarch
openstack-nova-novncproxy-2014.2.2-1.el7.noarch
openstack-nova-cert-2014.2.2-1.el7.noarch
openstack-nova-scheduler-2014.2.2-1.el7.noarch
openstack-nova-common-2014.2.2-1.el7.noarch
openstack-nova-api-2014.2.2-1.el7.noarch
python-novaclient-2.20.0-1.el7.centos.noarch
python-nova-2014.2.2-1.el7.noarch
openstack-nova-console-2014.2.2-1.el7.noarch


[root@compute01 ~]# rpm -qa | grep nova
python-novaclient-2.20.0-1.el7.centos.noarch
openstack-nova-compute-2014.2.2-1.el7.noarch
openstack-nova-common-2014.2.2-1.el7.noarch
python-nova-2014.2.2-1.el7.noarch



Tomokazu HIRAI

unread,
Jun 29, 2015, 11:41:14 PM6/29/15
to openst...@googlegroups.com
こんにちは。

cpu_allocation_ratio を 2 以上の数値にしても nova から見える vCPUs は拡張されないようです。
また nova hypervisor-list の結果の vcpus を見た目的に増やすことも不可能なようです。

cpu_allocation_ratio は nova scheduler がハンドルしていて例えば 5 という数値が入っていれば
nova scheduler は 5倍の vcpus の利用を許可してその分のインスタンスを稼働させるようです。

下記にドキュメント URL を記しておきます。




2015年6月30日 7:42 saeki <kyos...@gmail.com>:

--
このメールは Google グループのグループ「日本OpenStackユーザ会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openstack-ja...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

saeki

unread,
Jun 30, 2015, 12:55:48 AM6/30/15
to openst...@googlegroups.com

返信ありがとうございます。

ドキュメントに記載されていました、読み込み不足で申し訳ありません。

cpu_allocation_ratio=5.0でテストした結果以下のように
11個目のCPUを使用するインスタンスが起動エラーになりました。
また、10個のインスタンス起動が確認できましたので、
オーバーコミットが適用されていることが確認できました。

# nova hypervisor-show 1
| vcpus                     | 2                                                                  | vcpus_used                | 10

11個目のインスタンスを起動すると、「エラー: No valid host was found.」に
なることを確認しました。


2015年6月30日火曜日 12時41分14秒 UTC+9 jedipunkz:
Reply all
Reply to author
Forward
0 new messages