[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#775395: partman-zfs in d-i jessie image does not create grub-compatible /boot ZFS mirror



Package: partman-zfs
Version: 42
Severity: grave
Tags: d-i
Justification: renders package unusable for ZFS-based install

(which is probably the reason someone is trying Debian/kFreeBSD .. to
use ZFS)

Dear Maintainer,

Tried the 2015-01-12 nightly mini.iso Jessie image.  In the partition
setup via "expert" install, selected all disks to use with ZFS --
partitioned 3 drives into three partitions (see below for scheme) --
then proceeded to create two ZFS pools from these, a "b" pool from
partition 1 as a mirror across three drives, then a "z" pool from
partition 2 as raidz across three drives.  It happily did all this,
installed the base system, etc...

--
root@bear:~# parted /dev/da0
GNU Parted 3.2
Using /dev/da0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: VMware   Virtual disk     (scsi)
Disk /dev/da0: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 3      17.4kB  1049kB  1031kB                     bios_grub
 1      1049kB  512MB   511MB
 2      512MB   42.9GB  42.4GB  zfs

(parted)
--

But installing Grub failed with "unknown filesystem".  In
troubleshooting the issue, it seems grub2 (version currently is
2.02~beta2-19) does not recognize the "feature@lz4_compress" option (and
had been previously reported) of the ZFS pools that kFreeBSD kernel 10.1
creates. And there's no way to disable it once the pool is created.

What I ended up doing is recreating everything again, this time
interrupting and adding the "-d" flag to the pool creation command (done
manually) to leave all the feature@* options disabled for building the
system.

This worked.  Installation of Grub as the boot loader was successful and
the system booted using /boot (and /lib/modules) as volumes on the "b"
pool, which is a simple ZFS mirror.

Please consider adding the "-d" flag in partman-zfs for Jessie, i.e.,

 # zpool create -d "pool" <dev-spec>

And then perhaps turning on feature@ flags that are known to work with
grub for booting.

Here's what my pools look like right now and all is well:

--
root@bear:~# zpool status
  pool: b
 state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
        still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not
support
        the features. See zpool-features(7) for details.
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        b           ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            da0p1   ONLINE       0     0     0
            da1p1   ONLINE       0     0     0
            da2p1   ONLINE       0     0     0

errors: No known data errors

  pool: z
 state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
        still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not
support
        the features. See zpool-features(7) for details.
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        z           ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            da0p2   ONLINE       0     0     0
            da1p2   ONLINE       0     0     0
            da2p2   ONLINE       0     0     0

errors: No known data errors

root@bear:~# zpool get all b
NAME  PROPERTY                       VALUE                       SOURCE
b     size                           480M                        -
b     capacity                       12%                         -
b     altroot                        -                           default
b     health                         ONLINE                      -
b     guid                           13665561835741433528        default
b     version                        -                           default
b     bootfs                         -                           default
b     delegation                     on                          default
b     autoreplace                    off                         default
b     cachefile                      -                           default
b     failmode                       wait                        default
b     listsnapshots                  off                         default
b     autoexpand                     off                         default
b     dedupditto                     0                           default
b     dedupratio                     1.00x                       -
b     free                           420M                        -
b     allocated                      60.2M                       -
b     readonly                       off                         -
b     comment                        -                           default
b     expandsize                     0                           -
b     freeing                        0                           default
b     fragmentation                  -                           -
b     leaked                         0                           default
b     feature@async_destroy          disabled                    local
b     feature@empty_bpobj            disabled                    local
b     feature@lz4_compress           disabled                    local
b     feature@multi_vdev_crash_dump  disabled                    local
b     feature@spacemap_histogram     disabled                    local
b     feature@enabled_txg            disabled                    local
b     feature@hole_birth             disabled                    local
b     feature@extensible_dataset     disabled                    local
b     feature@embedded_data          disabled                    local
b     feature@bookmarks              disabled                    local
b     feature@filesystem_limits      disabled                    local

root@bear:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
z/root           77G  2.1G   75G   3% /
linprocfs       4.0K  4.0K     0 100% /proc
fdescfs         1.0K  1.0K     0 100% /dev/fd
tmpfs           4.8G  516K  4.8G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.6G  4.0K  1.6G   1% /run/shm
b/boot          406M   18M  388M   5% /boot
b/modules       431M   43M  388M  10% /lib/modules

Regards,
Mike

-- 
Michael Milligan                                   -> milli@acmeps.com
Acme Professional Services LLC


Reply to: