LoginSignup
0
0

More than 5 years have passed since last update.

Proxmox VEのZFS Rootの複製

Last updated at Posted at 2016-04-29

事前にProxmox VEをインストールし、一つのパーティションだけ書き戻す方法(成功)

# NAS4Free
zpool import -f -d /dev/gptid -R /mnt/rpool rpool

zfs destroy -f rpool/ROOT/pve-1
zfs snapshot <tank>/pve-1@temp
zfs send     <tank>/pve-1@temp | zfs recv rpool/ROOT/pve-1
zfs destroy  <tank>/pve-1@temp
zfs destroy  rpool/ROOT/pve-1@temp

zfs set mountpoint=/ rpool/ROOT/pve-1
zpool export rpool

# Proxmox VE(ext4 root)
# インポートできるプールを確認
zpool import

# rpoolをインポート・アンマウント
zpool import -f -R /mnt/rpool rpool && zfs unmount rpool

# ACLを有効にする
zfs set acltype=posixacl rpool/ROOT && zfs set xattr=sa rpool/ROOT

# rpool/ROOT/pve-1を削除
zfs destroy rpool/ROOT/pve-1

# バックアップからrpool/ROOT/pve-1を復旧
zfs send tank20160418/pve-1@rpool_to_tank20160418 | zfs recv rpool/ROOT/pve-1

# マウントポイントを設定
zfs set mountpoint=/ rpool/ROOT/pve-1

# rpoolをエクスポート
zpool export rpool

一からパーティションを作る方法(失敗)

もともと、下記のようなコードでProxmox VEのZFS Rootの複製ができるかと思ったのですが、zpoolのguidが変わるとブートできなくなるようでした。

ZFS Rootでブート中にやろうとするとrpoolが重複するため、MBR、BIOS boot partitionおよびrpool/ROOT/pve-1を一度HDDにコピーし、NAS4Freeでブートするという前提です。

#NAS4Free
#調査
geom disk list
gpart list
gpart show da1

#パーティション消去・作成
gpart destroy da1
gpart create -s gpt da1
gpart add -t bios-boot      -b 34 -s 2014    da1
gpart add -t '\!<partuuid>' -b 2048 -l 'zfs' da1
gpart set -a bootme -i 1 da1

#zpool作成
gnop create -S 4096 da1p2
zpool create rpool da1p2.nop
zfs set compression=lz4 rpool
zfs set atime=off rpool
zfs set sync=standard rpool

#zfs作成
zfs create rpool/ROOT
zfs create -V 2G -b 4K -o primarycache=metadata -o sync=always -o com.sun:auto-snapshot=false rpool/swap

#zpoolエクスポート・インポート
zpool export rpool
gnop destroy da1p2.nop
zpool import -d /dev/gptid -R /mnt/rpool rpool

#本体zfsコピー
zfs snapshot <tank>/<fs>@temp
zfs send     <tank>/<fs>@temp | zfs recv rpool/ROOT/pve-1
zfs destroy  <tank>/<fs>@temp
zfs destroy  rpool/ROOT/pve-1@temp

#確認
zpool list
zfs list

#zpool・zfs設定
zpool set bootfs=rpool/ROOT/pve-1 rpool
zfs set mountpoint=/ rpool/ROOT/pve-1
zfs set mountpoint=/rpool rpool

#zpoolエクスポート
zpool export rpool

#mbr・bios_bootコピー
dd if=/mbr1 of=/dev/da1 bs=512 count=1
dd if=/bios_boot1 of=/dev/da1p1
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0