[Suche] 4port PCIe Sata-3 Controller Card

lockdoc

Well-Known Member
[solved] Suche 4port PCIe Sata-3 Controller Card

Hallo,

ich suche eine preiswerte 4port PCIe Controller Card mit SATA-III standard, welche unter FreeBSD 9 laeuft. Am besten eine, die jemand schon erfolgreich am laufen hat.
 
Zuletzt bearbeitet:
hi

such mal nach lsi sas controller da solltest du recht guenstg welche bekommen.
die koennen auch sata .

holger
 
Danke fuer die Links.

Mal eine technische Frage zu diesem hier:

http://www.lsi.com/downloads/Public/Host Bus Adapters/LSI_SAS9211-4i_PB.pdf
Code:
Device Support        256 Non-RAID SAS/SATA devices
Integrated RAID (IR)           14 spread across 2 volumes 
                      RAID 0   10 per volume 
                      RAID 1    2 per volume plus hot spare 
                      RAID 1E  10 per volume 
                      RAID 10  10 per volume

[X] Wie kann ich denn bitte 256 devices daran anschliessen?
[X] Ich finde nirgends was von JBOD oder pass-thru, kann man den auch ohne RAID fuer den Einsatz im ZFS betreiben?
 
Na dass ist schade, da zahlt man denn ein Haufen Geld und degradiert die primaere Funktion :-(

Sag mal, wegen dem port-multiplying, das wuerde nur Sinn machen um mehr Storage zu bekommen, weil doch (so wie ich denke) die performance drunter leidet, da man sich die Bandbreite ja teilen muss.
 
moin
also vom 9211-8i kann ich die tage berichten da ich ihn hier liegen habe und auf den
rest der hardware warte.

bandbreite hat der mit dem richtigen board genug ( pcie 2.0 8x )


und wozu raid auf dem controller ? ich habe doch zfs.

raid auf dem controller ist vollkommen ueberbewertet. :D

holger
 
Hi,

schau mal hier externer Blog

Dann bissel suchen nach den Chips, da findest garantiert was gutes unter 100€ ... habe auch was, aba nur 2 Port und müsste schauen welcher.

Grüße,
Kai
 
So also ich habe gerade den PCI-e DAWICONTROL DC-324e RAID ins Auge geworfen.

Chipset: Marvell 88SX7042
Support: RAID 1, 0, 10, 5, JBOD und Backup

Jetzt sagt mir wikipedia allerdings, dass JBOD zweierlei Dinge seien koennen:
  • all disks being independently addressed
  • all the physical disks are concatenated and presented as a single disk
Das ist natuerlich ein grosser Unterschied und meine Frage, weiss Jemand ob man hier die drives unabhaengig sieht und somit simple ins ZFS packen kann?
 
Der Controller wird von mvs(4) unterstützt. Laut Manpage tauchen die Festplatten als einzelne /dev/adaX Geräte auf:

Code:
     This driver provides the CAM(4) subsystem with native access to the SATA
     ports of several generations (Gen-I/II/IIe) of Marvell SATA controllers.
     Each SATA port found is represented to CAM as a separate bus with one
     target, or, if HBA supports Port Multipliers (Gen-II/IIe), 16 targets.
     Most of the bus-management details are handled by the SATA-specific
     transport of CAM.  Connected ATA disks are handled by the ATA protocol
     disk peripheral driver ada(4).  ATAPI devices are handled by the SCSI
     protocol peripheral drivers cd(4), da(4), sa(4), etc.
 
So also ich habe gerade den PCI-e DAWICONTROL DC-324e RAID ins Auge geworfen.

Chipset: Marvell 88SX7042
Support: RAID 1, 0, 10, 5, JBOD und Backup

Mit dem hatte ich auf meinem Testserver beim Scrub jedesmal einen Kernelpanic!
War ein 8.2 Release, mit ahci_enable , mvs_enable und einem Hint damit sich nicht ein Highpoint Treiber dazwischen gedrängelt hat. (mvs braucht ahci)

Leider hatte ich bis dato noch keine Zeit das richtig zu debuggen ...
Code:
mvsch2: Timeout on slot 1
mvsch2: iec 00000000 sstat 00000123 serr 00000000 edma_s 00000020 dma_c 00000000 dma_s 00000006 rs 000003ff status 80
mvsch2:  ... waiting for slots 000003fc
mvsch2: Timeout on slot 2
mvsch2: iec 00000000 sstat 00000123 serr 00000000 edma_s 00000020 dma_c 00000000 dma_s 00000006 rs 000003ff status 80
mvsch2:  ... waiting for slots 000003f8
mvsch2: Timeout on slot 3
mvsch2: iec 00000000 sstat 00000123 serr 00000000 edma_s 00000020 dma_c 00000000 dma_s 00000006 rs 000003ff status 80
mvsch2:  ... waiting for slots 000003f0
mvsch2: Timeout on slot 4
mvsch2: iec 00000000 sstat 00000123 serr 00000000 edma_s 00000020 dma_c 00000000 dma_s 00000006 rs 000003ff status 80
mvsch2:  ... waiting for slots 000003e0
ZFS: vdev I/O failure, zpool=tank path=/dev/gpt/2TB-Disk2 offset=270336 size=8192 error=6
(ada2:mvsch2:0:0:0): Synchronize cache failed
Fatal trap 12: page fault while in kernel mode

Inwieweit das mittlerweile noch ein Problem ist, oder ob es an einer Misskonfiguration meinerseits lag kann ich nicht sagen.
 
Hi,
wenn Du en Raid Controllbär da missbrauchen willst schau das im Zweifel wo was von "direct pass through access" steht. Leider verstehen ein paar Hersteller unter JBOD unterschiedliche Dinge. Alternativ einfach den Hersteller befragen, der sollte es wissen was er da verbrochen hat.

Grundsätzlich würde ich eher zu einem SAS Controllbär raten wenn Du kein Hardware Raid aktuell brauchst abär später vielleicht ein paar Optionen haben möchtest. In der Bärenpraxis haben sich Areca oder 3Ware, teilweise einige LSI auch bärig gut gemacht.

Gruß Bummibär
 
Zuletzt bearbeitet:
Man sollte nicht alles auf Wikipedia einfach so glauben. JBOD bedeutet, dass die Platten vom Betriebssystem verwaltet werden, also kein RAID0.

Das Problem liegt hier nicht nur bei wikipedia, sondern nach einem google search ist man auch nicht schlauer was nun Hersteller-X mit JBOD meint.


Also ich habe mir jetzt das obige Teil besorgt (bevor die neuen comments kamen :( ) und werde dann hier mal die Testergebnisse reinpacken.
Falls jemand Tips zum benchmarken hat oder gerne sehen moechte wie der controller bei operation X,Y sich verhaelt, dann sacht mal was ihr sehen wollt.
LG
 
Hi,
kannst Du Dir mit bonnie++& iozone z.B. schön machen und mit gnuplot z.B. au grafisch schön aufbereiten lassen.

Gruß Bummibär
 
Zuletzt bearbeitet:
Alles klar. Hier mal der versprochene Benchmark:

Setup

System
Code:
 Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (2999.73-MHz K8-class CPU)
 real memory  = 8589934592 (8192 MB)
 avail memory = 8252125184 (7869 MB)

HDD's
+ 4 Platten an der Sata Card
+ 4 Platten am Mainboard.
+ Alle Ports (Controller und Mainboard) sind SATA-2
+ Alle Platten sind SATA-2
Code:
root> dmesg |grep SAMSUNG
ada0: <SAMSUNG HD103SJ 1AJ100E5> ATA-8 SATA 2.x device
ada1: <SAMSUNG HD103SJ 1AJ10001> ATA-8 SATA 2.x device
ada2: <SAMSUNG HD103UJ 1AA01118> ATA-7 SATA 2.x device
ada4: <SAMSUNG HD103UJ 1AA01118> ATA-7 SATA 2.x device
ada5: <SAMSUNG HD103SJ 1AJ10001> ATA-8 SATA 2.x device
ada6: <SAMSUNG HD103SJ 1AJ10001> ATA-8 SATA 2.x device
ada7: <SAMSUNG HD103SJ 1AJ10001> ATA-8 SATA 2.x device
ada8: <SAMSUNG HD103SJ 1AJ10001> ATA-8 SATA 2.x device

ZFS Pool
Alle Festplatten sind mit geli 256bit Verschluesselt und dann in den Pool eingehangen
Code:
root> zpool status
  pool: tank
 state: ONLINE
  scan: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        tank          ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            ada0.eli  ONLINE       0     0     0
            ada1.eli  ONLINE       0     0     0
          mirror-1    ONLINE       0     0     0
            ada5.eli  ONLINE       0     0     0
            ada6.eli  ONLINE       0     0     0
          mirror-2    ONLINE       0     0     0
            ada7.eli  ONLINE       0     0     0
            ada8.eli  ONLINE       0     0     0
          mirror-3    ONLINE       0     0     0
            ada2.eli  ONLINE       0     0     0
            ada4.eli  ONLINE       0     0     0

errors: No known data errors

root> zpool list
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
tank  3.62T  1.74T  1.88T    48%  1.00x  ONLINE  -

ZFS Properties
Code:
root> zfs get all
NAME  PROPERTY              VALUE                  SOURCE
tank  type                  filesystem             -
tank  creation              Fri Feb 17 19:15 2012  -
tank  used                  1.76T                  -
tank  available             1.81T                  -
tank  referenced            1.76T                  -
tank  compressratio         1.00x                  -
tank  mounted               yes                    -
tank  quota                 none                   default
tank  reservation           none                   default
tank  recordsize            128K                   default
tank  mountpoint            /tank                  default
tank  sharenfs              off                    default
tank  checksum              on                     default
tank  compression           off                    default
tank  atime                 off                    local
tank  devices               on                     default
tank  exec                  on                     default
tank  setuid                on                     default
tank  readonly              off                    default
tank  jailed                off                    default
tank  snapdir               hidden                 default
tank  aclmode               discard                default
tank  aclinherit            restricted             default
tank  canmount              on                     default
tank  xattr                 off                    temporary
tank  copies                1                      default
tank  version               5                      -
tank  utf8only              off                    -
tank  normalization         none                   -
tank  casesensitivity       sensitive              -
tank  vscan                 off                    default
tank  nbmand                off                    default
tank  sharesmb              off                    default
tank  refquota              none                   default
tank  refreservation        none                   default
tank  primarycache          all                    default
tank  secondarycache        all                    default
tank  usedbysnapshots       0                      -
tank  usedbydataset         1.76T                  -
tank  usedbychildren        6.43M                  -
tank  usedbyrefreservation  0                      -
tank  logbias               latency                default
tank  dedup                 off                    default
tank  mlslabel                                     -
tank  sync                  standard               default
tank  refcompressratio      1.00x                  -
tank  written               1.76T                  -


Geli
Using Software
Code:
ZFS filesystem version 5
ZFS storage pool version 28
cryptosoft0: <software crypto> on motherboard
GEOM_ELI: Device ada0.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada1.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada5.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada6.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada8.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada7.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada2.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software
GEOM_ELI: Device ada4.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: software

HDD Alignment
Code:
root> zdb |grep ashift
            ashift: 12
            ashift: 12
            ashift: 12
            ashift: 12

Benchmark

Bonnie++
Code:
root> bonnie++ -u root -d bonnie/
[...]
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
fileserver      16G   104  89 54891  11 36734   8   278  92 183553  15 334.9   3
Latency              1352ms    2639ms    2399ms     359ms     235ms     537ms
Version  1.96       ------Sequential Create------ --------Random Create--------
fileserver          -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 20358  84 +++++ +++ 21561  96 20565  94 +++++ +++ 21031  96
Latency             34951us     118us     145us   38459us      36us      77us
1.96,1.96,fileserver,1,1329562136,16G,,104,89,54891,11,36734,8,278,92,183553,15,334.9,3,16,,,,,20358,84,+++++,+++,21561,96,20565,94,+++++,+++,21031,96,1352ms,2639ms,2399ms,359ms,235ms,537ms,34951us,118us,145us,38459us,36us,77us
Code:
root> bonnie++ -u root -d bonnie/
[...]
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
fileserver      16G   108  95 53410  11 33628   8   263  91 173232  15 326.8   7
Latency              1306ms    4980ms    2568ms     427ms     251ms     554ms
Version  1.96       ------Sequential Create------ --------Random Create--------
fileserver          -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 22212  90 30560  47 16210  96 19587  95  8727  81  5518  98
Latency             14153us   71791us     685us   35300us     200ms     684us
1.96,1.96,fileserver,1,1329592341,16G,,108,95,53410,11,33628,8,263,91,173232,15,326.8,7,16,,,,,22212,90,30560,47,16210,96,19587,95,8727,81,5518,98,1306ms,4980ms,2568ms,427ms,251ms,554ms,14153us,71791us,685us,35300us,200ms,684us

zpool iostat (bonnie write)
Code:
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
tank        1.78T  1.85T     67    143  8.30M  14.9M
tank        1.78T  1.85T    253    440  31.4M  43.5M
tank        1.78T  1.85T    186    399  23.0M  39.5M
tank        1.78T  1.85T    518    291  63.9M  25.6M
tank        1.78T  1.85T    262    528  32.0M  44.8M
tank        1.78T  1.85T    121    389  14.9M  45.2M
tank        1.78T  1.85T    391    320  48.5M  29.2M
tank        1.78T  1.85T    262    361  32.6M  34.7M
tank        1.78T  1.85T    258    367  32.0M  36.4M
tank        1.78T  1.85T    472    352  58.5M  40.6M
tank        1.78T  1.85T    208    390  25.6M  38.9M
tank        1.78T  1.85T    219    422  26.8M  39.7M
tank        1.78T  1.85T    401    315  48.9M  29.2M
zpool iostat (bonnie read)
Code:
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
tank        1.78T  1.85T  1.04K      0   132M      0
tank        1.78T  1.85T  1.03K      0   131M      0
tank        1.78T  1.85T  1.02K      0   130M      0
tank        1.78T  1.85T  1.05K      0   134M      0
tank        1.78T  1.85T  1.05K      0   134M      0
tank        1.78T  1.85T  1.06K      0   134M      0
tank        1.78T  1.85T  1.04K      0   132M      0
tank        1.78T  1.85T  1.05K      0   133M      0


dd (/dev/zero)
Code:
root> dd bs=1M count=4096 if=/dev/zero of=test
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 61.024558 secs (70380965 bytes/sec)

root> dd bs=1M count=4096 if=/dev/zero of=test; sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 42.033025 secs (102180780 bytes/sec)

dd (/dev/random)
Code:
root> dd bs=1M count=4096 if=/dev/random of=test
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 120.814626 secs (35550061 bytes/sec)

root> dd bs=1M count=4096 if=/dev/random of=test; sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 116.464596 secs (36877879 bytes/sec)

dd (/dev/urandom)
Code:
root> dd bs=1M count=4096 if=/dev/urandom of=test
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 118.434588 secs (36264468 bytes/sec)

root> dd bs=1M count=4096 if=/dev/urandom of=test; sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 115.124315 secs (37307213 bytes/sec)


cp
Code:
root> ll -h | grep ap18
-rw-r-----  1 root  wheel   9.9G Feb 18 12:56 ap18.mkv
Code:
root> time cp ap18.mkv ap18_2.mkv

real    4m17.238s
user    0m0.016s
sys     0m7.002s
Code:
root> time cp ap18.mkv ap18_2.mkv

real    3m57.114s
user    0m0.008s
sys     0m8.086s

Das copying erscheint mir relativ langsam. Hier ist der dazugehoerige top output.
Ich vermute mal, dass hier die CPU an die grenzen kommt wegen der Verschluesselung.
Code:
root> top -S
last pid:  2464;  load averages:  9.67,  8.59,  6.84                                                                                up 0+00:54:06  12:58:57
65 processes:  13 running, 51 sleeping, 1 waiting
CPU 0:  0.0% user,  0.0% nice, 98.7% system,  0.3% interrupt,  1.0% idle
CPU 1:  0.0% user,  0.0% nice, 98.4% system,  0.0% interrupt,  1.6% idle
Mem: 17M Active, 14M Inact, 6318M Wired, 72K Cache, 28M Buf, 1574M Free
Swap: 5120M Total, 5120M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 2275 root        1  77    -     0K    16K RUN     1   3:25 17.19% g_eli[1] ada2
 2277 root        1  52    -     0K    16K RUN     0   3:32 16.80% g_eli[0] ada4
 2278 root        1  52    -     0K    16K RUN     1   3:02 15.87% g_eli[1] ada4
 2274 root        1  52    -     0K    16K RUN     0   3:06 15.58% g_eli[0] ada2
   11 root        2 155 ki31     0K    32K RUN     1  64:46 15.43% idle
 2169 root        1  31    -     0K    16K RUN     1   2:16  9.18% g_eli[1] ada6
 2160 root        1  33    -     0K    16K RUN     1   2:13  8.89% g_eli[1] ada0
 2166 root        1  32    -     0K    16K RUN     1   2:12  8.89% g_eli[1] ada5
 2163 root        1  26    -     0K    16K geli:w  1   2:08  8.69% g_eli[1] ada1
 2174 root        1  30    -     0K    16K RUN     0   2:04  8.59% g_eli[0] ada7
 2165 root        1  30    -     0K    16K RUN     0   2:09  8.50% g_eli[0] ada5
 2168 root        1  32    -     0K    16K RUN     0   2:04  8.40% g_eli[0] ada6
 2159 root        1  28    -     0K    16K CPU0    0   2:06  7.96% g_eli[0] ada0
 2172 root        1  28    -     0K    16K geli:w  1   2:05  7.76% g_eli[1] ada8
 2162 root        1  25    -     0K    16K geli:w  0   2:11  7.57% g_eli[0] ada1
 2171 root        1  26    -     0K    16K geli:w  0   1:59  7.47% g_eli[0] ada8
 2175 root        1  27    -     0K    16K geli:w  1   2:00  7.28% g_eli[1] ada7
   13 root        3  -8    -     0K    48K -       1   0:27  1.17% geom
 2463 root        1  21    0 10052K  2212K zio->i  1   0:03  1.07% cp
    0 root      153  -8    0     0K  2448K -       0   0:49  0.00% kernel
 
Zuletzt bearbeitet:
Hi,
joar des is keine Frage. Ich frage mich nur warum Du diesen Prozessor für so etwas verwenden möchtest bzw. warum Du in Verbindung mit der CPU AES mit 256 Bit drübär jagst.
Gruß Bummibär
 
Hi,
imho ist ein Intel Core 2 Duo E8400 für den Anwendungszweck einfach die falsche CPU. Gerade wenn man so viel mit AES macht würde sich z.B. ein Intel Xeon X5690 mit AES-NI anbieten. Das zieht deutlich mehr Wurst vom Brot dann bärig :)

Bei AES mit 256 Bit ist natürlich der Flaschenhals recht schnell beim Prozessor zu finden oder bei der Crypto Hardware klemmts früher oder später. Von daher sollte man hier natürlich "etwas mehr auffahren" als für einen normalen Storage. Alternativ kann man natürlich einfach z.B. AES mit nur 128 Bit oder auf was anderes setzen wo weniger "hungrig" ist.

Das Ganze mit SAMSUNG HD103SJ gepaart ist natürlich alles andere als sinnvoll. Die HD bringt gerade mal 32 MB Cache mit sich, dreht mit nur 7200 und ist mit lediglich SATA-II sind sonderlich prädestiniert für diesen Job. Hier hätte man vielleicht für "ein paar Euro mehr" auf ausgewachsene Platten wie Hitachi SASII oder Seagate SASII setzen können die mehr Wurst vom Brot ziehen, mit doppelt so viel Cache daher kommen und dank mehr Drehzahl und SAS2 Interface auch deutlich mehr Datenbärchen "vorantreiben".

Alles in Allem ist Dein Ansatz eine sehr gute Idee. Mit etwas mehr Leistung und sinnvollerer Hardware für das Vorhaben hättest Du auch deutlich mehr Freude an den Benchmark Werten später.
Zwecks ZFS Schreibcache würde ich Dir von STEC die ZeusRAM SSD mit 8 GB z.B. ans Herz legen wollen. Bedenke abär, dass diese im Gegensatz zu normalen SSDs mit fllüchtigem RAMBÄR arbeitet!

Der Bär hats sowas mit Supermicro X8DT3-F Board, 2x X5670er Xeonbären und 12x 16384 MB DDR3 (ECC reg.) am Start. Als ZIL Cache werkelt von STEC die ZeusRAM SSD mit 8 GB. Bestückt ist das ganze mit 24 Stück SAS II Seagate Constellation ES 3,5" 7.2k Platten. Als Controllbär werkelt ein Arecabär der sich en Wolf schuftet und die Datenbärchen "ausführt".


Gruß Bummibär
 
Zuletzt bearbeitet:
Der Bär hats sowas mit Supermicro X8DT3-F Board, 2x X5670er Xeonbären und 12x 16384 MB DDR3 (ECC reg.) am Start. Als ZIL Cache werkelt von STEC die ZeusRAM SSD mit 8 GB. Bestückt ist das ganze mit 24 Stück SAS II Seagate Constellation ES 3,5" 7.2k Platten. Als Controllbär werkelt ein Arecabär der sich en Wolf schuftet und die Datenbärchen "ausführt".
Gruß Bummibär
:zitter:

Auf arbeit oder @home? Mein setup ist fuer @home
 
Hi,
zum Schuften natürlich - für Home wär des büssel übärtrieben :)
Du könntest wenn Du des für Home brauchst auf AES 128 gehen und mal schauen ob das etwas performanter ist. Als ZIL Cache ne kleine SSD wäre da vielleicht noch mit drin und könnte ebenfalls kleine Wunder wirken.
Gruß Bummibär
 
Zurück
Oben