- Joined
- May 17, 2014
- Messages
- 3,611
I have been thinking on the recent changes to OpenZFS. Here is a list of the highly sought after features. Some done, some in progress and others just a pie in the sky.
And why?
Some people may consider the first one absolutely nothing, and never even think about. But, I was working AT Sun Microsystems in 2008 & 2009. We had to listen to customers complain that they attempted to delete a huge dataset. It seemed to lock up, so they rebooted. And now are stuck waiting for the ZFS synchronous dataset destroy to complete before they can use their server. Async destroy fixes that. Even to the point of making freed storage available for re-use as soon as it's freed!
As for the pool import with missing vDev(s), this one is tricky. If you have a dataset or zVol that has 2 copies, you may be able to restore 100% of that specific, limited data. But today, with a failed / missing vDev, you have to restore from backups, 100% of the time.
- Async dataset destroy - been available for MANY years
- Native encryption - close to release, (not yet in ZFS on Linux release)
- single disk vDev removal - probably 1 year out
- Meta-device for metadata, similar to SLOG - 1 year out?
- DRAID vDev type - about 1 to 2 years out
- Dataset / zVol limited scrubs - 2 years out
- RAID-Zx expansion by 1 disk at a time - may be 2 years out
- Off line file system check & or scrub - status unknown
- Pool import with missing vDevs - early in design
- Microsoft Windows support - very early, so bleeding edge it may never see daylight
- General purpose vDev removal - when pigs fly without catapults
- Block pointer re-write - when hell freezes over
And why?
Some people may consider the first one absolutely nothing, and never even think about. But, I was working AT Sun Microsystems in 2008 & 2009. We had to listen to customers complain that they attempted to delete a huge dataset. It seemed to lock up, so they rebooted. And now are stuck waiting for the ZFS synchronous dataset destroy to complete before they can use their server. Async destroy fixes that. Even to the point of making freed storage available for re-use as soon as it's freed!
As for the pool import with missing vDev(s), this one is tricky. If you have a dataset or zVol that has 2 copies, you may be able to restore 100% of that specific, limited data. But today, with a failed / missing vDev, you have to restore from backups, 100% of the time.