Bonjour,
Le 30/01/2020 à 11:22, Dernat Rémy a écrit :
A mon avis tu dois avoir du cache quelque part...
Oui, il y a le cache (mémoire) intégré à ZFS, mais pas de L2ARC.
Il y a 96Go de RAM sur l'hôte de virtualisation (il y avait une erreur
dans ma description initiale).
Sinon, est-ce que tu as activé de la compression à la volée ?
Oui la compression est active.
$ zfs get all | grep compression
[...]
rpool/data compression on
inherited from rpool
As-tu calculé les débits théoriques sur les disques ?
Il s'agit de disques SATA Entreprise à 7200tr/min dont l'interface est à
6 Gbps.
On peut écrire de manière soutenue à environ 190 Mo/s sur un disque
monté en direct (sans ZFS).
$ fio --name=seqfile --ioengine=libaio --iodepth=32 --rw=write --bs=16k
--direct=1 --size=4G --numjobs=8 --group_reporting
[...]
write: IOPS=11.6k, BW=181MiB/s (189MB/s)(32.0GiB/181426msec)
Je n'ai pas de problème particulier avec le débit disque en lui même.
Ce qui me questionne, c'est l'ordre de grandeur entre le débit sur le
système de fichier et le débit effectif résultant sur le sous-système
disque selon le type d'écriture:
-> en écriture aléatoire : fichier 2 Gbps --> ZFS --> disques 11 Gbps
-> en écriture séquentielle : fichier 8 Gbps --> ZFS --> disques 10 Gbps
Est-ce que tu as des ordres de grandeur similaires en écriture aléatoire
vs séquentielle sur ton infra ?
Merci.
--
Emmanuel DECAEN
> Le 29/01/2020 à 14:44, Emmanuel DECAEN a écrit :
>>
>> Bonjour,
>>
>> Depuis quelques semaines, je teste la solution Proxmox VE 6.1.
>> Il y a beaucoup de choses intéressantes, mais j'avoue avoir des
>> surprises avec la partie ZFS pour la virtualisation.
>>
>> J'ai une petite maquette avec un ancien serveur Dell :
>> - Chassis R730XD 12 slots
>> - 256 Go de RAM
>> - 10 disques SATA Entreprise 6 To en ZFS RAID z2 mode HBA
>> - 2 SSD SAS 1,8 To non utilisés pour le moment (ni ZIL, ni L2ARC).
>>
>> Quand je fais un test sur l'hôte de virtualisation (Proxmox) avec
>> fio, j'obtiens ceci:
>>
>> $ fio --name=randfile --ioengine=libaio --iodepth=32 --rw=randwrite
>> --bs=16k --direct=1 --size=4G --numjobs=8 --group_reporting
>> [...]
>> write: IOPS=13.8k, BW=216MiB/s (227MB/s)(32.0GiB/151568msec)
>>
>> ==> fio : 227 Mo/s
>>
>> Côté iostat sur l'intervalle de temps:
>> $ iostat -xm 60
>> avg-cpu: %user %nice %system %iowait %steal %idle
>> 0.29 0.00 30.98 9.80 0.00 58.93
>>
>> Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s
>> %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
>> sda 0.05 2185.70 0.00 133.04 0.00 5.00
>> 0.00 0.23 21.00 3.34 2.71 4.00 62.33 0.35 77.37
>> [...] (8 lignes similaires)
>> sdj 0.02 2169.40 0.00 133.04 0.00 4.70
>> 0.00 0.22 48.00 3.45 2.90 4.00 62.80 0.36 77.13
>>
>>
>> ==> iostat: 1330 Mo/s
>>
>> Côté zpool iostat sur l'intervalle de temps:
>> $ zpool iostat -v 60
>> capacity
>> operations bandwidth
>> pool alloc free read
>> write read write
>> ------------------------------------------ ----- ----- -----
>> ----- ----- -----
>> rpool 73.2G 54.5T 0
>> 19.4K 2.33K 1.30G
>> raidz2 73.2G 54.5T 0
>> 19.4K 2.33K 1.30G
>> ata-ST6000NM0024-1HT17Z_xxxxxxxx-part3 - - 0
>> 1.93K 204 133M
>> [...] (8 lignes similaires)
>> ata-ST6000NM0024-1HT17Z_xxxxxxxx-part3 - - 0
>> 1.92K 68 133M
>>
>> ==> zfs iostat: 1300 Mo/s
>>
>>
>> Le débit est cohérent entre iostat et zfs iostat.
>> Comment expliquer la différence entre l'écriture faite par fio à 227
>> Mo/s et celle relevée par les iostat à 1300 Mo/s ?
>>
>> Le fonctionnement de ZFS en RAID z2 + journal doit aboutir à un
>> facteur 6 côté débit ?
>>
>> Merci.
>> -- *
>> *Emmanuel DECAEN
>>