Skip to content

how to repair out of sync lv mirror with raidintegrity=y ? #192

@devZer0

Description

@devZer0

hello,

i'm playing around with lvmraid with raidintegrity

i created mirrord lv via:

lvcreate --type raid1 --mirrors 1 --size 4G --name lv_mirror9_4G --raidintegrity y --raidintegritymode journal vg_mirror9

i attached that to a virtual machine, and did some testing via break-raid-odirect.c mentioned at https://bugzilla.kernel.org/show_bug.cgi?id=99171

indeed this introduced inconsistency into the mirror.

indeed, after

# lvchange --syncaction check /dev/mapper/vg_mirror9-lv_mirror9_4G

i see mismatches as expected:

# lvs -a -o +lv_health_status,raid_mismatch_count /dev/mapper/vg_mirror9-lv_mirror9_4G LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Health Mismatches lv_mirror9_4G vg_mirror9 rwi-aor-m- 4.00g 100.00 mismatches exist 81536

now, if i run --syncaction check again, i would expect those to be repaired, but it doesn't happen.

syncaction repair does not seem to work with integrity feature

# lvchange --syncaction repair /dev/mapper/vg_mirror9-lv_mirror9_4G
Use syncaction check to detect and correct integrity checksum mismatches

in journalctl, i cannot see any checksum mismatches, so my question is what can be done to repair the mirror and how i know, which side of the mirror does contain the correct data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions