virtualization:proxmox_ve_6_2_share_disk_with_other_zpools

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
virtualization:proxmox_ve_6_2_share_disk_with_other_zpools [2021-01-17 14:16]
Decomo 作成
virtualization:proxmox_ve_6_2_share_disk_with_other_zpools [2023-02-09 22:51] (現在)
Decomo
行 1: 行 1:
-====== 1つのストレージにProxmox VE 6.2と他のZFSプールを共存させる ======+====== Proxmox VE 6.2と他のZFSプールを1ストレージに同居させる ======
  
-ZFSをルートファイルシステムとしてProxmox VEインストールすると、EFIシステムパーティションなどを除いディスクの全領域Proxmox VE用プールrpoolとなってしまう+<WRAP box info> 
 +Proxmox VE 7あたりでインストーラでパーティションを切ってZFSルート構成が作れるようにった。したがって本記事ような面倒な手段を取る必要はなくなっ
  
-ちの環境、諸々の事情により他のZFSプール共存させたい。UEFIとZFSの組み合わせな、FreeBSDで培ったスキルを活かしてPVEの全領域プールからパーティションプールへの移行ができるんじゃね?と考え試してみた記録。+また、''/etc/kernel/pve-efiboot-uuids''は''/etc/kernel/proxmox-boot-uuids''に変わったよだ。 
 +</WRAP> 
 + 
 +Proxmox VEをZFSルートシステムインストールするとEFIシステムパーティションなどを除いたディスクの全領域が、Proxmox VE用のプールrpoolとなってしまう。 
 + 
 +諸々の事情により、うちの環境ではパーティションを切ってrpoolと他のZFSプールを1つのストレージ上に共存させたい。UEFIとZFSの組み合わせとなれば、臆するかれ、FreeBSDで培ったスキルを活かしてPVEの全領域プールからパーティションプールへの移行ができるんじゃね?と考え試してみた記録。
  
 好きな構成でDebianインストールしてからProxmox VEの環境入れればいいだって?うっせー、俺はLinuxわかんねーんだよ! 好きな構成でDebianインストールしてからProxmox VEの環境入れればいいだって?うっせー、俺はLinuxわかんねーんだよ!
行 11: 行 17:
   * Proxmox VE 6.2-4   * Proxmox VE 6.2-4
   * Intel DC S3700 400GB   * Intel DC S3700 400GB
-    * PVEをインストールしたストレージ(sda)。便宜上、専用ストレージと呼ぶ。+    * PVEをインストールしたストレージ(sda)。便宜上、占有ストレージと呼ぶ。
   * Samsung PM963 1.92TB   * Samsung PM963 1.92TB
-    * PVEと他のZFSプールを共存させるストレージ(nvme0)。便宜上、共存ストレージと呼ぶ。+    * PVEと他のZFSプールを同居させるストレージ(nvme0)。便宜上、共存ストレージと呼ぶ。
  
 ===== 方針 ===== ===== 方針 =====
  
-共存ストレージ作成にあたり、まずは専用ストレージのパーティションを確認する。+共存ストレージ作成にあたり、まずは占有ストレージのパーティションを確認する。
  
 <code> <code>
行 154: 行 160:
  
 ==== rpoolの移植 ==== ==== rpoolの移植 ====
 +
 +PVEのシステムデータのコピー方法は、ZFSのミラーリングを使う方法、send/recvを使う方法の2種類がある。
  
 === 方法1:ミラープールを経由する ==== === 方法1:ミラープールを経由する ====
行 159: 行 167:
 ZFSのミラーリングを使う方法。 ZFSのミラーリングを使う方法。
  
-現在のrpoolに共存ストレージのnvme0n1p4をミラーとして追加し、同期完了後に専用ストレージのパーティションをミラーから切り離す。+現在のrpoolに共存ストレージのnvme0n1p4をミラーとして追加し、同期完了後に占有ストレージのパーティションをミラーから切り離す。
  
 簡単かつ安全な方法だが、今回は移行先のパーティションの方が小さいので使えない。残念。参考までに実行するコマンドは以下のようになる。なお、デバイス追加時に**addを使うとストライピングとして追加され、取り外し出来なくなる**ので注意!! 簡単かつ安全な方法だが、今回は移行先のパーティションの方が小さいので使えない。残念。参考までに実行するコマンドは以下のようになる。なお、デバイス追加時に**addを使うとストライピングとして追加され、取り外し出来なくなる**ので注意!!
行 173: 行 181:
 === 方法2:zfs send/recvを使う === === 方法2:zfs send/recvを使う ===
  
-ZFSのデータバックアップ・復元機能zfs send/recvを使う方法。正攻法と言えば正攻法。+ZFSのデータバックアップ・復元機能であるzfs send/recvを使う方法。正攻法と言えば正攻法。
  
 使用中のデータ分のやり取りしか行わないので、小さなプールへのデータ移行が可能である。 使用中のデータ分のやり取りしか行わないので、小さなプールへのデータ移行が可能である。
行 276: 行 284:
 ===== 共存ストレージから起動 ===== ===== 共存ストレージから起動 =====
  
-あとはマシンを再起動し、ブートドライブとして共存ストレージの方を選べば、新しいrpoolの方から以前の環境はそのままにProxmox VEが起動するハズ。+あとはマシンを再起動し、ブートドライブとして共存ストレージの方を選べば、以前の環境はそのままに新しいrpoolの方からProxmox VEが起動するハズ。
  
 シェルでzfs listすると、新しいrpoolになっていることが分かる。 シェルでzfs listすると、新しいrpoolになっていることが分かる。
行 294: 行 302:
 # zfs destroy -r rpool@backup # zfs destroy -r rpool@backup
 </code> </code>
 +
 +===== ESP同期設定の変更 =====
 +
 +PVEがESPの同期の時に使うUUIDの設定を変更する。変えなくてもPVE自体は動くが、update-initramfsなどをした時にESPが更新されなくなる。
 +
 +''blkid''コマンドでパーティションのUUIDを表示する。
 +
 +<code>
 +# blkid
 +/dev/nvme0n1p1: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="5172-02A5" TYPE="vfat" PARTUUID="381a481f-926d-834a-b607-ab8c7f30d141"
 +/dev/nvme0n1p2: LABEL="zroot" UUID="14384939844916901067" UUID_SUB="4240071790088313073" TYPE="zfs_member" PARTUUID="618094f1-c1c8-0b4e-b685-06d67f86a449"
 +(略)
 +/dev/nvme0n1: PTUUID="9248b857-8f10-ca4b-a0c0-3ea559112855" PTTYPE="gpt"
 +/dev/nvme1n1: PTUUID="fe718aa7-f8d0-c149-88db-55afb4dbe75a" PTTYPE="gpt"
 +/dev/mapper/fbsd_disk0: PTTYPE="PMBR"
 +/dev/mapper/fbsd_disk1: PTTYPE="PMBR"
 +</code>
 +
 +こんな感じでずらずらと表示される。
 +
 +必要なのは、対象のESPのパーティションのUUIDである。うちの環境ではnvme0n1p1なので 5172-02A5 となる。
 +
 +''/etc/kernel/pve-efiboot-uuids''に入っている以前のUUIDを、この値で置き換える。
  • virtualization/proxmox_ve_6_2_share_disk_with_other_zpools.1610860560.txt.gz
  • 最終更新: 2021-01-17 14:16
  • by Decomo