|
Edited by tkaiser at Sat Jan 24, 2015 05:59
Next step: I connected 4 different disks to the JMB321 PM:
- Samsung EVO 840 128 GB
- 3 TB Seagate Barracuda
- another identical 3 TB Seagate Barracuda
- 4 TB WD Green WD40EZRX
For whatever reason the PM enumerates differently and exchanges the first two disks:- /dev/sda:
- Model Number: ST3000DM001-9YN166
- Transport: Serial, SATA Rev 3.0
- /dev/sdb:
- Model Number: Samsung SSD 840 EVO 120GB
- Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
- /dev/sdc:
- Model Number: ST3000DM001-9YN166
- Transport: Serial, SATA Rev 3.0
- /dev/sdd:
- Model Number: WDC WD40EZRX-00SPEB0
- Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Copy the Code Funny enough the PM only connects the Seagates with SATA II, both the SSD as well as the WD Green end up with just 1.5 Gbps (dmesg output):- [ 1.824879] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
- [ 2.175188] ata1.00: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
- [ 2.735185] ata1.01: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
- [ 3.925184] ata1.02: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
- [ 4.275182] ata1.03: SATA link up 1.5 Gbps (SStatus 113 SControl 320)
- [ 5.345137] ata1.04: SATA link down (SStatus 0 SControl 0)
Copy the Code On all 4 disks I created one primary partition with ext4:- /dev/sda1 /mnt/sda ext4 rw,relatime,data=ordered 0 0
- /dev/sdb1 /mnt/sdb ext4 rw,relatime,stripe=384,data=ordered 0 0
- /dev/sdc1 /mnt/sdc ext4 rw,relatime,data=ordered 0 0
- /dev/sdd1 /mnt/sdd ext4 rw,relatime,data=ordered 0 0
Copy the Code Then I tried to start three iozone runs on the 3 HDDs (always using "iozone -a -g 2000m -s 2000m -i 0 -i 1 -r32k"). I started on the 2nd Barracuda (sdc), waited a minute, started a second iozone run on the 1st Barracuda (sda) and after a while a third one on the WD green (sdd). The results after many many minutes waiting and the PM going berserk:
sdc:- Error reading block 8734 b5d00000
- read: Input/output error
Copy the Code sda:- Error in file: Found ?0? Expecting ?6d6d6d6d6d6d6d6d? addr b5c06000
- Error in file: Position 1299210240
- Record # 39648 Record size 32 kb
- where b5c06000 loop 24576
Copy the Code sdd:- 2048000 32 34818 37729 11385 51757
- iozone test complete.
Copy the Code I repeated this two times. Always the same: The disks spin up and down after some time randomly and the logs are full of SATA messages: http://pastebin.com/maTgAakE
While i made the second test run I called "iostat 3" in another shell session to have a look how the accesses to the 3 different disks are balanced. It's an insane joke. The last disk that gets heavy accesses always wins and outperforms the others: http://pastebin.com/1mAfJxxF
sdc started with write throughput rates above 35 MB/sec. As soon as I started the second test run on sda the throughput on sdc dropped below 5 MB/sec and sda got preferred. The same again when I started with sdd. Then both sdc and sda were thwarted to the minimum and sdd got maximum throughput. And suddenly the whole SATA subsystem stalled and no throughput on any device any longer. Very reliable such a setup
From then on the log gets filled extensively with further ata1.* error messages. They disappear only after a complete restart of the system. Next step: I install the very same 3.19.0-rc5 kernel without PMP support and try the three disks individually (did this yesterday with the PM in between but only the SSD and one Barracuda connected to the PM and no concurrent accesses to the disks) |
|