S
S
syxoi2017-02-22 14:52:24
ZFS
syxoi, 2017-02-22 14:52:24

How does stripe work on ZFS?

I decided to compare how the raid works using ZFS and md + (any fs), in the Vmware virtual machine I created a machine with several disks of different sizes, and began to monitor their activity.
ZFS: While writing a file (dd if=/dev/zero of=file bs=60M), the data was written (as iotop tells us) to three disks at once, and all the time the access was completely to three disks, but in theory, it should be like this: we run out of space on the first one, we write to another one, and so on, but somehow ZFS manages to write to several. Why? It's not at all clear.
md: Everything works as intended: during recording, we first write to three disks, the first one ends and writes to 2 and 3, it ends on 2 and data is added to the 3rd disk.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexander Leonenko, 2017-03-02
@al_ace

If you create a ZFS pool of 3 disks, then zfs itself knows that it has 3 disks. She knows how much is free and how much is busy on each of them. Data in ZFS is stored in blocks, the block size is selected for each file, but usually no more than 256 kilobytes. If the file is large and there are many blocks, then zfs tries to distribute the blocks equally among the participants. Moreover, in ZFS some metadata is duplicated - up to 3 copies are written, which she also tries to scatter among the participants.
And about md. Tell us what kind of raid did you make that it works like that? It would be logical to compare stripe with stripe, but a "normal" stripe needs disks of the same size.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question