Pimp My (SATA) Ports

Alors que nous pensions avoir fait le tour des possibilités du HP N40L N54L ProLiant MicroServer, nous somme tombé par hasard sur un post revisitant le fameux mod de BIOS, permettant d’avoir accès à tout un tas de hidden settings, afin de pouvoir utiliser un port multiplier sur le eSATA.

A Serial ATA port multiplier is a device that allows multiple SATA devices to be connected to a single SATA host port.

Un peu comme un SAS expander mais en un peu moins enterprise class… Au passage, c’est ce qu’utilise Backblaze pour faire tenir 180 To dans un server 4U.

L’idée de pouvoir se passer de la carte contrôleur qui monopolise le seul port pcie (potable) de notre N40L nous séduit. 40€-et-quelques-sur-ebay plus tard (carte et cables courts compris), FreeNAS reconnait parfaitement le bidule grâce aux modifications de BIOS :

pmp0 at ahcich5 bus 0 scbus7 target 15 lun 0
pmp0: ATA-0 device
pmp0: 300.000MB/s transfers (SATA 2.x, NONE, PIO 8192bytes)
pmp0: 5 fan-out ports

La carte que nous avons trouvé étant limité à 5 ports, nous avons été contraint d’utiliser un rack 4x 2.5″ mais le pcb se loge parfaitement entre ce dernier et la partie supérieure du boitier :

Vous l’aurez compris, c’est le port ODD interne que nous avons choisi d’utiliser pour rester dans l’esprit NAS compact.

Pour avoir une idée de l’impact qu’une telle solution pouvait avoir sur les performances, nous l’avons comparée à une carte LSI 1068E. Après une séance d’iozone sur un zpool de 4 SSD en striping, nous avons fait chauffer le gnuplot :

Si l’impact sur la latence est acceptable, celui sur les débits d’écriture est très important puisque l’on passe de ~800Mo/s à ~200Mo/s mais il fallait s’y attendre. On constate par contre que tant que les IO restent dans la fenêtre des TXG de ZFS, les débits sont identiques.

Au final, même si les performances sont moins bonnes qu’avec une carte contrôleur, elles sont malgré tout bien meilleures que ce qui pourra passer par un port GbE. De plus, FreeNAS ne supportant pas *encore* FC ou infiniband, une carte dual ou quad GbE  reste un bon début.

Tags: , , , , , ,

2 Responses to “Pimp My (SATA) Ports”

  1. Salut Nitro,

    nous avions parlé de cette problèmatique, sur ton post précédent.
    J’avoue que je suis soufflé par ton post, que j’attendais, je n’avais pas pensé à utiliser le port eSATA du N40L, alors que la solution était devant mon nez !

    Si j’ai bien compris, le débit est de toute façon limité au SATA II, pour le port multiplier.
    Mais c’est déjà une idée très intéressante, pour tirer avantage du boîtier IcyDock.

    Pour ma part, j’ai monté des disques durs très volumineux mais lents, ce qui est en accord avec le contrôleur SATA II intégré (les WD Red 3GO, qui fonctionnent à 5400 RPM).

    Ce qui me chagrine un peu, c’est que j’utilise la grappe ZFS, composée des Red, pour de la sauvegarde, de la lecture séquentielle classique.
    Auquel cas, je maximise bien le débit réseau.

    Par contre, j’ai plus de mal avec le NFS que j’ai déjà pas mal optimisé, et ESXi (mes VMs sont stockées sur ces mêmes disques)
    http://www.scalabilite.org/42-virtualisation/92-tunings-nfs-avanc%C3%A9s-dans-vmware-esxi

    Pour le moment, j’envisage donc de détourner ta solution, pour essayer de rendre mes VMs plus “réactives”, tout en reservant les Red pour le stockage classique
    J’ai déjà une carte SATA III pas chère dans le Proliant, et dotée d’un port eSATA III que je n’utilise pas pour le moment.
    PCIE-CNL-SATA6G-IDE
    http://www.connectland.eu/browse/download/category_id/16/id/2200/filename/pcie-sata6g-ide.pdf

    Je peux au minimum ajouter un autre disque SSD donc, pour du SLOG ZFS, par exemple. Mais c’est très risqué, SLOG doit être redondé …
    J’ai constaté qu’autant les port multiplier SATA II étaient légion, autant je n’ai pu trouver qu’un seul qui “certifie” marcher entièrement en SATA III, à 79$.
    En gros, méfiance méfiance …
    6Gb SATAIII Port Multiplier 1 to 5 SATAIII Bridge PCI bracket mount-able
    http://www.datoptic.com/ec/6gb-sataiii-to-five-sataiii-port-multiplier-panel-mount-able-es3pms3s.html
    http://www.datoptic.com/ec/6gb-sataiii-to-five-sataiii-port-multiplier-in-pci-bracket-s3pms3p.html

    Je ne me suis pas encore décidé, puisque si je décide de garder le contrôleur SATA III, je me passe d’Infiniband par exemple ;-)

    Mais dans mon cas, je pense que ça me permettrait d’être plus “confortable” sur les E/S des VMs, surtout que j’en ai actuellement une dizaine en production pour mon infrastructure perso =)
    Je garde le disque SSD système (il sert aussi de cache L2Arc) sur le port SATA III de la Connectland.
    Et j’utilise le port eSATA de la carte et le multiplier pour 2 disques SSD pour le SLOG, 2 autres disques pour le stockage VMs, chaque grappe étant en Raid1.
    Le débit en interne devrait passer à environ 500 MO/s, logiquement.

    Qu’en dis-tu ? Est-ce que la solution que j’envisage te semble réaliste ?

    Pour le moment, je dois engager d’autres dépenses, importantes, dans mon infra, donc ça attendra de toute façon quelques mois.
    Mais je posterai les résultats sur http://www.scalabilite.org, à coup sûr.

    A bientôt !

  2. c’est pas le port e-sata externe que j’ai utilisé mais le port ODD interne. de plus j’ai oublié de préciser qu’il n’est pas possible de mettre les 4 sata 3.5 du rack sur le pmp à cause du connecteur mini-sas. ca risque de changer tes plans ca non ?

Leave a Reply