Hello, 

Depuis plusieurs incidents du genre, je cree tous mes pools avec un meta de 1G, 
a adapter suivant tes besoins, mais cela tiens depuis plusieurs annees comme 
cela sans tomber chez nous. 
C'est sur que ce n'est pas satisfaisant comme reponse, mais chez nous ca 
marche... 

Je l'avais ajoute dans la supervision egalement ... 

A+ 

Nicolas 

> De: "Pi Droid" <pidroi...@gmail.com>
> À: "frsag" <frsag@frsag.org>
> Envoyé: Mardi 1 Décembre 2020 17:11:10
> Objet: [FRsAG] Proxmox 6.3-2 et Pool LVM-Thin

> Hello,

> TL;DR : Comment gérer efficacement les pools LVM-Thin sous proxmox ? sans 
> risque
> de crash dû à des metadata à 100% ?

> Il y a quelque temps, j'avais basculé mes "datastores" Proxmox d'un 
> traditionnel
> LVM à du LVM-Thin pour diverses raisons (snapshot, clone, overcommitment avec
> discard ...)

> Seulement, voilà, le 23/11/20 la VM 118 de type "NAS" (samba) voit son disque
> dédié aux données en erreur au fur et à mesure que l'on stocke dessus avec
> notamment la perte significative de données (Cf plus bas pour les logs) puis
> fini par basculer régulièrement en read only jusqu'au 29/11/20 (oui... je 
> pense
> que vous noterez ici la concordance avec un potentiel petit souci de 
> monitoring
> et je ne vous parle pas de la fin de vie de mon backup hors site chez C14... 
> ).

> Après de nombreuses investigations, je découvre que le pool LVM-Thin sur 
> lequel
> était le LV dédié aux données affiche un taux d'occupation de metadata à 100%.

> Quelques infos qui aideront, je l'espère, à la compréhension :

> ~# vgs v2cold
> VG #PV #LV #SN Attr VSize VFree
> v2cold 1 11 0 wz--n- 16.37t 1.08t

> ~# lvs -a v2cold
> LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
> data2cold v2cold twi-aotz-- 11.29t 52.09 38.59
> [data2cold_tdata] v2cold Twi-ao---- 11.29t
> [data2cold_tmeta] v2cold ewi-ao---- 288.00m
> [lvol0_pmspare] v2cold ewi------- 128.00m
> ressource2cold v2cold -wi-ao---- 4.00t
> ...
> vm-118-disk-0 v2cold Vwi-a-tz-- <3.91t data2cold 31.33
> vm-118-disk-1 v2cold Vwi-aotz-- <3.91t data2cold 31.05
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

> Afin de résoudre au plus vite la situation, voici les actions menées :
> - arrêt de toutes les vm utilisant data2cold
> - augmentation des metadata pour ce pool via la commande : lvextend
> --poolmetadatasize +160M v2cold/data2cold
> - augmentation du lv-thin suite à warning sur manque d'espace : lvextend -L
> +300G v2cold/data2cold
> - tentative de redémarrage de la VM 118 en question (boucle de : boot + fsck +
> test d'écriture) mais ca retombe toujours en erreur. J'en ai conclu (à tort ?)
> que le LV vm-118-disk-0 de la VM était mort.
> - création d'un autre LV (vm-118-disk-1) sur ce même pool + restauration de
> backup et switch entre les deux LV sur la VM
> - la VM refonctionne à nouveau

> Maintenant après vérification, il est nécessaire de restaurer les autres VM
> également. Seulement voilà... J'aimerai fiabiliser mes pool LVM-Thin...
> J'ai lu de très très nombreux documents et sites sur le sujet (le plus 
> pertinent
> et complet à mes yeux pour ceux qui veulent : [
> https://bugzilla.proxmox.com/show_bug.cgi?id=1241 |
> https://bugzilla.proxmox.com/show_bug.cgi?id=1241 ] ) et suis "ravi" de voir
> que je ne suis pas le seul à avoir rencontré ce problème... Pour autant je 
> n'ai
> pas trouvé de solution fiable et pérenne.

> En effet, voici mes conclusions :

> - La commande d'augmentation des metadata pour un pool n'est pas la bonne (ou
> n'est pas complète). Bref, je ne suis pas parvenu à augmenter le lvol0_pmspare
> alors que ce dernier est nécessaire pour les snapshots et réparations si j'ai
> bien compris.

> - J'ai tenté de calculer la taille des metadata avec la formule <ThinPool 
> Size>
> / <Chunk Size> * 64
> Ce qui a donné pour mes 3 pools :
> data0hot (taille 930G, chunk 512K) : 122 Mo
> data1middle (taille 1,64T, chunk 1M) : 111 Mo
> data2cold (taille 11,3T, chunk 2M) : 379 Mo
> Complètement décorrélé de ce que j'ai sous les yeux...

> - J'ai découvert les options thin_pool_autoextend_threshold et
> thin_pool_autoextend_percent dont l'interprétation varie selon la source (pas
> oser expérimenter du coup...)

> - Ma peur de me retrouver dans une situation encore plus dégradée me rend très
> réticent à toute expérimentation (heureusement seul data2cold est à refaire
> pour le moment).

> Et ma question : Comment bien gérer les LVM Thin-pool sous proxmox ?
> Je prends tout autre conseil également !

> Merci d'avance,

> pidroid
> PS : concernant les incidents "monitoring" et "backup hors site", ils seront
> traités dans les plus bref délais.. je l'espère :-P

> ###############################################################################

> Kern.log de la VM 118:

> Nov 29 00:32:17 vm-118 kernel: [ 772.386502] EXT4-fs error (device dm-0):
> ext4_ext_map_blocks:4321: inode #82575362: comm kworker/u4:1: bad extent
> address lblock: 122881, depth:$
> Nov 29 00:32:17 vm-118 kernel: [ 772.388484] EXT4-fs (dm-0): Delayed block
> allocation failed for inode 82575362 at logical offset 122881 with max blocks
> 2048 with error 117
> Nov 29 00:32:17 vm-118 kernel: [ 772.388587] EXT4-fs (dm-0): This should not
> happen!! Data will be lost
> Nov 29 00:32:17 vm-118 kernel: [ 772.388587]
> Nov 29 00:32:17 vm-118 kernel: [ 772.426374] sd 2:0:0:2: [sdb] tag#169 FAILED
> Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
> Nov 29 00:32:17 vm-118 kernel: [ 772.426382] sd 2:0:0:2: [sdb] tag#169 Sense 
> Key
> : Aborted Command [current]
> Nov 29 00:32:17 vm-118 kernel: [ 772.426384] sd 2:0:0:2: [sdb] tag#169 Add.
> Sense: I/O process terminated
> Nov 29 00:32:17 vm-118 kernel: [ 772.426390] sd 2:0:0:2: [sdb] tag#169 CDB:
> Write(16) 8a 00 00 00 00 00 9d 9e 51 50 00 00 00 08 00 00
> Nov 29 00:32:17 vm-118 kernel: [ 772.426393] print_req_error: I/O error, dev
> sdb, sector 2644398416
> Nov 29 00:32:17 vm-118 kernel: [ 772.426472] Buffer I/O error on dev dm-0,
> logical block 330549546, lost async page write
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

> _______________________________________________
> Liste de diffusion du FRsAG
> http://www.frsag.org/
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à