web-dev-qa-db-ja.com

virshを介したkvmメモリの変更がvmに伝播しない

こんにちは私はrhel6でkvmを使い始めたばかりで、vmを作成した後、メモリを増やそうとしましたが、vmをバウンスしてlibvertを再起動した後でも、xmlファイルで変更した変更がvmに反映されませんか?

[root@kvm01 qemu]# virsh dominfo dev-kvm01
Id: 2
Name: dev-kvm01
UUID: 9b2bf581-2807-3116-b176-60e9c0559943
OS Type: hvm
State: running
CPU(s): 2
CPU time: 1975.3s
Max memory: 7864320 kB
Used memory: 7864320 kB
Persistent: yes
Autostart: disable
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c47,c760 (enforcing)
[iknowmed@dev-kvm01 ~]$ free
           total       used       free     shared    buffers     cached
Mem:     3632284    3614508      17776          0       3980    3491676
-/+ buffers/cache:   118852    3513432
Swap:    5668856          0    5668856
2
kevintmckay

ゲストには、PAE(物理アドレス拡張)をサポートしていないx86(32ビット)カーネルがあると思います。これらのカーネルは、4GB未満のメモリしかサポートできません。

簡単な解決策は、Linuxディストリビューションが提供するPAE対応カーネルに切り替えることです(うまくいけば)。

より難しい解決策は、x86_64/AMD64(64ビット)アーキテクチャに切り替えることですが、その後、ゲストを再インストールする必要があります。

追加するために編集:

または、libvirt構成でPAEが有効になっていない可能性があります。

もしあなたがそうするなら virsh edit dev-kvm01次のようなfeaturesセクションが表示されます。

<features>
    <pae/>
    <acpi/>
    <apic/>
</features>

<pae/>エントリがありません。そこに置いて、ゲストを再起動します。

3
snap

次の手順に従って、KVM仮想マシンのメモリサイズを増やすことができます。

  1. 最初のシャットダウンvmvirsh shutdown dev-kvm01

  2. 完了後、vm xmlファイルのメモリ設定を確認してから、virsh undefine dev-kvm01virsh define dev-kvm01を実行します。

  3. 次に、vm virsh start dev-kvm01を起動します

  4. 仮想マシンのメモリの変更を確認します。Linuxのfreeプログラムを使用してメモリ使用量を確認するのではなく、素敵なツールhtopをインストールすることをお勧めします。

yum install htop # For Red Hat/ CentOS / Fedora
apt-get install htop # For Debian / Ubuntu / Linux Mint

  1. htopを実行します

これで問題が解決することを願っています。

0
Anam Khan