Amongst this forum's discussions of
USB 2.0 (or USB 2 or USB2):
- USB 2.0 hub recommendations
- in other topics, a significant number of posts suggest not using USB 2.0 for primary disk storage – or words to that effect.
To the best of my knowledge, none of the releases of ZEVO (up to and including Community Edition 1.1.1) were accompanied by caution about USB. So for positioning ZEVO as a solution –
is Zevo safe enough? and the like:
- let's have things as clear as possible under this topic.
From
viewtopic.php?p=4606#p4606 :
raattgift wrote:… heavy USB mass storage device class traffic" … if you must, use multiple USB2 busses (i.e. multiple host controllers).
An example. Let's take my current arrangement of a two-disk pool:
- Code: Select all
sh-3.2$ zpool status tall
pool: tall
state: ONLINE
scan: scrub repaired 0 in 36h5m with 0 errors on Mon Apr 15 04:31:59 2013
config:
NAME STATE READ WRITE CKSUM
tall ONLINE 0 0 0
GPTE_78301A52-4AFF-4D96-8DE9-E76ABC14909C ONLINE 0 0 0 at disk2s2
GPTE_99056308-F5E2-4314-852C-4DA04732A2D0 ONLINE 0 0 0 at disk4s2
errors: No known data errors
sh-3.2$ date
Wed 17 Apr 2013 04:22:24 BST
sh-3.2$ uptime
4:22 up 6:10, 4 users, load averages: 8.81 6.67 5.37
sh-3.2$
There's no redundancy of data, which is bad and will be addressed in a few weeks. For this post let's focus on
host, bus, dock and hub arrangements with a MacBookPro5,2 (three USB 2.0 ports):

- 2013-04-17 04-18-44 screenshot.png (201.92 KiB) Viewed 119 times
On the same bus/controller as the Sitecom dock, the built-in iSight is rarely used.
I could now move the larger of the pool's two disks (with GPTE_99056308-F5E2-4314-852C-4DA04732A2D0):
- from the old Sitecom dock, which is limited to two USB 2.0 ports
- to any point in the 'nest of three-in-one' (Cerulian N14JB, 0x0608 (ten-port USB 2.0 top loading hub)).
Then in the other eight ports of that Cerulian hub, someone might place non-storage devices (printers, cameras et cetera).
… a full buss that has *any* slow device on it, the fast devices experience queues, which may overrun …
I imagine that a
flood of traffic through the Cerulian might cause an overrun to affect the larger (GPTE_99056308-F5E2-4314-852C-4DA04732A2D0) part of the pool.
Considerations should include at least:
>> … If ZEVO detects the removal of all the vdev devices …
>> it tries its best to tear down the pool without waiting for I/O …
– I assume that no tear down will be attempted whilst the smaller part of the pool is well-controlled on the other bus.
For myself, I'll
not fill all ten ports of the Cerulian hub (the nest of three-in-one) in the way described above. Someone else – say, a newcomer to ZEVO who have never experienced problems with USB 2.0 – might be less cautious.
Two questionsFor a pool like that, without redundancy of data, two (of many) possible arrangements:
- both disks under one controller where's there's little or no use of the internal iSight (minimal risk of flooding); or
- one controller per disk, with significant risk of flooding under just one of the two controllers
– both undesirable! But which one is
most likely to cause a problem to the pool?
(Example: a problem that causes a resilver to occur.)
Might failmode=wait reduce the risk of a problem resulting from a
flood or choke? If so, post a hint under the
zpool failmode … topic.