古いPCで構築!KVMとPodmanで学ぶインフラ冗長化入門

  • このエントリーをはてなブックマークに追加
  • LINEで送る

はじめに

本記事では、使い道のない古いPCを活用し、実務に近いインフラ構成を構築する方法を解説します。
具体的には、Rocky Linux 9(KVM)を基盤とし、PodmanとKubernetes互換YAMLを用いて、Nginxの冗長構成を構築します。

この記事を読むことで、以下が理解できます。
・古いハードウェアを活用した仮想化基盤の構築手順
・Podmanを用いたコンテナ運用の基本
・KeepalivedによるVIPを用いた高可用性構成
・将来的なKubernetes移行を見据えた設計の考え方

検証環境にとどまらず、本番運用を意識した「実戦的な学習ラボ」を構築したい方におすすめです。


目次

  1. 物理基盤の準備:KVMホストの構築
  2. Nginx Webサーバーの構築と冗長化
  3. 運用・監視体制の準備
  4. おまけ:サービスの即時切り替え例
  5. まとめ

1. 物理基盤の準備:KVMホストの構築

1-1. 物理PCスペックとホストOS

項目 詳細スペック コメント
PCモデル 2011年製デスクトップPC 古いハードウェアを学習ラボの土台として活用
CPU Intel Core i7-2600(4C/8T) Sandy Bridge世代 KVMによる仮想化が可能
メモリー 24 GB RAM (DDR3 1333 MT/s) 複数VMの同時稼働が可能
ストレージ SSD 256GB 仮想マシンI/Oを高速化
ネットワーク Realtek製 Gigabit NIC オンボードNICを活用
ホストOS Rocky Linux 9.6 (Blue Onyx) KVMホストとして最適な安定性と互換性

🛠️構築手順

 1. BIOSで仮想化支援機能(Intel VT-x / AMD-V)を有効化します。
 2. Rocky Linuxをインストールします。
3. KVM環境を構築します。


1-2. KVM仮想マシン構成とリソース配分

VM名 役割 vCPU / vRAM
rocky9-1 Podman基盤(Master) 2vCPU / 4GB
rocky9-2 Podman基盤(Backup) 2vCPU / 4GB
OPNsense ファイアウォール 1vCPU / 1GB
ZabbixAppliance 監視サーバー 1vCPU / 2GB

📍設計ポイント

Nginx自体は軽量です。ただし監視やログ収集の追加を想定し、Podman基盤には余裕を持たせています。


1-3. ネットワーク設計

VM名 役割 IPアドレス (br-mgmt)
KVMホストOS ベアメタル(親) 192.168.1.209
rocky9-1 Podman基盤(Master) 192.168.1.202
rocky9-2 Podman基盤(Backup) 192.168.1.203
OPNsense ファイアウォール 192.168.1.201
ZabbixAppliance 監視サーバー 192.168.1.15
仮想IP (VIP) Nginxサービス用 192.168.1.200

💡Tips

べてのVMはブリッジネットワーク(br-mgmt)で接続されています。
同一セグメント内で相互通信が可能な構成です。


2. Nginx Webサーバーの構築と冗長化

2-1. Podmanの導入と基本設定

両ノードで以下のコマンドを実行します。


2-2. K8s互換YAMLによるNginx展開

YAMLファイル(nginx-web.yaml)を作成します。


② コンテナを起動します。


③ 自動起動設定(systemd生成)を行います。


2-3. KeepalivedによるVIP冗長化設定

① 両VMにKeepalivedをインストールします。


② Nginx監視スクリプトを作成します。

配置先/etc/keepalived/check_nginx.sh


③ Masterノード設定(rocky9-1)の設定を行います。

設定ファイル:/etc/keepalived/keepalived.conf

Backupノード(rocky9-2)は、以下のように変更します。
・stateをBACKUPに変更します。
・priorityを100に変更します。


④ ファイアウォールの設定を行います。


⑤ サービスを起動し、状態を確認します。


3. 運用・監視体制の準備(Next Steps)

フェーズ 導入VM 目的
OPNsense設定 OPNsense セキュリティ強化
ファイアウォール制御や侵入検知を有効化
Zabbix構築 ZabbixAppliance KeepalivedのVIP状態やNginx稼働を監視
管理体制 全VM共通 CLI中心で統合的に管理

4. おまけ:マイクラサーバーを即時切り替え

Podmanの利点は、基盤を変更せずにサービスを切り替えられる点です。
以下では、Nginxの代わりにMinecraftサーバーを立てる例をご紹介します。

① Nginxを停止します。


② Minecraftサーバーを起動します。


クライアントが VIP(192.168.1.200)に接続すると、提供するサービスが即座に切り替わります。

環境を変えずに用途を即時切り替える──これがモダンインフラの柔軟性です。


5.まとめ

・古いPCでも実戦的なインフラ環境を構築できます
・Podmanによりコンテナ運用をシンプルに実現できます
・Keepalivedにより高可用性構成を実装できます
・Kubernetesを見据えた構成に拡張できます

💡 Tips
この構成は単なる検証環境ではありません。
本番運用を意識した「小さなインフラ基盤」として発展させることができます。

 

  • このエントリーをはてなブックマークに追加
  • LINEで送る