こんにちは、アプリケーション共同開発部のきつねです。
先日、Proxmox Virtual Environment(Proxmox VE)で仮想化環境を構築しました。
インストール手順は公式からチュートリアル動画として公開されていますが、インストール後の各種設定の詳細は Wiki に記載されており見つけ出すのに苦労したため、私が行った一連の流れをまとめてご紹介いたします。
一連の流れの内訳は
- Proxmox Virtual Environment とは
- Proxmox VE のインストール
- Proxmox VE の設定
- ゲストの作成
Proxmox VE の設定では、バックアップと別ネットワークにある LDAP サーバとの認証連携を行っています。
Proxmox Virtual Environment とは
Proxmox VE は、KVM ハイパーバイザと LXC コンテナ、ソフトウェア定義のストレージとネットワーキング機能を単一のプラットフォームに緊密に統合し、高可用性クラスタと災害復旧ツールをウェブ管理インターフェースで容易に管理することができるオープンソースプラットフォームです。
Proxmox VE のインストール
ISO イメージを CD-ROM もしくは USB に保存
こちらからダウンロードした ISO イメージを CD-ROM に書き込みました。インストール
イメージを書き込んだ CD-ROM からブートします。インストール先を選択
選択したディスク全てが Proxmox 用に設定されます。
option からファイルシステムを変更することが可能で、選択肢としてはext3
/ext4
/xfs
/zfs
の 4 つ、デフォルトはext4
です。zfs
を選択する場合は RAID レベルも選択する必要があります。今回はデフォルトの
ext4
にしました。ロケーションおよびタイムゾーンを選択
Country を入力すると、Time zone および Keyboard Layout は自動で変更してくれます。今回は Country に Japan を入力しました。
root のパスワードおよびメールアドレスを設定
ネットワークの設定
上記を終えるとインストールが始まります。
再起動後、画面に表示された URL に別 PC でアクセスすることで、Proxmox VE の管理画面にアクセスできます。
Proxmox VE の設定
インストールが終わったら Proxmox に root でログインしてみましょう。
管理画面には HTTPS でしかアクセスできません。この時点では証明書の設定は行なっていないので、「この接続ではプライバシーが保護されません」など、表示されるかと思いますが気にせず続けます。
ログイン
WebUI の管理画面からログインする場合は、https://設定したIPアドレス:8006/
にブラウザでアクセスします。
ログイン後、「有効なサブスクリプションがありません」と表示されますが、広告なのでそっと閉じましょう。
バックアップ
まずはバックアップの設定を行います。
Proxmox VE にストレージの追加
管理画面からの設定
「データセンター > ストレージ > 追加 > ディレクトリ」でストレージを追加します。各項目の詳細は以下です。
- ID
Proxmox VE 内で一意に特定するためのもの。
任意に設定してください。 - ディレクトリ
保存先の指定 - 内容
保存物の指定(複数選択可)
バックアップが目的なのでVZDump バックアップファイル
を選択します。 - ノード
このストレージを使用できるノード - 有効
このストレージの使用可否 - 共有
全てのノードで共有するかどうか - 最大バックアップ数
バックアップの世代数。制限しない場合は0
- ID
コンソールからの設定
ストレージの設定は/etc/pve/storage.cfg
に書かれています。
以下のように追記することで、ストレージを追加することができます。dir: ID path ディレクトリ content 内容 maxfiles 最大バックアップ数 nodes ノード名 shared 共有
- content
images
/rootdir
/vztmpl
/backup
/iso
から選択してください。
複数選択する場合はカンマで繋ぎます。 - shared
true1
false0
- content
参考
バックアップスケジュールの設定
管理画面からの設定
「データセンター > バックアップ > 追加」でバックアップスケジュールを追加します。各項目の詳細は以下です。
- ノード
対象とするノード - ストレージ
保存するストレージ
上記で追加したストレージを選択します。 - 曜日
バックアップを実行する曜日(複数選択可) - 開始時刻
バックアップを実行する時刻 - 選択モード
バックアップを実行する VM - メールの送信先
バックアップ実行時にメールを送信するアドレス - メール通知
メールを送信する条件 - 圧縮
バックアップの保存フォーマット - モード
バックアップの実行方法 - 有効
このバックアップスケジュールの使用可否
- ノード
コンソールからの設定
バックアップスケジュールの設定は/etc/pve/vzdump.cron
に書かれています。
しかしこのファイルを直接変更することは、非推奨とされています。参考
ユーザの追加
VM の追加削除など、仮想環境を利用するユーザを作成します。
LDAP 認証連携の設定
フェンリルでは LDAP サーバでユーザ情報を集中管理しているので、LDAP 認証を有効にしていきます。
ただし、LDAP サーバは別ネットワークにあるので、ルーティングから行います。(LDAP サーバが同一ネットワークにある場合は、1. は飛ばしてください。)
ルーティングテーブルの設定
残念ながら、管理画面からルーティングテーブルの設定はできません。
- コンソールからの設定
ルーティングの設定は/etc/network/interfaces
に書かれています。
Proxmox VE 起動時にエントリが追加されるように追記します。
auto vmbr0 iface vmbr0 inet static ...
post-up ip route add IPアドレス via ゲートウェイ dev vmbr0 pre-down ip route del IPアドレス
Proxmox VE のブリッジインターフェース
vmbr0
に対して、起動後に追加、終了前に削除しています。
追記が完了したら再起動して確認してみましょう。- コンソールからの設定
ホストの設定
管理画面からの設定
「データセンター > ホストノード > システム > Hosts」に、LDAP サーバの IP アドレスおよびホスト名を追加します。コンソールからの設定
ホストの設定は/etc/hosts
に書かれています。
管理画面からと同様、LDAP サーバの IP アドレスおよびドメインを追記します。
LDAP 認証の追加
管理画面からの設定
「データセンター > アクセス権限 > 認証 > 追加 > LDAP サーバー」で認証を追加します。各項目の詳細は以下です。
- レルム
Proxmox VE 内で一意に特定するためのもの
Proxmox ユーザ名@レルム
で LDAP にログインするので注意してください。 - ベースドメイン名
- ユーザー属性名
- デフォルト Proxmox ログイン時のレルム初期値とするかどうか
- サーバー
LDAP サーバのホスト。
上記で追加したホスト名を設定してください。 - フォールバックサーバ
- ポート
デフォルトでは389
- SSL
- TFA
- レルム
コンソールからの設定
認証方法の設定は/etc/pve/domains.cfg
に書かれています。
以下のように追記することで、認証方法を追加することができます。ldap: レルム base_dn ベースドメイン名 server1 サーバー user_attr ユーザー属性名 default デフォルト port ポート secure SSL server2 フォールバックサーバ tfa type=oath
- default
true1
false0
- secure
true1
false0
- tfa
type=none
/type=oath
/type=yubico
から選択してください。
Yubico
の場合は、さらにID
,Key
,URL
が必要です。
- default
参考
LDAP サーバに対する Proxmox VE の認証
LDAP サーバへの接続に認証が必要な場合は、バインド DN と SGD パスワードを設定する必要があります。
- バインド DN
/etc/pve/domains.cfg
にbind_dn
を追加することで設定できます。 - SGD パスワード
/etc/pve/priv/ldap/レルム.pw
に平文かつシングルラインで保存することで設定できます。 参考
- バインド DN
以上で LDAP 認証連携の設定は完了です。
うまくいかない場合は「データセンター > ホストノード > システム > Syslog」でログを確認をしてください。
Proxmox VE ユーザの追加
Proxmox VE ではグループを用いたアクセス権限などの管理が推奨されています。
そのため、まずグループの作成から行います。
グループの設定
管理画面からの設定
「データセンター > アクセス権限 > グループ > 作成」で追加します。各項目の詳細は以下です。
- 名前
Proxmox VE 内で一意に特定するためのもの
任意に設定してください。
- 名前
コンソールからの設定
グループの設定は/etc/pve/user.cfg
に書かれています。
以下のように追記することで、グループを追加することができます。
group:名前:::
またはコマンドラインツール Proxmox VEUser Manager で設定できます。
# pveum groupadd 名前
グループのアクセス権限の設定
Proxmox VE の管理ユーザ用のグループを作成してみましょう。
管理画面からの設定
「データセンター > アクセス権限 > 作成 > グループのアクセス権限」でアクセス権限を追加します。各項目の詳細は以下です。
- パス
変更可能なディレクトリパス
管理ユーザ用グループなので/
を選択してください。 - グループ
上記で作成したグループを指定してください。 - ロール
適用する権限
管理ユーザ用グループなのでPVEAdmin
を設定してください。 - 継承
グループの設定を優先するかどうか
アクセス権限が設定されたユーザがグループに含まれる場合に参照されます。
- パス
コンソールからの設定
アクセス権限の設定は/etc/pve/user.cfg
に書かれています。
以下のように追記することで、グループを追加することができます。
acl:継承:パス:@グループ:ロール:
- 継承
true1
false0
またはコマンドラインツール Proxmox VEUser Manager で設定できます。
# pveum aclmod パス --roles ロール -groups グループ -propagate 継承
ユーザの追加
Proxmox VE の管理ユーザを作成してみましょう。
管理画面からの設定
「データセンター > アクセス権限 > ユーザー > 追加」でユーザを追加します。各項目の詳細は以下です。
- ユーザー名
Proxmox VE 内で一意に特定するためのもの
任意に設定してください。 - レルム
上記で追加した LDAP 認証のレルムを指定してください。 - グループ
上記で作成したグループを指定してください。(複数選択可) - 有効
- 有効期限
- 氏名
- 苗字
- キー ID
TFA(Yubico)を有効にする場合に必要です。
- ユーザー名
コンソールからの設定
アクセス権限の設定は/etc/pve/user.cfg
に書かれています。
以下のように追記することで、ユーザを追加することができます。
user:ユーザー名@レルム:有効:有効期限:氏名:苗字:E-Mail:コメント:キーID:
- 有効
true1
false0
また以下のように先ほど作成したグループに追記します。
group:グループ:ユーザー名, ...::
またはコマンドラインツール Proxmox VEUser Manager で設定できます。
# pveum useradd ユーザー名@レルム -groups グループ -enable 有効 -expire 有効期限 -firstname 氏名 -lastname 苗字 -email E-Mail -keys キーID
- expire
ユーザ追加が完了してからの秒数を設定してください。
制限しない場合は0
以上で Proxmox VE ユーザの追加は完了です。
うまくいかない場合は「データセンター > ホストノード > システム > Syslog」でログを確認をしてください。
ゲストの作成
最後に Proxmox VE の使い方を少しだけご紹介します。VM を作成してみましょう。
ISO イメージの追加
「データセンター > ホストサーバ > ストレージ > 内容 > アップロード」で ISO イメージをホストに追加します。
ここでアップロードした ISO イメージは 、「データセンター > ストレージ」の内容で ISO イメージが選択されたストレージに保存されます。
デフォルトでは local ストレージの /var/lib/vz/template/iso/
に保存されます。
VM の作成
「VM を作成」から VM を追加します。
簡単なご紹介なので、必要な部分だけ設定していきます。
全般
何も変更せずに「次へ」OS
上記で追加した ISO イメージを選択して「次へ」ハードディスク
何も変更せずに「次へ」CPU
何も変更せずに「次へ」メモリー
何も変更せずに「次へ」ネットワーク
何も変更せずに「次へ」確認
「Start after created」をチェックして「完了」
VM に接続
上記で作成した VM に接続します。
「データセンター > ホストノード > ゲスト > コンソール」
専用のウィンドウで開きたい場合は「コンソール > noVNC」を選択してください。
あとはゲストの設定をしていくだけです。
おわりに
Proxmox VE のインストールから設定、簡単な使い方をご紹介しました。
今回でいうところの別ネットワークにある LDAP サーバとの認証連携など、管理画面からできないことになると途端に情報が少なくなってしまいますが、少し探しづらさはあるものの公式 Wiki に管理画面から行う操作についてはしっかりと詳細が記されているので苦労することはあまりなさそうです。
管理画面をみてるだけでも色々できそうな気がしてきますね!
ぜひこの記事を参考に Proxmox VE を使ってみてください。