Kim You've been able to spin down drives since about Solaris 8. Jim Klimov wrote: Hello all. Like many others, I've come close to making a home NAS server based on ZFS and OpenSolaris. While this is not an enterprise solution with high IOPS expectation, but rather a low-power system for storing everything I have, I plan on cramming in some 6-10 5400RPM "Green" drives with low wattage and high capacity, and possibly an SSD or two (or one-two spinning disks) for Read/Write caching/logging.However, having all the drives spinning (with little actual usage for >99% of the data at any given time) will get inefficient for power bills. An apparent solution is to use very few active devices, and idle or spin down the other disks until their data is actually accessed - and minimize the frequency of such requests by efficient caching, while transparently maintaining the ease of use of a single ZFS pool. This was all recognized, considered and discussed before me, but I have yet to find any definite answers on my questions below :) I've read a number of blogs and threads on ZFS support for spinning down unused disks, and for deferring metadata updates to a few always-active devices. Some threads also discuss hacks to spin up drives of a ZFS pool in parallel, to reduce latency when accessing their data initially after a spin-down. There were also hack suggestions to keep only a few devices requiring active power for writes, i.e. adding a mirror to a pool when its free space is about to end, so new writes go only to a couple of new disks - effectively making the pool a growing concat device and losing benefits of parallel read/writes over all disks at once. There were many answers and ideas to digest, but some questions I have remaining are: 1) What is the real situation now? Are such solutions still some home-made hacks or commercial-only solutions, or did they integrate into commonly and freely available OpenSolaris source code and binaries? 2) Can the same SSD (single or a mirrored couple) be used for read and write logging, i.e. L2ARC and ZIL? Is that going to be efficient anyhow? Should their size be preallocated (i.e. as partitions on SSD), or can both L2ARC and ZIL use all of the free space on a shared SSD? 3) For a real-life situation, say, I'm going to watch a movie off this home NAS over CIFS or via local XWindows session, and the movie's file size is small enough to fit in ARC (RAM) or L2ARC (SSD). Can I set up the system in such a manner (and using freely available software) that the idle drives of the pool spin up, read the whole movie's file into a cache, and spin down - and for the 2 hours that the movie goes, these drives don't rotate at all, and only the cache devices, RAM and CPU consume power? On a counter situation, is it possible to upload a few files to such a pool so that they fit into the single (mirrored) active non-volatile write-cache device, and the larger drive sets won't spin up at all until the write cache becomes full and needs to spill over to disks? Would such scenarios require special hacks and scripts, or do they already work as I envisioned above - out of the box? What is a typical overhead noted by home-NAS ZFS enthusiasts? I.e. for a 4Gb movie to be prefetched and watched from cache, how large should the cache device be? 4) For a cheap and not blazing-fast home-user solution, the expensive SSDs (for L2ARC and/or ZIL roles, with spun-down large disks waiting for occasional rare requests) can consume half the monetary budget for the server. Can SSDs be replaced by commodity USB/CF flash devices, or by dedicated spinning rust - with a single/mirrored spindle consuming power instead of the whole dozen? 5) Some threads mentioned hierarchical storage management, such as SAMFS/QFS, as a means to keep recently-requested/written data on some active devices and later destage it to rarely-spun drives emulating a tape array, and represent the whole lot as a single POSIX filesystem. Is any of SAMFS/QFS (or similar solution) available for free? Is it needed in my case, or current ZFS implementation with HDDs+L2ARC+ZIL covers this aspect of HSM already? If not, can a ZFS pool with multiple datasets be created inside a HSM volume, so that I have the flexibility of ZFS and offline-storage capabilities of HSM? -- Thanks for any replies, including statements that my ideas are insane or my views are outdated ;) But constructive ones are more appreciated ;) //Jim This email is confidential and may be legally privileged. If received in error please destroy and immediately notify us. |
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss