Oracle Linux KVM・OLVM導入に向けての構成検討

みなさん、こんにちは！

Oracle Linux KVM・OLVMのお問い合わせが多くなっている状況となっているため、Oralce KVMの導入を検討されているお客様へ改めてOracle Linux KVMの構成についてご説明させて頂きます。

Oracle Linux KVMの構成について説明する前に、簡単ではありますが覚えて頂きたいワードをご紹介いたします。

## Oracle Linux KVM・OLVM・cockpit
### Oracle Linux KVM
Oracle Linux KVM、またはOracle KVMとは、Oracle社が提供する仮想化基盤のことを指します。
これは、Red Hat Enterprise LinuxをカスタマイズしたOracle Linuxをベースにしています。
KVMはKernel-based Virtual Machineの略称で、Linuxカーネル上で動作する仮想化技術を指しており、1つの物理マシン上で複数の仮想マシンを動作させるための技術となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/8b757197-b50b-4b0c-ac03-e7c9e2671829.png)

### OLVM
OLVMはOracle Linux Virtualization Managerの略で、複数のKVMサーバーを一元的に管理するためのプラットフォームです。
これは、オープンソースのoVirtをベースにしています。

OLVMを導入するためには、Oracle Linux KVMとは別にOSを用意する必要があります。
そのため、OLVM導入には別途リソースを準備する必要があります。これは、OLVMが自身のサーバーを必要とするためです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/b8f961ec-4058-4b28-b6ef-a316dda1c55f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/64ea3795-35bf-4713-a99d-d908aaf9a634.png)

### Cockpit
CockpitはLinuxの管理用Webインターフェイスで、OS（Oracle Linux KVM）上で動作するツールとなります。
パッケージを導入することで、仮想マシンの管理も行うことが可能になります。

ただし、Cockpitの管理範囲は自身のサーバー(KVM)のみとなるため、サーバーの台数分Cockpitを導入して管理する必要が有ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/f984cb5a-2a97-4260-b399-2ab5ddbc5e26.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/b5f15f26-4548-492c-986c-6c22d3a22bb1.png)

OracleKVMは基盤で、CockpitとOLVMは管理ツールとなります。
また、VMware製品と比較すると以下となります。
| Oracle Linux KVM製品	 | VMware製品 |
|:-|:-|
| Oracle Linux KVM  | VMware ESXi  |
| OLVM  |  vCSA |
| Cockpit  |  ESXi Host Client |

## 構成検討フローチャート
最適な構成でOralce KVMを導入するための簡易版フローチャートを作成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/c8ede51d-cb7b-40bb-9dc1-2148f08931f8.png)

## 構成
フローチャート①から③の構成について記載いたします。
### ①Oracle Linux KVM+cockpit
Oracle Linux KVM+cockpitの構成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/c6b0a6df-3b0d-4f3b-bb26-382d4c401a7e.png)

こちらの構成ではcockpitを使用してOS(KVM)や仮想マシンの管理を行います。
cockpitはOSの"cockpit.socket"として稼働しています。
```ruby:qiita.rb
# systemctl status cockpit.socket
● cockpit.socket - Cockpit Web Service Socket
Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; vendor preset: disabled)
Active: active (running) since Tue 2024-07-30 22:14:40 JST; 6 days ago
Docs: man:cockpit-ws(8)
Listen: [::]:9090 (Stream)
Process: 2726 ExecStartPost=/bin/ln -snf active.motd /run/cockpit/motd (code=exited, status=0/SUCCESS)
Process: 2718 ExecStartPost=/usr/share/cockpit/motd/update-motd localhost (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 151691)
Memory: 1.0M
CGroup: /system.slice/cockpit.socket

7月 30 22:14:40 kvm01 systemd[1]: Starting Cockpit Web Service Socket.
7月 30 22:14:40 kvm01 systemd[1]: Listening on Cockpit Web Service Socket.
```

cockpitの管理範囲は自身のサーバーのみであるため、KVM導入台数分cockpitを導入して管理する必要があります。
そのため、運用保守のことを考えるとKVMの導入台数は1台、多くても3台程度が現実的な導入台数になるかと思います。
**・メリット** 
1.OLVMの設定などの検討不要
2.OLVM不要となる分、仮想マシンが使用できるリソースが増える
**・デメリット**
1.KVMの台数分cockpitから同一の設定を行う必要がある
2.KVMダウン時は仮想マシンも同様に停止する。
別KVMへの仮想マシン移動はできますが、KVMホストダウン時のHA設定などは不可となります。

### ②Oracle Linux KVM+OLVM(スタンドアロン方式)
Oracle Linux KVM+OLVM-スタンドアロン方式です。
スタンドアロン方式では、OLVMを稼働させるためのKVMとは別に物理基盤が必要となります。
以下はスタンドアロン方式の一例です。
OLVMはKVM上ではなく、管理用のKVMとは異なる基盤上へ導入しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/b1dde4c7-12c7-4c59-9460-b8b09fc1d667.png)

本構成ではOLVMをKVM上ではなく、別途物理または仮想上へ導入する構成となります。
Oracle Linux KVM上には業務用などの仮想マシンのみを稼働させて、OLVMは管理用の基盤上などへ導入させる場合は、こちらの構成を検討してください。
セルフホステッドエンジン方式との違いは基本的にOLVMをOracle Linux KVM上へ作成するかしないか、の違いのみです。

### ③Oracle Linux KVM+OLVM(セルフホステッドエンジン方式)
Oracle Linux KVM+OLVM-セルフホステッドエンジン方式です。
本構成はOracle Linux KVM上へOLVMを導入して稼働させます。
別途管理用の仮想基盤や物理サーバーなどは不要となっています。
以下は、セルフホステッドエンジン方式の一例となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3956386/80f82db2-81dd-4e02-b893-2a11272c087e.png)

簡単にですが、それぞれの構成でのメリットデメリットを記載します。
| 構成 | メリット | デメリット |
|:-|:-|:-|
| Oracle Linux KVM+cockpit  | cockpitの導入が容易、OLVM用リソース不要| KVM台数分cockpit導入が必要、多台数KVM導入は管理が複雑化  |
  |  Oracle Linux KVM+OLVM(スタンドアロン方式) | 多台数KVMの管理が容易化  |  OLVM用リソースが必要 |
| Oracle Linux KVM+OLVM(セルフホステッドエンジン方式)  | 多台数KVMの管理が容易化、OLVMがKVM上で稼働するため別途OLVM用の基盤は不要  | OLVM用リソースが必要  |

## 最後に
簡単ではありますが、Oracle Linux KVMの構成3パターンをご紹介いたしました。
Oracle Linux KVMを導入する際の検討資料・お問い合わせ時の資料としてご活用いただければ幸いです。
弊社ではOracle Linux KVMの設計・構築だけではなくKVMのバージョンアップなどの実績も多数ございます。
また、仮想基盤のOracle Linux KVMから仮想マシン上で動作するOracle DBまで全て対応することが可能です！
仮想基盤の変更や新規導入でOracle Linux KVM・OLVMを検討されていてお悩みなどがあればご気軽にお問い合わせください！