背景
こんにちは,VMWareのライセンス有料化に伴い, Proxmoxに乗り換えようとサーバ構築を行っている者です.
Proxmoxで作成した仮想マシンのバックアップ先をNASのストレージにしたいのですが,Proxmox VE上では設定できません.
そのため Proxmox Backup Server(PBS) を利用して解決します.
PBSからNASへの接続方法に関しては,英語のフォーラムがあったのですが,日本語の記事はおそらくなかった?のでまとめてみました.
参考:https://forum.proxmox.com/threads/playground-time-virtual-pbs-with-iscsi-backend.88395/
動作環境
Proxmox Virtual Environment 8.3.5
Proxmox Backup Server 3.2-2
NAS:QTS 5.2.4.3079
PBSからNASにiSCSI接続する
あらかじめNAS側でiSCSIのターゲットリストを作成しておき,LUNを割り当てておきましょう.
PBSのコンソールで
iscsiadm --mode discovery --portal [NASのIP] --type sendtargets
と打つと,iSCSIターゲットリスト一覧が「iqn...」というiqn表記で出てくるので目当てのものを探します.
目当てのターゲットリストを使って以下のコマンドでログインします.
iscsiadm -m node --targetname=[iqn表記のターゲットをコピペ] --login
接続されているiSCSIドライブを確認します.
iscsiadm -m session -P 3
以下のように出てきたらログイン成功です.
起動時に自動でiSCSI接続するよう設定しておきましょう.
iscsiadm -m node -T [iqn表記のターゲットをコピペ] -p [NASのIP] --op update -n node.startup -v automatic
パーティションを作る
iscsiadm -m session -P 3
の出力の中に,Attaced scsi disk sdb
のような記述があると思います.これがiSCSI接続を行っているPBS側のデバイスファイルです.sdbの部分はsdaやsdcだったりします.
以下のコマンドでデバイスファイルにパーティションを作ります.
fdisk /dev/sdb #さっき確認したデバイスファイルを選択
このコマンドを打つとエラーが出るかもしれないです.デフォルトでDOSパーティションテーブルというものを作ろうとしますが,これは2TBまでしか対応していないというエラーです.
その場合はGPTパーティションテーブルで対応します.
以下のようにコマンドを入力していってください.
Command (m for help): g # GPTパーティションテーブルを作成
Command (m for help): n # 新しいパーティションを作成
Partition number (1-128, default 1): [Enter] # デフォルトを選択
First sector (2048-17179869183, default 2048): [Enter] # デフォルトを選択
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-17179869183, default 17179869183): [Enter] # デフォルトで全容量を使用
Command (m for help): w # 変更を書き込む
パーティションのフォーマット
パーティションが作れたらフォーマットします.
以下のコマンドでパーティションの名前を確認します.
lsblk
出力を見ると,どこにパーティションが作られているかわかると思います.
partと書かれている部分がパーティションです.
パーティションの名前を確認したらフォーマットしましょう.
mkfs.ext4 /dev/sdb1 #さっき確認したパーティションを選択
マウントを行う
マウントを行うディレクトリをPBS上に作成します.ディレクトリ名をiscsiとしていますが,名前は何でも良いです.
mkdir -p /mnt/iscsi
NASストレージをマウントします.
mount /dev/sdb1 /mnt/iscsi #sdb1の部分はさっき確認したパーティションを選択
PBS上にストレージを作る
以下のコマンドでPBS上にデータストアを作成します.
proxmox-backup-manager datastore create [任意のデータストア名] /mnt/iscsi
作成が完了すると,PBSのGUI上で左の「Datastore」欄に作成したデータストアが追加されます.
自動マウントの設定
起動時に自動的にマウントされるよう設定しておきましょう.
以下のコマンドを入力します.
nano /etc/fstab
ファイルの編集画面になるので以下のコマンドを追記します.
/dev/sdb1 /mnt/iscsi ext4 defaults,_netdev 0 0
追記出来たら,「Ctrl + X」 → y → Enterでファイルを更新します.
Fingerprintの確認
後ほどバックアップの設定で使うので,以下のコマンドで証明書のフィンガープリントを確認しておきましょう.
proxmox-backup-manager cert info
Fingerprint(sha256)の記述が確認できると思います.
ProxmoxVE上でPBSのストレージを追加する
Proxmox VEにログインして,左上の「Datacenter」→ 「Storage」を選択します.
上部の「Add」→ 「Proxmox Backup Server」を選択し以下のように入力してください.
- ID:分かりやすい名前(例:pbs-buckups)
- Server:PBSサーバのIPアドレス,またはホスト名
- Username:PBSのユーザ名(デフォルトはroot@pam)
- Password:上記ユーザのパスワード
- Nodes:PBSサーバと接続したいノード,つまりバックアップを取りたいノードを選択する.「All」を選択すると全て選択できる
- Datastore:先ほど設定した任意のデータストア名の部分を入力
- Fingerprint:先ほど確認したFingerprintをコピペ
入力できたら「Add」を選択
バックアップの設定を行う
Proxmox VE上で左上の「Datacenter」→ 「Backup」を選択します.
上部の「Add」を選択し以下のように入力してください.
- Node:バックアップを取りたいノードを選択
- Storage:先ほど設定したStorageのIDを選択
- Schedule:バックアップを行うスケジュールを選択
- Selection mode:
- Include selected VMs:下で選択したVMをバックアップする
- All:すべて選択.これにしておくと 新しく作成したVMも自動的にバックアップされる
- Exclude selected VMs:下で選択したVM以外をバックアップする
- Pool:よくわからない
- Notification mode:バックアップの成功通知などの設定
- Default(Auto):メールアドレスの設定を行える.設定しない場合は通知システムで登録したメールアドレスが使われる.基本これでいい
- Email(legacy):システムのsendmailコマンドを使用して通知メールを送信する.(前のバージョンでの方式だから今後なくなるかも?)
- Notification system:通知システムの設定を利用して通知する
- Send email to:上記の通知先メールアドレスを設定するところだが, Proxmoxのサーバ構築時に設定したメールアドレスと競合するため空欄でいい
入力できたら「Create」を選択
設定完了
以上で設定は完了です.結構大変ですね...
成功していれば,設定した日時にバックアップが行われ,メールが届くと思います.届かない場合はSMTPなどの設定が必要かもです...
Proxmox VEの画面下「Tasks」からもバックアップのタスクが確認できます.
PBSのバックアップメールはめちゃくちゃ分かりやすいです.ghettoVCBではどのVMが失敗しているのか探すのが大変だったなとしみじみ思います.