先日リリースとなった、kernel-4.18.0のビルドしている時にハマったので備忘録。ちなみに、下記は仮想サーバ(VirtualMachine)管理にlibvirtを使っている事が前提。format」を見れば全部書いてあるので、そちらを参照。(cpu64-rhel6)」の様にQEMU仮想CPUとして見えるのだが、ホストサーバのCPUモデルをそのままゲストにパススルーしたい場合がある。下記の様な設定を追加すればパススルー出来る。設定で、この箇所をdomain要素の中に追記する。要素自体が無い場合は新規追加した後にdefineして反映させる。この状態でゲストインスタンスを起動させると、ちゃんとホストサーバのCPUモデルを取得出来るようになる。́・ω・`)モデル名も取得出来ていると同時に、ホストサーバのCPUをそのままパススルーしている関係上、バグ情報もそのまま引き継ぐ事になる点に注意。ランダムエントロピープールのバイパス以前の記事にも書いた通り、仮想サーバで/dev/rundomを利用するには、randomの仕様上エントロピー不足となりハングアップする事がある。コレを解決するには、havegeを導入したりVirtIOでホストエントロピーをバイパスするのが手っ取り早い。前回使ったhavegeはデーモン経由でエントロピーを蓄える都合上、デーモンが起動するまでは使えない。今回はVirtIO経由でホストサーバのプールをパススルーしてみた。</devices></domain>/dev/randomはデバイスとして提供されている事もあり、設定はdevices要素の中に埋め込む。細かい注意点としてはslotの16進数指定を他のデバイスと衝突しない様にする。rateはゲストからホストへの参照リミットなので、ホストのエントロピー充填速度によって書き換える。ACPI/APICサポート似たような名前だが全く別物。ACPIは電源制御の統一規格で、ホストサーバからゲストインスタンスを外部コマンドとして安全にシャットダウンする時に使ったりする。APICはx86アーキテクチャの割り込み処理コントローラで、チップセットレベルでの実装。細かい所はレジスタ設計・アルゴリズム論などで使うらしい。APIとして提供する設定一式。自宅鯖のKVMホストはバージョンが低いのでサポートしていない機能が多く未テスト。その中でテスト出来たのがACPI/APICの二つだったので2項目のみ記載。</features></domain>他にもlibvirtで設定出来る項目は色々あるのだが、ホストサーバを安定重視にしている都合上、libvirtのバージョンも古めなのでテスト出来ない項目がチラホラと...幾ら自鯖と言い色々とサービス立ち上げてはいるが、テスト自体が出来ないのは困りものなので、そろそろホストサーバの刷新を本気で検討しなければならないのかもしれない。出来ればRHEL8が出た後にしたいがまだまだ先な気もするし、情報収集しながら検討せねば。.........ちなみに、kernel-4.18.0は絶賛ハマり中。́ー`)ノぶっちゃけ、こっちの方が深刻なので是が非でもクリアしたい所。