Multiple VDevs in a zpool - What actually happens

Status
Not open for further replies.

Cheese

Dabbler
Joined
Feb 11, 2014
Messages
17
I haven't come across notes in what I've read yet, but I am hoping someone might help me understand.

Let's say I have a zPool made up of 2 or more identical vDevs. How is new data actually applied to the vDevs? Is it striped? Written to the first available? Written to the least busy? (Failure mode of loss of pool sounds like it's striped, but assumptions get me in trouble lol)

Related, let's say I have a zPool made up of 2 different vDevs. (Let's just say one is a 6x2Tb raidz2 and another is 4x300gb raidz1). Obviously the different sizes and redundancy levels mean we can't stripe all data... what happens? they stripe until the smaller vDev is full?

Thanks
 

Cheese

Dabbler
Joined
Feb 11, 2014
Messages
17
After some reading about ZFS, it appears that the default (Not sure if it can be changed) behavior is to fill multiple vDevs in parallel until one is full, then striping stops.

I was read a few entries for proportional fill, but none that indicated it actually happened.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
It's a total mess of a choice. It's opportunistic, free space based, and other factors all in one. With everything being equal it will stripe across all of the vdevs roughly equally. Basically, unless you want to check out the source code yourself, just accept that the data is striped across the vdevs. At the end of the day it really doesn't matter too much for you as the admin/end user.
 
Status
Not open for further replies.
Top