Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent warning of mismatched redunancy classes #17086

Open
valarauca opened this issue Feb 22, 2025 · 0 comments
Open

Inconsistent warning of mismatched redunancy classes #17086

valarauca opened this issue Feb 22, 2025 · 0 comments
Labels
Type: Defect Incorrect behavior (e.g. crash, hang)

Comments

@valarauca
Copy link

System information

Type Version/Name
Distribution Name Debian GNU/Linux
Distribution Version 12 (bookworm)
Kernel Version 6.8.12-8
Architecture AMD64/x86_64
OpenZFS Version 2.2.7

Builds are distributed via ProxMox v8.3 so the -pve trail on zfs versions & kernel version were ommitted.

Describe the problem you're observing

The error

mismatched replication level: both disk and draid vdevs are present

Is highly inconsistent

For example creating a pool like

zpool create -n -m none -t pool -oashift=12 \
    log nmve4n1 \
    draid2:8d:11c:1s sd[a-k]

invalid vdev specification
use '-f' to override the following errors
mismatched replication level: both disks and draid vdevs present

we pull the old switcheroo on the order:

zpool create -n -m none -t pool -oashift=12 \
    draid2:8d:11c:1s sd[a-k] \
    log nmve4n1 
    

would create 'draid2:8d:11c:1s' with the following layout:

    draid2:8d11c1s
      sda
      sdb
        ...
      sdk
    logs
      nvme4n1

Describe how to reproduce the problem

  1. log before draid -> fails
  2. draid before log -> works

One more thing

If a metadata special device is used (for example mirroring drives).

Ordering also matters.

zpool create -n -m none -t pool -oashift=12 \
    draid2:8d:11c:1s sd[a-k] \
    log nmve4n1 \
    special mirror nvme1n1 nvme2n1 \
    ; echo -e "\n$?\n"

invalid vdev specification
use '-f' to override the following errors
mismatched replication level: both disks and mirror vdevs present

1

Now I get a totally different error

zpool create -n -m none -t pool -oashift=12 \
    special mirror nvme1n1 nvme2n1 \
    draid2:8d:11c:1s sd[a-k] \
    log nmve4n1 \
    ; echo -e "\n$?\n"

invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: draid and mirror vdevs with different redundancy, 2 vs. 1 (2-way) are present

1
@valarauca valarauca added the Type: Defect Incorrect behavior (e.g. crash, hang) label Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Defect Incorrect behavior (e.g. crash, hang)
Projects
None yet
Development

No branches or pull requests

1 participant