Sun Microsystems, Inc.
Home > Next >

More Resources:
 
»  General information on the Solaris 10 OS
 
»  View the Solaris 10 OS Net Talk
 

Fast Track to Solaris 10 Adoption: ZFS Technology

Performance Issues

Please click on a question below or download a pdf version.

  1. What is HA Storage+?
  2. How does MPXIO stack up against DMP and powerpath?
  3. The sun.com front-page story mentions "Explicit I/O priority with deadline scheduling." Does this mean you can control disk I/O priorities at the process-level, e.g., to tame disk hogging or runaway processes?
  4. Re: finding disks based on their content rather than their path name, does this mean that devices become path agnostic? For example, if c1t3d0 moves to c2t3d0, will ZFS find it and do the right thing?
  5. Under ZFS (pooled storage), could one identify which physical disk(s) a file resides on?
  6. Will ZFS have ZFSdump / flash / snapshot capabilities?
  7. ZFS may greatly simplify administration, but what kind of performance does it give?
  8. VxFS grows file systems quickly, but takes a long time to shrink them. Is the same true with ZFS?
  9. How does ZFS handle storage hotspots?
  10. There has been much file system work going on in the Linux world with the release of ReiserFS v4. Looking at ZFS and reiserfs, does ZFS support atomic commits? What about extensibility/plugins for enhancing ZFS? Also, what about security? Does ZFS help me in these aspects? Finally can it deal with millions of small files efficiently while still handling large gigabytes files?
  11. How does ZFS manage blocks?
  12. Given that all storage is in a single pool, the pool is raw storage and file systems are sharing space and bandwidth; does this mean that different filesystems can be "interleaved" on the same disk?
  13. Some storage vendors have the concept of alternate or dynamic pathing; is this feature included in ZFS?
  14. Will there be an SNMP trap daemon for problems similar to mdlogd?
  15. How does the QOS in ZFS work? Can you specify a default QOS for the creation of new volumes (as opposed to current volume managers having to specify RAID5/Striping)?
  16. With current volume managers, unless you micromanage them, after multiple growths of volumes/filesystems, you may wind up with a fragmented disk/LUN where there are little chunks of your filesystem spread all across your disk/LUN. Does ZFS handle this situation automatically?
  17. What do you say about striping in ZFS?
  18. Does each host have its own storage pool, or are multiple hosts sharing the same storage pool?
  19. What administration task should someone expect to be running most often once ZFS is fully implemented on a system?
  20. Can I evacuate a disk LUN from a ZFS file system if there is still room available with the LUN missing, e.g., migrate from one set of disks to another set while running?
  21. How often are checks of ondisk data executed? The documentation indicates self-healing capability, which seems to imply active consistency checking.
  22. In the event of disaster recovery, how does ZFS help me sort things out as I bring a system back online?
  23. Will ZFS commands be integrated into Solaris Volume manager or will it be a completely separate tool?
  24. How is alternate pathing handled?
  25. Will you be able to import/export/split storage pools, in order to move the entire pool or merely specific filesystems to other systems?
  26. What kind of performance hit will there be with ZFS vs. UFS vs. SDS vs. StorEdge systems?
  27. Is ZFS redundancy handled via mirroring at the block level? For example, is it like RAID1, where usable space equals 50 percent of raw space? Or is something like RAID5 possible, where loss is less?
  28. How does ZFS handle a disk failure in a pool ?
  29. The currently available docs state that ZFS will detect corrupt blocks in mirrored or RAID configurations. Without a volume manager, how does ZFS know about mirrors and raid storage?
  30. There are advanced features in ZFS that are outside the standard UFS attributes (e.g., mirroring and snapshots). Will there be a "ZFSdump" (or other mechanism) that will preserve such information across backups?
  31. How is ZFS going to reduce administration task time? Is it based on a specific technology that will, for example, have fsck run faster? Even with the storage pool, data corruption can happen.
  32. Are ZFS file systems shrinkable? How about fragmentation? Any need to defrag them?
  33. I have a workgroup of two Ultra60s, an UltraSPARC laptop, and four PCs. All machines are networked and drives mounted. Will ZFS allow me to treat all storage as a single pool?
  34. Does ZFS still use inodes?
  35. Is ZFS bootable, and if not, when will it be?

Q: What is HA Storage+?

A: This is a level of cluster compatibility. In order to satisfy this, the storage has to be available from both servers in the cluster, and only one server at a time can be reading/writing the data. In failover, it has to happen such that no data is lost. This is what we currently provide in ZFS. Higher levels provide things like simultaneous access (active-active) from both servers in the cluster. We don't provide this, but we're investigating it.

 Back to top

Q: How does MPXIO stack up against DMP and powerpath?

A: Quite well, but this is not a ZFS-specific question. Please look for MPxIO and its documentation/marketing materials on the sun.com site.

 Back to top

Q: The sun.com front-page story mentions "Explicit I/O priority with deadline scheduling." Does this mean you can control disk I/O priorities at the process-level, e.g., to tame disk hogging or runaway processes?

A: Yes, the technology is there, and we have been able to demonstrate excellent behavior in the face of situations like the one you describe. We are currently trying to figure out how to let the user/administrator specify adjustments to the priority/deadline on a process/user/zone basis.

 Back to top

Q: Re: finding disks based on their content rather than their path name, does this mean that devices become path agnostic? For example, if c1t3d0 moves to c2t3d0, will ZFS find it and do the right thing?

A: Absolutely!

 Back to top

Q: Under ZFS (pooled storage), could one identify which physical disk(s) a file resides on?

A: We have no command that will tell you this. However, you could figure it out using DTrace and the I/O provider and seeing which disks get I/O traffic from a given file.

 Back to top

Q: Will ZFS have ZFSdump / flash / snapshot capabilities?

A: ZFS supports an unlimited number of snapshots, which can be created in constant time. It also supports writable snapshots.

 Back to top

Q: ZFS may greatly simplify administration, but what kind of performance does it give?

A: Performance is very important for ZFS. You may know that with the Solaris 9 OS, UFS with logging was significantly faster than VxFS 3.5. A benchmark paper is published on this. Now with ZFS, Sun is ready to launch its next-generation file system and, once again, performance will be a key attribute. Currently, we do not have the numbers. Please stay tuned for information on ZFS performance numbers.

 Back to top

Q: VxFS grows file systems quickly, but takes a long time to shrink them. Is the same true with ZFS?

A: Short answer: yes. Long answer: it depends. If the disks that you remove have lots of data on them, and the data is not replicated on other disks in the pool, then we have to copy that data onto disks that are not being removed. This takes time (there is no magic). If there is little data on the disks, it won't take long.

 Back to top

Q: How does ZFS handle storage hotspots?

A: Being a copy-on-write filesystem, ZFS is much less susceptible to hot spots than traditional, statically-laid-out filesystems.

 Back to top

Q: There has been much file system work going on in the Linux world with the release of ReiserFS v4. Looking at ZFS and reiserfs, does ZFS support atomic commits? What about extensibility/plugins for enhancing ZFS? Also, what about security? Does ZFS help me in these aspects? Finally can it deal with millions of small files efficiently while still handling large gigabytes files?

A: ZFS will perform well with many small files as well as extremely large files. We'll be looking in to exposing some of the internal modularity of ZFS in future releases.

 Back to top

Q: How does ZFS manage blocks?

A: We have our own algorithms that minimize fragmentation and maximize performance.

 Back to top

Q: Given that all storage is in a single pool, the pool is raw storage and file systems are sharing space and bandwidth; does this mean that different filesystems can be "interleaved" on the same disk?

A: Yes. You can also have multiple pools on the same system.

 Back to top

Q: Some storage vendors have the concept of alternate or dynamic pathing; is this feature included in ZFS?

A: This is handled by MPxIO, which is part of the Solaris 10 OS. So, ZFS will transparently handle multipathing (active-active).

 Back to top

Q: Will there be an SNMP trap daemon for problems similar to mdlogd?

A: Yes, eventually. We're not sure if it will be in the first release.

 Back to top

Q: How does the QOS in ZFS work? Can you specify a default QOS for the creation of new volumes (as opposed to current volume managers having to specify RAID5/Striping)?

A: Currently, each pool has its own redundancy, as specified by the administrator. We are in the process of designing functionality that will allow you to have multiple types of redundancy in a single storage pool (for example, both mirroring and RAID-5 in a single pool). This may or may not make it into the initial release.

 Back to top

Q: With current volume managers, unless you micromanage them, after multiple growths of volumes/filesystems, you may wind up with a fragmented disk/LUN where there are little chunks of your filesystem spread all across your disk/LUN. Does ZFS handle this situation automatically?

A: Yes, with ZFS you can create as many filesystems as you like, drawing their storage from a single pool. Filesystems always use exactly as much space as they need, so there's no need to manually grow or shrink them.

 Back to top

Q: What do you say about striping in ZFS?

A: ZFS implements dynamic striping, which provides better performance and more flexibility than the static striping (RAID0) that volume managers use.

 Back to top

Q: Does each host have its own storage pool, or are multiple hosts sharing the same storage pool?

A: ZFS is a local filesystem; thus each host would have its own storage pool. You can use NFS to access the storage pool from remote hosts.

 Back to top

Q: What administration task should someone expect to be running most often once ZFS is fully implemented on a system?

A: That depends a lot on what applications you're using with ZFS. If you're using it on a home directory server, I imagine you'd most frequently be running the "ZFS create" command to create new ZFS filesystems for new users. You would occasionally run the "zpool add" command to add more storage (e.g., disks) to the pool.

 Back to top

Q: Can I evacuate a disk LUN from a ZFS file system if there is still room available with the LUN missing, e.g., migrate from one set of disks to another set while running?

A: Yes, that's fully supported.

 Back to top

Q: How often are checks of ondisk data executed? The documentation indicates self-healing capability, which seems to imply active consistency checking.

A: With checksums, we check data integrity on every I/O. For redundant configurations, we only read data from one location, but we will provide a background "disk scrubber" that you can run to validate data continuously.

 Back to top

Q: In the event of disaster recovery, how does ZFS help me sort things out as I bring a system back online?

A: In the event of a disaster, ZFS will be able to find any disks that are part of a storage pool, based on their content rather than their path name.

 Back to top

Q: Will ZFS commands be integrated into Solaris Volume manager or will it be a completely separate tool?

A: It will be a completely separate tool since ZFS includes its own functionality that is a superset of traditional volume managers.

 Back to top

Q: How is alternate pathing handled?

A: Alternate pathing is handled through MPXIO, which is a standard feature in the Solaris 10 OS.

 Back to top

Q: Will you be able to import/export/split storage pools, in order to move the entire pool or merely specific filesystems to other systems?

A: We can import/export entire pools between machines (and even between SPARC and x86 platforms) with incredible simplicity (one command). All filesystems that are part of that storage pool are migrated with it automatically.

 Back to top

Q: What kind of performance hit will there be with ZFS vs. UFS vs. SDS vs. StorEdge systems?

A: There should be no performance hit, only performance gains. The architecture in ZFS removes just about all constraints on I/O order, which allows us to run the disks much closer to full I/O capacity than current filesystems/volume managers.

 Back to top

Q: Is ZFS redundancy handled via mirroring at the block level? For example, is it like RAID1, where usable space equals 50 percent of raw space? Or is something like RAID5 possible, where loss is less?

A: ZFS will provide mirroring as well as RAID5-like redundancy.

 Back to top

Q: How does ZFS handle a disk failure in a pool ?

A: If a disk fails, we recover the data if possible and return EIO if not.

 Back to top

Q: The currently available docs state that ZFS will detect corrupt blocks in mirrored or RAID configurations. Without a volume manager, how does ZFS know about mirrors and raid storage?

A: ZFS incorporates the functionality of a volume manager, thus it implements mirrors, striping, and raid itself.

 Back to top

Q: There are advanced features in ZFS that are outside the standard UFS attributes (e.g., mirroring and snapshots). Will there be a "ZFSdump" (or other mechanism) that will preserve such information across backups?

A: Complicated storage administration concepts automated and consolidated into straightforward language, reducing administrative overhead by up to 80 percent; All data is protected by 64-bit checksums, resulting in 99.9999999999999999999 percent error detection and correction; 128-bit file system; 16 billion billion times the capacity of 32- or 64-bit file systems; Copy-on-write eliminates the need for fsck or other recovery mechanisms ZFS is POSIX compliant. Hence, applications run without modification including backups.

 Back to top

Q: How is ZFS going to reduce administration task time? Is it based on a specific technology that will, for example, have fsck run faster? Even with the storage pool, data corruption can happen.

A: It should never be necessary to run fsck, but the more significant administrative speedups actually come from the simplification of functions such as filesystem allocation, resizing, and so on. Also, ZFS has features that make recovery of accidentally-deleted files much easier than we see in other comparable technologies.

 Back to top

Q: Are ZFS file systems shrinkable? How about fragmentation? Any need to defrag them?

A: ZFS file systems can be dynamically resized; they can grow or shrink as needed. The allocation algorithms are such that defragmentation is not an issue.

 Back to top

Q: I have a workgroup of two Ultra60s, an UltraSPARC laptop, and four PCs. All machines are networked and drives mounted. Will ZFS allow me to treat all storage as a single pool?

A: If all disks are available locally to one machine (e.g., cXtXdX), then, yes. ZFS is not a distributed filesystem that can access raw storage over the network.

 Back to top

Q: Does ZFS still use inodes?

A: Like all filesystems, ZFS does have an on-disk structure which represents and keeps track of each file. However, unlike UFS, this structure is dynamically allocated.

 Back to top

Q: Is ZFS bootable, and if not, when will it be?

A: It won't be in the first ZFS release; look for it in a Solaris 10 OS update.

 Back to top Next >