Re: ZFS feature compatibility?

From: mike tancsa <mike_at_sentex.net>
Date: Mon, 25 Jan 2021 16:17:18 -0500
On 1/25/2021 4:03 PM, Toomas Soome wrote:
>
>
>> On 25. Jan 2021, at 22:15, mike tancsa <mike_at_sentex.net
>> <mailto:mike_at_sentex.net>> wrote:
>>
>> On 1/25/2021 2:37 PM, Toomas Soome via freebsd-current wrote:
>>>
>>>> On 25. Jan 2021, at 21:31, Michael Butler via freebsd-current
>>>> <freebsd-current_at_freebsd.org <mailto:freebsd-current_at_freebsd.org>>
>>>> wrote:
>>>>
>>>> I have a few machines on which I've been hesitant to run 'zpool
>>>> upgrade' as I'm not sure of the (boot?) implications. They report
>>>> like this ..
>>>>
>>>> imb_at_toshi:/home/imb> uname -a
>>>> FreeBSD toshi.auburn.protected-networks.net
>>>> <http://toshi.auburn.protected-networks.net> 14.0-CURRENT FreeBSD
>>>> 14.0-CURRENT #25 main-eb61de5b78: Fri Jan 22 10:03:02 EST 2021
>>>> root_at_toshi.auburn.protected-networks.net
>>>> <mailto:root_at_toshi.auburn.protected-networks.net>:/usr/obj/usr/src/amd64.amd64/sys/TOSHI
>>>> amd64
>>>>
>>>> imb_at_toshi:/home/imb> zpool status
>>>> pool: zroot
>>>> 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(5) for details.
>>>>
>>>> Is it safe to upgrade the root pool?
>>>>
>>>> imb
>>> We can not boot from encrypted pool and draid. Rest is all ok.
>>> Please note, you may need to update the bootblocks.
>>>
>> last Friday on zoo.freebsd.org
>> <http://zoo.freebsd.org/>, mjg_at_freebsd.org
>> <mailto:mjg_at_freebsd.org> and I could not boot
>> again because v2 bookmarks were on the boot pool.  I had to boot from
>> another disk, remove the bookmarks and then boot. This was on RELENG_13
>> (stable/13-c256203-g51d73a3e46c)
>>
>>     —Mike
>
> /*
>  * List of ZFS features supported for read
>  */
> static const char *features_for_read[] = {
>         "org.illumos:lz4_compress",
>         "com.delphix:hole_birth",
>         "com.delphix:extensible_dataset",
>         "com.delphix:embedded_data",
>         "org.open-zfs:large_blocks",
>         "org.illumos:sha512",
>         "org.illumos:skein",
>         "org.zfsonlinux:large_dnode",
>         "com.joyent:multi_vdev_crash_dump",
>         "com.delphix:spacemap_histogram",
>         "com.delphix:zpool_checkpoint",
>         "com.delphix:spacemap_v2",
>         "com.datto:encryption",
>         "com.datto:bookmark_v2",
>         "org.zfsonlinux:allocation_classes",
>         "com.datto:resilver_defer",
>         "com.delphix:device_removal",
>         "com.delphix:obsolete_counts",
>         "com.intel:allocation_classes",
>         "org.freebsd:zstd_compress",
>         "com.delphix:bookmark_written",
>         NULL
> };
>
> Are you sure you have bootblocks updated? ESP for UEFI boot and
> freebsd-boot for BIOS boot.
>
>
mjg did them IIRC.  I just checked to make sure both were done and they
seem identical

root_at_zoo2:/home/mdtancsa # dd if=/dev/ada8p2 of=/tmp/8
1024+0 records in
1024+0 records out
524288 bytes transferred in 0.046479 secs (11280092 bytes/sec)
root_at_zoo2:/home/mdtancsa # dd if=/dev/ada9p2 of=/tmp/9
1024+0 records in
1024+0 records out
524288 bytes transferred in 0.054717 secs (9581751 bytes/sec)
root_at_zoo2:/home/mdtancsa # md5 /tmp/8 /tmp/9
MD5 (/tmp/8) = e294b1344cbb49c751474facc39998ec
MD5 (/tmp/9) = e294b1344cbb49c751474facc39998ec
root_at_zoo2:/home/mdtancsa #

Is there a way to check from the bin if its the right version ? strings
of the file doesnt seem to show anything useful.  I wonder if its the
UEFI boot that got missed ?  Just

gpart bootcode -p /boot/boot1.efifat -i 1ada8

gpart bootcode -p /boot/boot1.efifat -i 1ada9

I take it ?

MD5 (/tmp/81) = ff8762fa2b885347a0030b45b0f3844e
MD5 (/tmp/91) = e0fa5369ddb0471373bca6b29e027680
MD5 (/boot/boot1.efi) = c023e2c74479b2f0710ab0337a7bab4f

root_at_zoo2:/boot # dd if=/dev/ada9p1 of=/tmp/91 bs=1m
200+0 records in
200+0 records out
209715200 bytes transferred in 0.557007 secs (376503669 bytes/sec)
root_at_zoo2:/boot # dd if=/dev/ada8p1 of=/tmp/81 bs=1m
200+0 records in
200+0 records out
209715200 bytes transferred in 0.475806 secs (440757874 bytes/sec)
root_at_zoo2:/boot # md5 /tmp/81 /tmp/91 /boot/boot1
boot1      boot1.efi*
root_at_zoo2:/boot # md5 /tmp/81 /tmp/91 /boot/boot1.efi
MD5 (/tmp/81) = ff8762fa2b885347a0030b45b0f3844e
MD5 (/tmp/91) = e0fa5369ddb0471373bca6b29e027680
MD5 (/boot/boot1.efi) = c023e2c74479b2f0710ab0337a7bab4f

I am guessing they extracted boot blocks should match, no ?

    ---Mike
Received on Mon Jan 25 2021 - 20:17:18 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:26 UTC