Ik heb gisteren mijn dualport GbE NIC binnengekregen, een mPCIe model gebasseerd op een Pericom PCIe switch en twee Realtek 8111 chips. Deze werkt in principe redelijk met de r8168 driver van Realtek zelf. Ik haal hiermee met iperf ~941Mbit/s. Dat komt voor mij dicht genoeg in de buurt van de max van 1GbE dat ik daar niet echt over klaag. Echter... Om de een of andere reden is mijn iSCSI share trager met multipath aan dan met multipath uit!
De configuratie is als volgt:
Hier komt dan enkel nog de PCIe 1.1 netwerkkaart bij, namelijk deze.
De fysieke storage is ingericht als een Linux SoftwareRAID, met twee Western Digital Red 3TB schijven (dit was het enige dat op voorraad was bij de lokale PC winkel en ik had haast
) in RAID1. Hiermee is ~150MB/s te halen als ik op het systeem zelf met dd aan de gang ga om de RAID array uit te lezen. Verder draait er geen firewall etc aangezien ik nog aan het testen ben, en het een intern systeem is.
Als iSCSI software word er gebruik gemaakt van tgtd. Deze komt uit de repository van Fedora 19, en de versie hiervan is 1.0.32. De configuratie voor de iSCSI target is relatief simpel:
/etc/tgt/conf.d/fcpx.conf
De rest van de tgtd configuratie is zoals deze door Fedora word aangeleverd, maar voor de volledigheid (zonder comments ivm ruimte):
/etc/tgt/tgtd.conf
/etc/tgt/targets.conf
Tot zover de configuratie van beide machines. Als ik slechts één connectie naar de server maak (op 172.16.0.1) dan haal ik om en nabij de 100MByte/s (±5MByte/s) lezen en schrijven met Blackmagic Disk Speed Test. Zodra ik (terwijl de test loopt) de tweede connectie online breng (op 10.255.255.0) dan keldert de schrijfsnelheid naar gemiddeld 25MByte/s, terwijl de leessnelheid makkelijk boven de 130MByte/s komt.
Schijnbaar heeft tgtd dus moeite met multipath schrijven, maar is lezen geen enkel probleem.
Wat ik al geprobeerd heb:
Ik denk dus dat de vraag die ik moet stellen is: Hoe configureer ik mdadm zo dat mijn RAID1 setup als meerdere LUNs beschikbaar komt?
Maar om het algemeen te houden: Wie o wie kan mijn helpen om te zorgen dat ik mijn RAID1 setup via multipath iSCSI kan benaderen?
De configuratie is als volgt:
Client
Een MacBook Pro 2012 met een i7 @ 2.3GHz (vermoedelijk de i7 3610QM), 16GByte RAM, Crucial m4 512GB SSD, 2x 1GbE (in de vorm van 1x onboard en 1x via Thunderbolt adapter). Eén ethernet kabel zit rechtstreeks op de server, de server draait een DHCP server die een adres uitdeelt in het 172.16.0.0/12 netwerk. De andere kabel zit in een Netgear GS108T switch (1GbE) waar ook de 2e poort van de server in zit. De MacBook Pro is up-to-date en gebruikt de globalSAN iSCSI initiator. Tests voer ik uit met Blackmagic Disk Speed Test.Server
Hardware
# | Product | Prijs | Subtotaal |
2 | 3Ware 3Ware Multi-lane SATA cable CBL-SFF8087OCF-05M | € 15,90 | € 31,80 |
1 | BitFenix Prodigy Wit | € 64,40 | € 64,40 |
1 | Crucial m4 mSATA CT032M4SSD3 32GB | € 49,- | € 49,- |
6 | Hitachi Travelstar 5K1000, 1TB | € 59,90 | € 359,40 |
1 | IBM ServeRAID M1015 SAS/SATA Controller for System x | € 118,58 | € 118,58 |
1 | Intel 320 120GB | € 166,- | € 166,- |
1 | Intel DH77DF | € 104,- | € 104,- |
1 | Intel Xeon E3-1265LV2 Boxed | € 274,48 | € 274,48 |
2 | Kingston KVR1333D3N9/8G | € 55,- | € 110,- |
1 | Super Flower Golden Green SF-400P14XE | € 72,91 | € 72,91 |
2 | Western Digital Red WD30EFRX, 3TB | € 123,99 | € 247,98 |
Bekijk collectie Importeer producten | Totaal | € 1.598,55 |
Hier komt dan enkel nog de PCIe 1.1 netwerkkaart bij, namelijk deze.
Software
Als software draait er Fedora Linux 19, met kernel 3.9.9. Voor de Realtek chip word de r8168 driver gebruikt van Realtek zelf ipv de r8169 die met Linux meegeleverd word. Dit leverde me een bescheiden ~50Mbit/s aan winst op in iperf. Naast het hele iSCSI gebeuren draait er nog een ZFS array op, maar deze zit op een aparte controller en pakt nauwelijks CPU tijd.De fysieke storage is ingericht als een Linux SoftwareRAID, met twee Western Digital Red 3TB schijven (dit was het enige dat op voorraad was bij de lokale PC winkel en ik had haast
Als iSCSI software word er gebruik gemaakt van tgtd. Deze komt uit de repository van Fedora 19, en de versie hiervan is 1.0.32. De configuratie voor de iSCSI target is relatief simpel:
/etc/tgt/conf.d/fcpx.conf
code:
1
2
3
4
5
| <target iqn.2013-01.local.server:iscsi-fcpx> direct-store /dev/md0 HeaderDigest CRC32C DataDigest CRC32C </target> |
De rest van de tgtd configuratie is zoals deze door Fedora word aangeleverd, maar voor de volledigheid (zonder comments ivm ruimte):
/etc/tgt/tgtd.conf
code:
1
2
| include /etc/tgt/targets.conf include /etc/tgt/conf.d/*.conf |
/etc/tgt/targets.conf
code:
1
| default-driver iscsi |
Tot zover de configuratie van beide machines. Als ik slechts één connectie naar de server maak (op 172.16.0.1) dan haal ik om en nabij de 100MByte/s (±5MByte/s) lezen en schrijven met Blackmagic Disk Speed Test. Zodra ik (terwijl de test loopt) de tweede connectie online breng (op 10.255.255.0) dan keldert de schrijfsnelheid naar gemiddeld 25MByte/s, terwijl de leessnelheid makkelijk boven de 130MByte/s komt.
Schijnbaar heeft tgtd dus moeite met multipath schrijven, maar is lezen geen enkel probleem.
Wat ik al geprobeerd heb:
- write-cache off om te kijken of het geheel zonder het cachen van de writes sneller is (nee, word nóg trager)
- direct-store /dev/md0 vervangen door backing-store /dev/md0, dit maakt nauwelijks uit
Ik denk dus dat de vraag die ik moet stellen is: Hoe configureer ik mdadm zo dat mijn RAID1 setup als meerdere LUNs beschikbaar komt?
Maar om het algemeen te houden: Wie o wie kan mijn helpen om te zorgen dat ik mijn RAID1 setup via multipath iSCSI kan benaderen?