Tuesday, February 20, 2018

KVMでダイレクトブリッジ接続、他苦労した点

最近KVM初めて使い始めまして、
インターネットによくある、
1. ホストマシン側にbr0というブリッジネットワークを作成する
2. KVMで仮想マシンを作成する際、このbr0をブリッジとして指定する
という方法を使っていました。
参照 (CentOS/RHEL): http://www.checksite.jp/kvm-br-conf/
参照(Ubuntu): https://qiita.com/toshiro3/items/9bfece0501d6963a3275

しかしこれがうまくいかず...
ホストと、ゲストどちらの同じネットワーク設定はできて、
(例えばホストが192.168.100.10、ゲストが192.168.100.11とか)
ホストから192.168.100.11にアクセスすることはできても、
ホスト以外のマシンから192.168.100.11にアクセスできないw(pingすら通らない)

これでは全然ダメなので、
タイトル通りダイレクトブリッジという方法を使い、問題なくホスト以外のマシンからアクセスできるようになりました。
ホスト側の物理ポートがeth0ならvirt-install時に以下オプション

--network type=direct,source=eth0,source_mode=bridge

とします。
僕みたいにすでにbr0を作ってしまった場合は

--network type=direct,source=br0,source_mode=bridge

とします。これだけ。
解決してしまえばなんともスッキリなのですが、
まともにKVMが使えるようになるまで色々大変でした。

一つ大変だったのがテキストのみ(CUI)でのインストールです。
インターネットで検索しても、結局インストール後半でVNCを使ってGUIで仮想マシンへのOSインストールを進めていくガイドが多いです。
そうじゃない!全部teratermの中でやりたい!(というかそれしかできない)
virt-install時に以下オプションにします。

--extra-args='console=ttyS0,115200n8 serial'

こうすると、ゲストとしてCentOSを入れる場合はテキスト版のAnacondaが、
Ubuntuの場合はncurses的なインストーラーが見えます。

またKVM仮想マシンの「遅さ」も困惑の一つでした。
待っていればゲストOSのインストールが完了する状況で、ハングアップしたのかな?
と思ってしまい途中でoffしてしまったり...
(とにかく気長に待ちましょう)
またインストールが終わって再起動する前に、
仮想マシンコンソールを出てしまう(^])と、
二度とvirus console <ドメイン名> で仮想マシンコンソールに戻れません。
注意しましょう(これも何度かやった)。

しかしおかげさまでまともな仮想環境が手に入りました。
今度はdockerの勉強もしないと...

---追記---
KVM仮想マシンの「遅さ」について、もしやと思い確認したら、
EFI設定でintel VTがDisableになっていました...
今は非常に高速になりました

No comments: