問題タブ [virsh]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qemu - virt-aa-helper が AppArmor で生成されたルールにストレージ プールのパスを追加しない
新しい Ubuntu 20.04 ホスト (libvirtd (libvirt) 6.0.0) で新しい VM を使用していますが、AppArmor が VM ディスクへの読み取りアクセスを拒否しているため、起動に失敗しています。ディスクは次のように定義されます。
VM の起動中に、次のメッセージで失敗します。
アクセス許可は正しいです。AppArmor を無効にして確認しました。また、カーネル ログに次のように出力されます。
(VM の起動中に) によって生成されたプロファイルを見ると、次の内容が表示されvirt-aa-helper
ます。/etc/apparmor.d/libvirt/
ISO は正しく追加されていますが、何らかの理由でディスクのパスがありません。でデフォルト プールのパスを確認できます/etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
。
ボリューム内のディスク ファイルへのエントリがあるはずです。なぜvirt-aa-helper
追加しないのですか?
performance - virsh (QEMU/KVM) によるライブ スナップショット後のゲスト パフォーマンスの低下
他の場所で解決策を見つけることができないという奇妙な問題に遭遇しました。多分あなたは私を助けることができます。
6 つのゲスト (4 つの Ubuntu 20 LTS と 2 つの Windows Server 2019) のホストである Ubuntu 20 LTS を実行しているシステムがあり、ライブ スナップショットを取得するまで非常に高速に実行されています。QCOW2 ファイルを使用しながら QEMU/KVM でゲストを実行しており、virsh を使用してこれらの仮想システムを管理しています。
次のコマンドを使用して、ゲストのライブ スナップショット (RAM の状態なし) を取得します。
これにより、ほぼ即座に特定のゲストのすべての仮想ディスクのスナップショットが作成され、差分が書き込まれる新しいデルタ ファイルが作成されます。次に、すべてのゲストとすべてのディスクに対して次の構造を持っています。
スナップショットをコピーした後、次のコマンドを使用してスナップショットをベース ファイルにコミットします。
その後、スナップショットを削除すると、エラーが発生することなくすべてが機能します。ただし、スナップショットを取得した後、すべてのゲストがエラーなしで引き続き実行されている間、各 VM はシェルのコマンドに対して非常に遅くなります。さらに、ホストの top を介して、各ゲストの RAM 使用量が劇的に減少したことを確認できます (たとえば、GUI を備えた Windows Server 2019 の場合、25 GB から 2.5 GB に)。
キャッシュされたすべてのデータが RAM から削除されたようです。もちろん、パフォーマンスが大幅に低下します。ただし、(--quiesce パラメーターを使用せずに) スナップショットを作成しても、この動作は発生しないはずです。すべてのゲストの再起動後、すべてが再び非常に高速に動作します (スナップショット構造に関しては何も変更されていません)。
どの構成または状況がそのような動作につながる可能性があるか考えていますか?
前もって感謝します!
- - - 編集 - - -
実際の問題は、スナップショットが作成された後に scp/rsync を介してファイルをコピーしているようです。これは、これらのプログラムの 1 つ (rsync?) がホスト上のすべてのメモリを使い果たし、ゲストの RAM の一部をディスクにスワップするためです。 .
コピー プロセスが完了した後でも、コピーされたデータはホスト キャッシュに残っているように見え、ゲストはさらにホストのスワップ スペースの一部を使用しています。
もちろん、これはゲストのパフォーマンスの悪さを説明しています。次のコマンドを使用して、ページ キャッシュとスワップ領域をクリアすることで修正できます。
ただし、スワップ領域をクリアするには、ゲストの操作を一時停止して数時間かかる場合があることに注意してください。それらが使用されていない夜間に実行するか、問題を根本、つまり rsync/scp 部分で解決する必要があります。