メイン コンテンツにスキップ

デプロイ

Proxmox VM にGlasswall Haloをデプロイするには、次の 2 つのオプションから選択できます:

詳細については、トラブルシューティングと FAQ または Proxmox documentation を参照してください。


OVA/VMDK からのデプロイ

ステップ 1 - Proxmox VE ホストを更新

互換性の問題を防ぐため、次のコマンドを実行して Proxmox ホストが最新の状態であることを確認してください。

01_Proxmox

  • オンライン接続による更新:
apt-get update
apt-get dist-upgrade

ステップ 2 - 新しい VM シェルを作成

  1. Proxmox の Web UI にアクセスし、Create Virtual Machine をクリックします。

02_Proxmox

  1. General タブで、VM 名(例: Glasswall-Halo)を入力します。

03_Proxmox

  1. OS タブで、汎用の Linux タイプ(例: Linux 5.x/6.x)を選択します。ISO は不要です。

04_Proxmox

  1. System:
    • BIOS: seaBIOS に設定します。
    • SCSI controller: VirtIO SCSI

05_Proxmox

  1. Hard disk: デフォルトのディスクを削除します(変換したディスクは後で接続します)。

06_Proxmox

  1. CPU: 最大のパフォーマンスを得るため、タイプを host に設定します。少なくとも 16 コアを割り当ててください。

07_Proxmox

  1. Memory: 32~64 GB を割り当てます。

08_Proxmox

  1. Network: NIC を目的のブリッジ(例: vmbr0)に接続します。通常は VirtIO モデルを使用します。

09_Proxmox

  1. Confirm タブで概要を確認し、Finish をクリックします。

Note: まだ VM を起動しないでください。

10_Proxmox

ステップ 3 - OVA を展開して転送する

  1. 次のコマンドを実行して、ローカルシステム上で OVA を展開します。

    tar -xvf Halo-FULL-<version>.ova

11_Proxmox

  1. .vmdk ファイル(例: Halo-full-<version>-disk1.vmdk)を特定します。

  2. .vmdk を proxmox にアップロードします。例:

    scp Halo-FULL-...disk1.vmdk root@<Proxmox-IP>:/root/

12_Proxmox

ステップ 4 - ストレージを準備する(任意、LVM-Thin)

なぜ LVM-Thin なのか? 薄いプロビジョニングとスナップショットのサポートを提供するため、より大きい、または頻繁に更新される VM ディスクに最適です。ただし、Proxmox ではディスクをディレクトリベースやその他のストレージタイプに接続することもできます。

LVM-Thin を作成する手順例:

# Identify a free disk, e.g. /dev/sdb
pvcreate /dev/sdb
vgcreate vg-halo /dev/sdb
# Create a thin pool consuming all space
lvcreate -l 100%FREE -T -n thin-halo vg-halo

13_Proxmox

thin pool を作成したら、Datacenter -> Storage -> Add -> LVM-Thin から追加します。ボリュームグループとして vg-Halo を、thin pool として Thin-Halo を選択します。

14_Proxmox

ステップ 5 - Halo ディスクを変換して接続する

オプション A: qm importdisk

Proxmox ホストに SSH 接続します

インポートをサポートするストレージ(例: directory または LVM-Thin)を使用している場合は、次を実行します:

qm importdisk <VM_ID> /root/Halo-FULL-...disk1.vmdk <StorageName> --format qcow2
  • <Vm_id> は VM に割り当てられた ID です(例: 100)。
  • <Storagename> は Proxmox のストレージターゲットです(例: local-lvmHalo-lvmthin)。
  • 完了後、vm -> hardware に移動し、「unused disk」を見つけてから、edit を選択し、ide0 を指定します。

Proxmox ホストに SSH 接続します

qm importdisk でエラー(例: 「zeroinit」)が発生する場合、またはより直接的に管理したい場合:

  1. Halo ディスク用にシンプロビジョニングされたボリュームを作成します:

    lvcreate -n vm-<VM_ID>-disk-0 -V 200G --thinpool thin-halo vg-halo
  2. .vmdk を raw ディスクに変換します:

    qemu-img convert -f vmdk -O raw /root/Halo-FULL...disk1.vmdk /dev/vg-halo/vm-<VM_ID>-disk-0
  3. ディスクを VM に接続します:

    qm set <VM_ID> --ide0 halo-lvmthin:vm-<VM_ID>-disk-0

15_Proxmox

ステップ 6 - 最終的な VM 構成

  1. In VM -> Hardware:
    • IDE0 はメインの Halo ディスクである必要があります。
    • SCSI コントローラーとして「Virtio SCSI」が表示されていることを確認します。

16_Proxmox

  1. VM -> Options で:

    • Boot order で IDE0 が最初に設定されていることを確認します。
    • BIOSseaBIOS であることを確認します。
    • KVM hardware virtualizationACPI は有効にする必要があります。
  2. 任意: 高度な機能のために、QEMU guest agent を Halo VM 内にインストールできます。

17_Proxmox

ステップ 7 - 初回起動

  1. Proxmox UI でVM を起動します

  2. コンソールを監視してください。初回起動時は、“Probing EDD…” を通過するまでに最大1分かかる場合があります。

  3. Halo VM 内でネットワークを設定します:

    • 静的IPの場合: Halo のセットアップを続行するには、Network Manager configuration guideに従ってください。完了したらここに戻ってください。
    • DHCPの場合: DHCPサーバーが稼働していることを確認してください。
  4. アプリケーションレベルの設定(例: start_halo.sh、syslog server、tls)を完了します。

18_Proxmox

Glasswall バックアップ(.vma.zst)からのデプロイ

Glasswall チームから事前設定済みの Proxmox バックアップが提供されている場合は、OVA/VMDK の手順を省略できます。

ステップ 1 - バックアップのアップロードと復元

  1. .vma.zst バックアップファイルを Proxmox ホストのバックアップディレクトリにコピーします:

    scp glasswall-halo-backup.vma.zst root@<Proxmox-IP>:/var/lib/vz/dump/
  2. Proxmox UI で、Node -> Local -> Backup に移動します。

  3. .vma.zst ファイルを見つけて、Restore を選択します。

  4. 新しい VM ID(例: 101)とターゲットストレージを割り当てます。

19_Proxmox

ステップ 2 - ディスク接続の確認

  1. 復元後、VM -> Hardware を開きます。
  2. メインディスクが IDE0 に接続されていることを確認します。
  3. VM -> Options で BIOS が seaBIOS に設定されていることを確認します。

ステップ 3 - VM の起動

  1. VM を起動します。
  2. エラーがないかコンソールを確認します。
  3. まだ設定されていない場合は、ネットワーク設定を構成します。
  4. Halo 内で最終的な設定手順を実施します。

20_Proxmox


トラブルシューティングと FAQ

zeroinit エラー

これは、特定のストレージタイプまたは古い QEMU バージョンで qm importdisk を使用した場合に発生することがあります。

解決策: qemu-img を使用して手動変換を行います。

ネットワーク設定の問題

  • VM のインターフェース名が異なる場合(例: ens18eth0)、それに応じて ifcfg- ファイルを調整してください。
  • インターフェース名を確認するには、nmcli device show または ip a を使用します。

なぜ IDE + seaBIOS なのか?

  • STIG で強化された RHEL イメージでは、特定のブート構成にレガシー BIOS が必要です。
  • IDE は幅広い互換性を確保し、一部の仮想ドライバーで既知の問題を回避します。

追加のベストプラクティス

  • スナップショット: 迅速なロールバックのために、Proxmox スナップショットまたは LVM-Thin スナップショットを活用します。
  • バックアップ: 定期的に vzdump を使用して圧縮バックアップ(.vma.zst)を作成します。
  • リソース監視: 本番負荷に対する CPU とメモリ使用量を監視してください。

Glasswall Halo サービスを開始する

  • Glasswall Halo を起動するには、次のコマンドを実行します:
sudo start_halo.sh
  • スクリプトの完了後、次のコマンドを使用して、すべての Glasswall Halo サービスおよび pod が実行中であることを確認します。
kubectl get pods

Glasswall Portal にアクセス

  • ネットワーク構成および/またはドメイン構成に応じて、仮想マシンに割り当てられたドメイン名および/または ip address を介して Glasswall portal にアクセスし、ファイルをクリーン化できるようになります。

  • ネットワークの状態を確認するには、次のコマンドを実行します。

sudo netstat -tlnp