Question

I'm trying to make a storage for my home server which is made by ZFS. I have only 1 SSD but by quick googling I found many people set ZIL on mirror-ed array. Only 1 SSD for ZIL is risk?

I understand I will lose some logs on ZIL when the SSD is broken. It's ok that small data will be lost because the storage is only for personal use. Without the lost logs can the raidz work well? For example, can I revert the raidz to the latest snapshot without the broken ZIL?

I'm using Debian 7.0 and ZFS on Linux 0.6.1.

Était-ce utile?

La solution

You would need to check your zpool version, if it's >= 19 then it supports "Log device removal" or ZIL removal.

$ zpool upgrade -v
This system is currently running ZFS pool version 28.

The following versions are supported:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS version
 2   Ditto blocks (replicated metadata)
 3   Hot spares and double parity RAID-Z
 4   zpool history
 5   Compression using the gzip algorithm
 6   bootfs pool property
 7   Separate intent log devices
 8   Delegated administration
 9   refquota and refreservation properties
 10  Cache devices
 11  Improved scrub performance
 12  Snapshot properties
 13  snapused property
 14  passthrough-x aclinherit
 15  user/group space accounting
 16  stmf property support
 17  Triple-parity RAID-Z
 18  Snapshot user holds
 19  Log device removal
 20  Compression using zle (zero-length encoding)
 21  Deduplication
 22  Received properties
 23  Slim ZIL
 24  System attributes
 25  Improved scrub stats
 26  Improved snapshot deletion performance
 27  Improved snapshot creation performance
 28  Multiple vdev replacements

This means I have version 28 (>=19), thus, I can remove my ZIL device anytime from my pool. I doubt you'll break your single ZIL drive within a year or two unless you are performing synchronous writes all the time which your ZIL helps even out. There have been a lot of improvements on ZFS and from what I've read when your ZIL device breaks, the pool will simply revert to writing directly to the data pool. Of course, you can still rollback to a 'good' snapshot (do make sure you have snapshots).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top