zfs ubuntu root,如何启动?

zfs ubuntu root,如何启动?

我尝试将我的 ext4 根目录迁移到 zfs 根目录。系统是 VirtualBox VM,有三个硬盘,第一个硬盘包含 ubuntu TLS 16.04,有 3 个分区(启动、交换、根),第二个和第三个硬盘用于 zfs。所以

sda1 boot
sda2 ext4 /
sda3 swap
sdb1 zfs
sdc1 zfs

我迈出了这些步伐

步骤1 确定

sudo echo "deb http://us.archive.ubuntu.com/ubuntu xenial universe" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install zfsutils-linux zfs-initramfs
sudo modprobe zfs

步骤2 确定

mklabel gpt Y \
mkpart zfs zfs 0% -512MB \
mkpart efi fat32 -512MB 100% \
set 2 boot on

sudo zpool create -o ashift=12 \
-o autoexpand=on \
-O compression=lz4 \
rpool \
raidz /dev/sdb1 /dev/sdc1

步骤3 确定

sudo zpool export rpool     
sudo zpool import -d /dev/disk/by-id rpool
sudo zpool status -v rpool

步骤4 确定

sudo mkdir /tmp/oldroot
sudo mount --bind / /tmp/oldroot
sudo rsync -avPX /tmp/oldroot/ /rpool/ROOT/ubuntu

然后我重新启动(否则下一步会出现错误)然后我执行了步骤 5

for d in proc sys dev; do sudo mount -v --bind /$d /rpool/ROOT/ubuntu/$d; done
sudo chroot /rpool/ROOT/ubuntu
grub-install /dev/sdb1
update-grub

我断开了 sda,无法启动,无法进入 dos 模式(bios),也无法进入 efi。我错过了什么?我已经关注了指导

答案1

我遵循了本指南,它在具有 raidz1 配置的 3 个磁盘的 KVM 中为我工作:

https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.04-Root-on-ZFS

有两点需要注意:

  1. 我必须使用非 virtio 磁盘,否则 grub(是的,grub)在启动时只会看到一个磁盘而不是 3 个。由于我使用的是 raidz1,所以这不足以启动。

  2. 另一个是,如果使用磁盘/按 ID 设备,您可能必须为 grub 导出此变量,直到错误 #1527727已修复:export ZPOOL_VDEV_NAME_PATH=YES

相关内容