lvm

Erreur interne LVM: Segments LV endommagé après avoir ajouté une bande dans LV raid5

J'essaie de simuler la mise à jour planifiée du système de stockage. Pour ce faire, j'ai recréé un réglage avec des disques plus petits dans une machine virtuelle.

Formation

Le point de départ est LV de raid5, 2 lanières sur 3 PV et mise en cache sur un PV, Comme suit:

pvcreate / dev / sdd / dev / sde / dev / sdf vgcreate vg01 / dev / sdd / dev / sde / dev / sdf lvcreate -n origin_lv -l 8180 -i 2 --type raid5 vg01 \ / dev / sdd / dev / sde / dev / sdf

cela mène à VG de raid5 sur 3 dispositifs. Ensuite, je l'ai fait pour créer Tom Kesha:

pvcreate /dev/sdc1
vgextend vg01 /dev/sdc1
lvcreate -n origin_lv_cache -L 10G vg01 /dev/sdc1


pvcreate /dev/sdc2
vgextend vg01 /dev/sdc2
lvcreate -n origin_lv_cache_meta -L 1G vg01 /dev/sdc2

Ceci est de créer une piscine de Keshi:

lvconvert \
--type cache-pool \
--poolmetadata vg01/origin_lv_cache_meta \
vg01/origin_lv_cache

et attaché à l'original LV:

lvconvert \
--type cache \
--cachepool vg01/origin_lv_cache \
vg01/origin_lv

>>>> output: "Logical volume vg01/origin_lv is now cached"

Alors j'utilise luksFormat et mkfs, En conséquence, il éteint un système de fichiers parfaitement monté.

Ce problème

Maintenant, je veux ajouter un conteneur. Pour cela, j'ai essayé ce qui suit:

lvconvert --splitcache vg01/origin_lv

Supprimer la mise en cache. Il synchronise tout de la cache au réel LV, Ensuite, je peux le faire:

pvcreate /dev/sdg 
vgextend vg01 /dev/sdg

Ajouter de nouvelles PV, alors:

lvconvert --stripes 3 vg01 / origin_lv [Tous les périphériques précédents] [Nouveau périphérique]

En conséquence, comme prévu, LV sera sur 50% Plus d'espace. Maintenant, j'ai essayé de ré-connecter le cache et même de retirer les volumes de cache et de les recréer, mais lorsque j'essaie de le relacez à la réalité. LV, Je reçois ce qui suit:

lvconvert \
--type cache-pool \
--poolmetadata vg01/origin_lv_cache_meta \
vg01/origin_lv_cache

production:

Do you want wipe existing metadata of cache pool vg01/origin_lv_cache? [y/n]: y
LV origin_lv, segment 1 invalid: reshape for cache segment.
Internal error: LV segments corrupted in origin_lv.

Cependant, je peux monter et lire / Record basique LV Tout simplement bien, cela ne parvient tout simplement pas à relier le cache.

Des idées qui me manquent ici?
Invité:

Hannah

Confirmation de:

Comme il est apparu, fsresize Ne connaît pas l'état de base de la synchronisation. Utilisant lvs Pour vérifier l'état de la synchronisation et attendre 100% Synchroniser, puis le changement de taille fonctionnait normalement.

Pour répondre aux questions, connectez-vous ou registre