ゲストディスクとバックアップは、それぞれどの NVMe に落ちますか。

標準は 1TB の NVMe が 2 本、それぞれ直結で、ハードウェア RAID はありません。使える容量は足し算で約 2TB であり、ミラーのあとに残る 1TB ではありません。Proxmox はシステムとゲストディスクをそのうち 1 本に置きます。バックアップを既定のディレクトリに残すと、ディスクと同じ NVMe です。バックアップを別の 1 本へ移して、1 本の故障が複製まで巻き込まないようにします。

システム盤を先に特定する

注文では Proxmox VE 8 または Proxmox VE 9 を選びます。どちらもイメージに含まれ、引き渡し後は SSH で入ります。2 本目を出すために USB で入れ直す必要はありません。筐体に RAID カードは無いので、イメージが 2 本をハードウェアアレイにはまとめません。

入ったら lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL、続いて findmnt / と pvesm status を実行します。約 1TB の NVMe が 2 行、種類は disk です。ルートのある方がシステム盤です。もう一方のマウント欄が空なら、それが未使用の 2 本目です。/dev/disk/by-id/ の安定した名前とシリアルを控えます。再起動で nvme0n1 と nvme1n1 は入れ替わることがあります。以降のパーティションとフォーマットは、この回に見えた番号ではなく by-id を使います。

2 × 1TB標準 NVMe、直結
約 2TB分けて使う容量
もう 1 本バックアップの盤
フォーマットの前にもう一度マウントを照合します。ルートと local-lvm のある盤に mkfs は実行しません。空の盤は MOUNTPOINT が空で、容量は約 1TB、findmnt / のソースデバイスではありません。

ゲストディスクは既定でシステム盤に落ちる

イメージが Proxmox を 1 本の NVMe に入れると、その盤には通常ふたつのストレージがあります。local はルートファイルシステム上のディレクトリで、パスは /var/lib/vz です。ISO、スニペット、vzdump のバックアップを置けます。local-lvm は同じ盤の LVM-Thin で、ゲストディスクとコンテナディスクはここへ書かれます。名前は違います。物理デバイスは同じ NVMe です。

ストレージに local-lvm を選んでゲストを作ると、ディスクはシステム盤にあります。バックアップジョブが local のままだと、ファイルは /var/lib/vz/dump へ入り、やはりシステム盤です。その盤が外れると、ゲストディスクとそのバックアップは一緒に読めなくなります。画面にストレージ名が二つあっても、2 本目の NVMe を使っていることにはなりません。

lsblk で local-lvm のボリュームグループがどの NVMe にあるかを見ます。ルートと同じ盤であるはずです。約 1TB の 2 本目にはまだパーティションが無く、このボリュームグループにも入っていません。これは直結で渡された状態であり、アレイの入れ忘れではありません。

バックアップはもう 1 本の NVMe へ向ける

2 本目は単独でパーティションを切り、単独でファイルシステムを作り、/mnt/backup-nvme のような新しいディレクトリへマウントします。パーティションテーブルは GPT、パーティションは一つで足ります。バックアップファイルには ext4 で足ります。/etc/fstab には UUID を書き、/dev/nvme0n1p1 のように変わり得る名前は書きません。mount -a のあと findmnt /mnt/backup-nvme を見て、ソースが 2 本目の by-id であり、システム盤ではないことを確認します。

次に Proxmox へディレクトリストレージを追加します。データセンターでストレージ、追加、ディレクトリを開き、パスはこのマウント、内容は「VZDump バックアップ」だけにします。対応するコマンドは pvesm add dir backup-nvme --path /mnt/backup-nvme --content backup です。ストレージ ID は local と重ならない名前にします。pvesm status でその行は active、空きは 2 本目に近く、ルートの残りではありません。

既存のバックアップジョブもこのストレージへ変えます。ディレクトリを追加しただけでジョブが local のままだと、新しいバックアップはシステム盤へ書かれます。ゲストがまだ無いときは、先にマウントとストレージの状態を確認してからゲストを作ります。ゲストがあるときはバックアップを一度実行し、vzdump の --storage に新しい ID を渡します。スナップショットモードは、ディスクのストレージがスナップショットに対応している必要があります。local-lvm は対応します。バックアップファイルは 2 本目のディレクトリに現れ、名前は vzdump- で始まります。

もとの local は ISO を置き続けて構いません。バックアップジョブがそれを選ばなくなれば、ゲストディスクとバックアップは別々の NVMe です。この分割のために再インストールは要りません。

追加の 2TB も独立した 1 本

追加の 2TB NVMe は 1 本あたり月額 $84、最大 2 本、直結で、ハードウェアアレイには入りません。lsblk では新しい disk の行になり、容量は約 2TB です。先の 1TB 二本のメンバーには自動ではならず、local-lvm も自動では広がりません。空だった 1TB と同じ扱いにします。単独のパーティション、単独のマウント、単独のストレージ登録です。

2 本目の 1TB が既にバックアップを持っているとき、この 2TB は追加のゲストディスクに向きます。新しいマウントにディレクトリストレージを足し、内容はディスクイメージにします。大きいゲストディスクを作るときはこのストレージを選び、システム盤の thin プールへ書き続けません。足りないのがバックアップなら、バックアップジョブをこの 2TB へ向け、2 本目の 1TB はディスクイメージに残せます。どちらの置き方も、ディスクと唯一のバックアップを同じ盤には書きません。

2TB をシステム盤のボリュームグループへ vgextend してはいけません。容量の違う NVMe にグループがまたがると、ゲストディスクのエクステントはどちらの盤にも落ち得て、バックアップがまだルートにあると故障範囲が重なります。これはハードウェアアレイではありません。追加ディスクがアレイに入らない理由は追加ディスクはアレイの外に残るにあります。標準の 1TB 二本をソフトミラーにすると使える容量は約 1TB に寄り、このノートの分け方は成り立ちません。手順はハードウェアアレイの無い冗長にあります。

盤システムでの見え方置くもの
1 本目の 1TBルートと local-lvmシステムと既存のゲストディスク
2 本目の 1TB空。自分でマウントするvzdump のバックアップ
追加の 2TB別の独立した disk追加のディスクイメージ、または大きいバックアップ

容量は足し算で、ミラー後の残りではない

2 本の 1TB を別々のファイルシステムとして使うと、使える空間は約 2TB です。パーティションテーブル、ファイルシステム、ルートに既にあるシステムファイルは差し引きます。RAID 1 のあと 1TB だけが残ると読むと、lsblk の disk 二行と合わず、バックアップ用の 2 本目も無くなります。

ゲストディスクとそのバックアップは、それぞれ場所を使います。400GB を割り当てたゲストディスクは、実際に書いた分をシステム盤の thin プールに置き、バックアップを 1 つ、2 本目にも置きます。400GB を合計 2TB から一度だけ引く計算にはしません。シンプロビジョニングでボリュームは割り当てより小さく見えます。バックアップファイルの大きさは、その回のモードと圧縮によります。書く予定のデータ量を盤ごとに確保します。ストレージ一覧の合計一つでは計画しません。

ext4 は既定でルートユーザー用にブロックの一部を予約します。vzdump だけが使うバックアップディレクトリは、盤の公称容量より少なく表示されます。これはファイルシステムの予約であり、2 本目が届いていないのではありません。マウント後の df -h のその行を、保持する世代数の基準にします。

2 本目にあるバックアップは、1 本目の故障から逃れます。マシン全体が使えないとき、そのバックアップは同じマシンの中にあります。残すデータには、このマシンの外にもう 1 つ要ります。ミラーもバックアップの代わりにはなりません。

バックアップを一度実行し、ファイルの盤を確かめる

  1. 2 本目がマウントされている

    findmnt /mnt/backup-nvme のソースは 2 本目の NVMe の by-id です。再起動のあともこのマウントは残り、ルートも残ります。

  2. ストレージは local ではない

    pvesm status でバックアップ用ストレージのパスは新しいマウントです。ジョブのストレージ欄はその ID です。まだ local と書いてあれば、変えてから実行します。

  3. vzdump を一度走らせる

    スナップショットできるゲストを選び、ストレージを新しいディレクトリにします。終わるとそのディレクトリに vzdump- のファイルがあります。そのファイルに findmnt -T を実行し、ソースは 2 本目です。

  4. システム盤が一緒に埋まらない

    バックアップ中に df -h / を見ます。ファイルが /var/lib/vz/dump へ入るとルートが増え、ジョブがまだ local を指しています。そのジョブを止め、ストレージを変えてやり直します。

保持世代は 2 本目の空きに合わせます。世代が多く、1 つがゲストディスク全体に近いと、次のバックアップは途中で失敗し、不完全なファイルを残します。その不完全なファイルは復元できる複製ではありません。削除し、盤に収まる世代数まで下げ、完了するバックアップを一度走らせます。

既に local-lvm にある大きいディスクを移すときは、先にゲストを停止し、新しいディレクトリストレージへ移動し、起動して照合します。ゲストが書き込んでいるあいだにディスクファイルをコピーしません。バックアップファイルは新しいストレージで作り直します。システム盤の古いディレクトリに残った過去のバックアップは、新しい盤を守ってはいません。

このマシンのディスクはこう渡される

メモリの二段とも、標準ディスクは同じです。2 × 1TB NVMe、ハードウェア RAID 無し、盤は独立して直結、使える容量は 2TB として数えます。128GB の月額は $455、256GB の月額は $612 です。メモリは DDR4-3200 ECC RDIMM で、あとから足せません。256GB はその段を選びます。CPU はどちらも AMD EPYC 7543P、32 コア 64 スレッドです。2TB を 1 本足すと、128GB の月額は $539 です。追加本数は 0、1、2 で、1 本 $84 です。先に月額へ足し、そのあと月数を掛けます。四半期は 3 倍で、さらに割引はありません。初期費用はありません。

マシンは日本の東京に置かれます。ホストへのログインは SSH で、アドレスはコンソールにあります。ディスクの配置を変えても、ログインアドレスは変わりません。Proxmox VE 8 と 9 は無料のシステム一覧にあります。2 本目と追加盤はシステム側でマウントします。イメージはそれらを一つのハードウェアボリュームにはしません。

分け終わった印は一つです。ゲストディスクのあるブロックデバイスと、バックアップファイルのあるブロックデバイスが同じではないことです。ストレージ一覧の名前、バックアップジョブのストレージ ID、findmnt -T のソースが一致して、バックアップはシステム盤の NVMe を離れています。

バックアップは別の NVMe へ移す。

$455 / 月額から