Page 1 of 1

[RESOLU] Débit disque et Zlog

Posted: 17 Aug 2016 21:54
by ernie
Hello,

Sur ma carte mère j'ai mis une carte pci express H200 qui fait du sas 6 Gb/s. Ma carte mère a 4 ports sata 6 GB/s et 2 port 3 Gb/s.

J'ai testé différentes configuration de disque:
- HDD sur sata 6Gb/s de la carte mère
- SSD sur sata 6 Gb/s de la carte mère
- HDD SAS 6 Gb/s sur carte sas
- HDD SAS 3 Gb/s sur carte sas

J'ai testé la commande ci-après pour chaque type de HDD:
dd if=/dev/DEVICE of=/dev/null bs=1M count=10000

Et par ordre de rapidité j'ai:

1) le ssd sur le port de la carte mère:
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 51.648711 secs (203020749 bytes/sec)

2) Le HDD SAS 6 Gb/s sur la carte sas
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 53.273699 secs (196828083 bytes/sec)

3) Le HDD sata sur le port 6 Gb/s de la carte mère
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 75.070901 secs (139678089 bytes/sec)

4) Le HDD SAS 3 Gb/s sur la carte sas
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 84.825684 secs (123615390 bytes/sec)

Je me dis de mettre sur la carte sas mes 4 dd SAS 6 gb/s pour le pool.
Et je pensais mettre en Zlog les 2 HDD SAS 3 Gb/s relié aussi à la carte sas.
Et en Zcache le SSD relié à la carte mère.

Mais vu les performances du sas 3 Gb/s, est ce intéressant de mettre un ZLog ?

En réserve j'ai 2 SDD identiques, qui n'ont plus que 30% de vie. Cela ne vaut il pas mieux des les utiliser en Zlog (mirror) ?

Merci par avance de vos conseils.

Re: Débit disque et Zlog

Posted: 17 Aug 2016 22:23
by ernie
Vu les performances du sas 6 Go/s, je pense même ne pas mettre de zlog vu que c est surtout pour aider des systèmes faibles (sata par exemple).

Des l attente de vous lire

Re: Débit disque et Zlog

Posted: 17 Aug 2016 23:08
by mtiburs
Le zlog se remplit quand le pool ne peut pas absorber le travail a réaliser, mais dès que possible le zlog est entièrement vidé, donc, si tu n'as pas un débit constant et une charge constante le zlog sera .... toujours vide !
Le zlog, c'est comme un entonnoir, le débit de sortie est faible, mais si toi tu veux verser un grand coup quelque chose, çà absorbe, çà temporise la charge.
le zlog prend en charge les écritures en dehors du pool ... comme l'entonnoir qui est en dehors du récipient.

Mais ce qu'il faut retenir, c'est qu'un entonnoir, çà sert à rien sur un récipient comme une piscine. Donc, c'est utille pour un pool lent ou pour de fortes charges (et coté charge, c'est la carte SAS qui fait le chef d'orchestre avec la puissance d'un PC)

Pour savoir si t'as un pool faible: fais ton dd dans ton pool:
dd if=/dev/zero of=/monpool/fichier_de_100Go bs=1M count=100000
évidement, sans avoir mis la compression ou la déduplication !!!
Là tu verras ton débit ;)
Puis si çà ne te plais pas, tu peux tester le zlog pour voir ce qu'il fait

Je pense que le plus important est que tu saches quelles types de données va passer (lectures ? écritures ? les deux ? quelle proportion ?)
du temps d'accès ou du débit ? la proportion entre les deux ?

Perso, je lance un zpool iostat -v 1 et je regarde travailler le pool, c'est comme çà que tu verras ce qui circule.
C'est le type de données (et leur utilisation) qui doit guider "les choses"

En tout cas, tu t'en donne les moyens, c'est bien :lol:

Pour tes SSD, tu pourrais les essayer en zcache, mais uniquement en metadata (pour qu'ils aient une fin de vie pas trop dure :| )
zpool add monpool cache /dev/ssd1 /dev/ssd2
- même si la taille n'est pas identique, c'est pas grave
- pour la fiabilité, aucune importance, ZFS contrôle systématiquement par checksum

Re: [RESOLU] Débit disque et Zlog

Posted: 22 Aug 2016 23:04
by ernie
Hello,

La commande:
dd if=/dev/zero of=/monpool/fichier_de_100Go bs=1M count=100000

implique que j'ai le fichier de 100 Go qui existe, non ?

Re: [RESOLU] Débit disque et Zlog

Posted: 23 Aug 2016 08:46
by mtiburs
Non,
c'est une commande qui va créer un fichier "brutalement". Le but étant de créer ce fichier dans le pool comme un fichier normal (mais avec un débit tel que le débit du pool ne sera pas suffisant pour l'absorber). C'est comme pour un entonnoir, il faur dépasser le débit du goulet d'étranglement.

Fais le de 10G pour que çà soit moins lourd (comme çà tu pourras comarer avec les commandes que tu avais faite pour le test de débits de test dev)

Pour tes essais: zpool iostat -v 1 sera ton ami (ctrl-c pour l'arrêter)

Re: [RESOLU] Débit disque et Zlog

Posted: 23 Aug 2016 08:53
by mtiburs
Pour l'of= du dd:

- si le fichier existe, il écrit dedans comme si c'était un dev (et dans ce cas, inutile de mettre bs et count puisque la fin est connue, car ce sera tout simplement la fin de ce fichier)

- si le fichier n'existe pas, il le créera, mais là il faut que bs et count soit présent, sinon, comme il n'y a pas de fin de spécifiée ... bin, il remplit tout ... et des fois çà fait "désordre" :lol:

Re: [RESOLU] Débit disque et Zlog

Posted: 23 Aug 2016 10:01
by ernie
Hello

la commande ne marche pas:

dd if=/dev/zero of=/master/fichier_de_100Go bs=1M count=100000
dd: /master/fichier_de_100Go: No such file or directory

et pourtant:
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
master 1.09T 238G 874G - 11% 21% 1.00x ONLINE -
pool1 7.25T 3.49T 3.76T - 6% 48% 1.00x ONLINE -

Re: [RESOLU] Débit disque et Zlog

Posted: 23 Aug 2016 10:15
by mtiburs
Pourtant çà devrait marcher :o

En Linux:
root@bx:~# zpool create master /home/d1.dsk
root@bx:~# zpool create pool1 /home/d2.dsk
root@bx:~# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
master 1008M 64K 1008M - 0% 0% 1.00x ONLINE -
pool1 1008M 50K 1008M - 0% 0% 1.00x ONLINE -
root@bx:~# dd if=/dev/zero of=/master/fichier_de_100Go bs=1M count=10
10+0 enregistrements lus
10+0 enregistrements écrits
10485760 octets (10 MB) copiés, 0,00823426 s, 1,3 GB/s

Sous Nas4Free (embeded):
nas207: ~# dd if=/dev/zero of=/var/tmp/test bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes transferred in 0.001929 secs (543572675 bytes/sec)
nas207: ~# ls -lh /var/tmp/test
-rw-r--r-- 1 root wheel 1.0M Aug 23 08:14 /var/tmp/test

Re: [RESOLU] Débit disque et Zlog

Posted: 23 Aug 2016 12:16
by ernie
Avec le bon chemin c'est mieux ;)

dd if=/dev/zero of=/mnt/master/fichier_de_100Go bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes transferred in 0.034020 secs (308223878 bytes/sec)

Re: [RESOLU] Débit disque et Zlog

Posted: 07 Sep 2016 11:48
by ernie
Quelques essais additionnels:

1) sur mon pool en sas:
dd if=/dev/zero of=/mnt/master/fichier_de_100Go bs=1M count=100000
100000+0 records in
100000+0 records out
104857600000 bytes transferred in 553.466707 secs (189456021 bytes/sec)

2) sur mon pool en sata
nas4free1: /# dd if=/dev/zero of=/mnt/pool1/fichier_de_100Go bs=1M count=100000
100000+0 records in
100000+0 records out
104857600000 bytes transferred in 1088.739708 secs (96310991 bytes/sec)

3) le pool sata avec zlog = 2 ssd mirror
dd if=/dev/zero of=/mnt/pool1/fichier_de_100Go bs=1M count=100000
100000+0 records in
100000+0 records out
104857600000 bytes transferred in 587.219198 secs (178566369 bytes/sec)

4) le pool sata avec zlog = 2 sas mirror
dd if=/dev/zero of=/mnt/pool1/fichier_de_100Go bs=1M count=100000
100000+0 records in
100000+0 records out
104857600000 bytes transferred in 835.897773 secs (125443091 bytes/sec)

Le ssd en zlog sur un pool sata améliore fortement (mieux que du zlog en sas), mais cela use les ssd :cry:

J'ai vu que freenas propose un FreeNAS Mini Write Cache (ZIL) Upgrade qui est un ssd pour le zlog. Mais cher !