Replies: 2 comments 8 replies
-
Special devices can be any type, including raidz2 or draid. They just have to match the redundancy level of the pool. You can verify the behavior by making a test pool of sparse files:
|
Beta Was this translation helpful? Give feedback.
-
Another thing that’s not quite clear to me: if a special vdev is full, will it simply overflow to the regular devices, or will I experience something akin to a regular file system running out of inodes even though there is still plenty of unused disk space? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Maybe I’m wrong, but I’m under the impression that currently special vdevs for metadata and small blocks/files can only be of type stripe or mirror. Someone elsewhere explained that historically the feature was implemented to improve draid performance, and of course, if one specifically adds SSDs to a spinning disk array to improve performance, one would use the fastest possible way of doing that, and that’s of course not a raidzN setup. Perfectly reasonable.
However, I come from a completely different angle: I have a SSD RAIDZ2 pool and a spinning disk RAIDZ2 pool, and there is no plan to add additional devices, for space and cost reasons. However, since in both cases metadata is stored on a RAIDZ vdev anyway, it still would speed up things if the spinning disks had their metadata on the SSDs. Similarly, having two pools and having to manually decide which data goes where brings additional overhead.
If I could create a pool where both the SSDs and the spinning disks were RAIDZ2, but the SSDs were used as special vdev for small files/blocks and metadata, then most file ops would be as fast as an SSD RAIDZ2 even on the spinning disks, and I could organize the file system logically, rather than by what files I want on the spinners vs. on the SSDs.
So, coming from that angle, where everything is RAIDZ anyway, and it’s just a question if things end up on slow or fast hardware, having a special vdev as raidz2 suddenly does make sense.
Am I missing something here? If not, how big would be the effort to actually get this implemented, given that both raidz2 logic is fully implemented and special vdev logic is implemented. It would almost seem, recommended practices aside, once a vdev is created, the zpool should be agnostic to how it’s being used. After all, nothing would stop me (except common sense) to use a mirror of spinning disk drives as special vdev for an SSD RAIDZ2 pool. 😆
Beta Was this translation helpful? Give feedback.
All reactions