前の記事で、リプレース後の自宅サーバはAlma Linux+KVMで行くことにしました。
今回は設定を詰めていきます。
www.suzu-ha.com
目次
コンソール表示関連
コンソール表示の手段
cockpitを利用する場合、KVM仮想マシンのコンソール表示(画面表示)する選択肢は3つあります。
①シリアルコンソール
シリアルコンソールはシリアルポート経由で機器を制御する方法です。
UNIXやネットワーク機器ならともかく、Windowsに対してシリアルコンソール接続するのはマニアックすぎるのでやめときます。
②VNCコンソール
VNCコンソールは、仮想マシンの画面がcockpitのWeb画面内に映ります。
マウスカーソルの制御がうまくいってないようで、画面下側、右側にマウス操作ができない領域があります。
GUI画面では致命的です。
③デスクトップビューアー
デスクトップビューアーはWindows上で動作するVNCクライアントアプリケーションです。
※cockpit画面での表記はデスクトップビューアーですが、配布サイトでの表記は「virt-viewer」、インストール後にスタートメニュー上で表示されるアプリケーション名は「Remote viewer」です。バラバラですね。
若干動作に不安定さを感じますが、前述のVNCコンソールはマウス操作できない問題があるので、消去法でこれしかありません。デスクトップビューアーを使うことにします。
VNCのリッスンIPアドレスの指定
cockpit画面内の「リモートビューアーの起動」ボタンをクリックすると拡張子「.vv」のファイルがダウンロードされます。
この中にサーバのIPアドレスやポートが書いてあり、先ほどのデスクトップビューアーはそれを読み込んでサーバに接続する仕組みになっています。
ですが、KVMの設定ファイルではサーバのIPアドレスが"0.0.0.0"となっており、.vvファイルにもこのIPアドレスが記載されてくるので繋がりません。
正しいIPアドレスを指定してやりましょう。
confファイルを編集します。
[root@larkbox-x ~]# vi /etc/libvirt/qemu.conf
ファイル内の以下の行を、サーバのIPアドレスに書き換えます。
vnc_listen = "0.0.0.0"
なお、これと似たようなspice_listenというパラメータもありますが、SPICEは既に非推奨ですので修正不要です。
ファイアウォール
VNCポートは5900から順に、起動している仮想マシンの分だけ割り振られるようです。
リソース的に起動する仮想マシンは1個か2個だと思いますが、ある程度まとめてポートを開けておきます。
cockpit画面で設定します。
「ネットワーキング」-「ファイアウォール」-「ルールとゾーンを編集する」
「Public ゾーン」-「サービスの追加」
項目 | 値 |
---|---|
サービス/カスタムポート | カスタムポート |
TCP | 5900-5910 |
UDP | 空白 |
ID | custom--5900-5910(デフォルトのまま) |
説明 | KVM-VNC |
パフォーマンスプロファイル
パフォーマンスチューニングを行うデーモンであるtunedのプロファイルに仮想化ホスト向けのものが存在したので、設定します。
なお、設定後に仮想マシンのベンチマークを測定したところほぼ変わらなかったので、効果のほどは不明です。
cockpit画面で設定します。
「概要」-「設定」-「パフォーマンスプロファイル」
項目 | 値 |
---|---|
パフォーマンスプロファイル | virtual-host |
ネットワークをブリッジ構成にする
NATかブリッジか
KVMのネットワーク構成は、デフォルトではNAT構成です。
物理サーバが接続されるネットワークセグメント(図では10.10.10.0/24)とは別に、仮想マシン専用のセグメント(図では192.168.122.1/24)が作成されます。
仮想マシン→外部の通信や仮想マシン同士の通信は問題なくできますが、外部→仮想マシンの通信はハードルが上がります。
仮想マシンをサーバにしてサービスを提供したいような場合には不向きです。
ブリッジ構成にすると、この問題が解消します。
仮想マシンは物理サーバと同じネットワークセグメント(図では10.10.10.0/24)に接続されます。
物理サーバが繋がっているL2スイッチに仮想サーバも接続されるイメージですね。
ブリッジインターフェースの作成
ブリッジ接続するためにインターフェースを新規作成する必要があります。
cockpit画面で設定します。
「ネットワーキング」-「インターフェース」-「ブリッジの追加」
項目 | 値 |
---|---|
名前 | br0 |
ポート | enp2s0(LANケーブルが接続されているポートを指定します) |
スパニングツリープロトコル | チェック無し |
仮想ネットワーク(NAT)の削除
NAT接続用の仮想ネットワークが「default」という名前であらかじめ定義されています。
紛らわしいので削除してしまいます。
cockpit画面で設定します。
「仮想マシン」-「ネットワーク」
「default」の3点リーダをクリックして、削除を選択する。
この状態で仮想マシンを作成すると、ネットワーク設定は
インターフェース形式:Bridge to LAN
ソース:br0(上で作成したブリッジインターフェース)
がデフォルトとなり、ブリッジ接続されます。
ストレージ関連
ストレージ関連は前の記事と同様
①ディスクデバイスをXFSとしてマウントし
②そのマウントポイントのディレクトリをKVMのストレージプールとして登録します。
ストレージ
cockpit画面で設定します。
「ストレージ」-「ドライブ」-「1TB SSD(/dev/sdb)」
項目 | 値 |
---|---|
パーティション構成 | GPT |
名前 | /dev/sdb1 |
タイプ | XFS |
マウントポイント | /kvm_storpool/default |
サイズ | 1TB |
「ストレージ」-「ドライブ」-「4TB HDD(/dev/sdc)」
項目 | 値 |
---|---|
パーティション構成 | GPT |
名前 | /dev/sdc1 |
タイプ | XFS |
マウントポイント | /kvm_storpool/hdd4tb |
サイズ | 4TB |
ストレージプール
cockpit画面で設定します。
「仮想マシン」-「ストレージプール」-「ストレージプールの作成」
項目 | 値 |
---|---|
名前 | default |
タイプ | ファイルシステムのディレクトリ |
ターゲットパス | /kvm_storpool/default |
ホスト起動時にプールを開始 | チェックあり |
項目 | 値 |
---|---|
名前 | hdd4tb |
タイプ | ファイルシステムのディレクトリ |
ターゲットパス | /kvm_storpool/hdd4tb |
ホスト起動時にプールを開始 | チェックあり |