Noobish questions about file server technologies

x509

2[H]4U
Joined
Sep 20, 2009
Messages
2,630
OK, so I',m hardly a noob in general around systems. In fact, once upon a time, I worked for Sun Microsystems, and I'm really happy that some Sun technologies live on. Can someone give me the "noob explanation" of ZFS and why people are using it. If I build a server running ZFS, will it live happily in a Windows 7 network? And what are the alternatives to ZFS?

Also, if I do run a Windows server system, can I still implement ZFS?

Again, I'm hardly a noob about building my own systems. My first real system was a PC AT which I bought from IBM, but after that, it's been nothing but DIY upgrades and new systems.
 
zfs is feature rich.

It has built in checksum features, supports compression, supports deduplication (saves space on duplicate data), supports snapshots (great for backups), dynamic fileset sizing so basically can increase or descrease filesets (partitions) at will without formatting. In addition can dynamically add disks to existing raids to add space as long as its not a root filesystem and it also is journaled. Personally I have never had a inconsistent zfs filesystem even after crashes and power cuts.

However its not all plus points, zfs is very memory hungry, on a busy web server using zfs, we are saturating 18 gig of ram quite easily and I have begged for owners of the server to add more ram, zfs chews up ram on things like its ARC and metadata caches, if deduplication is used that uses a ton of ram as well. It also can be very slow in specific workloads, eg. listing large directories on zfs can be very slow, if prefetch is used reads are fast but can starve writes, if prefetch is off reads can struggle. prefetch is also another ram gobbler.

As I understand it most people on hardforum use zfs for home filesystem storage of those who use it so they may nopt run into many of the issuesI have listed here, as my experience is on a very busy web server. In terms of features zfs is great.
 
zfs is feature rich.

It has built in checksum features, supports compression, supports deduplication (saves space on duplicate data), supports snapshots (great for backups), dynamic fileset sizing so basically can increase or descrease filesets (partitions) at will without formatting. In addition can dynamically add disks to existing raids to add space as long as its not a root filesystem and it also is journaled. Personally I have never had a inconsistent zfs filesystem even after crashes and power cuts.

Thank you for this information. If "typical NTFS" is at one end of a range based on reliability and safety of storage, is ZFS on the other end? (I'm assuming that ZFS is also used in enterprise storage networks for "serious" storage.)

Does ZFS require a Linux OS? I have nothing against Linux, especially having worked at Sun Microsystems, but my home network is a "Windows shop" and I would be more likely to use ZFS if I could deploy it under Windows Server or even Windows 7 (desktop!).

However its not all plus points, zfs is very memory hungry, on a busy web server using zfs, we are saturating 18 gig of ram quite easily and I have begged for owners of the server to add more ram, zfs chews up ram on things like its ARC and metadata caches, if deduplication is used that uses a ton of ram as well. It also can be very slow in specific workloads, eg. listing large directories on zfs can be very slow, if prefetch is used reads are fast but can starve writes, if prefetch is off reads can struggle. prefetch is also another ram gobbler.

A few years ago, 18 GB on a home system would been the stuff of fantasy, but no longer. ASUS, for example, has a series of P79 motherboards that will support up to 64 GB!! A few years ago, that much storage would have qualified as a mainframe.

As I understand it most people on hardforum use zfs for home filesystem storage of those who use it so they may nopt run into many of the issuesI have listed here, as my experience is on a very busy web server. In terms of features zfs is great.

Thank you for this reply. If other people want to jump in here, that would be welcomed. At this point, I'm just trying to educate myself.

x509
 
There is no ZFS implementation for Windows and its probably impossible.

You can run Solaris, FreeBSD or Linux to get ZFS, although the Linux implementation is under development and not considered stable.

Your best bet is FreeNAS or Solaris/OpenIndiana/whatever with Napp-it. napp-it is good but it has its quirks. I could never get Solaris to saturate a 1gbit connection so I went to FreeNAS, which I like better.
 
So if one went with ZFS do they need a hardware raid card? or just expanders?
 
So if one went with ZFS do they need a hardware raid card? or just expanders?

No, ZFS is "software raid". You can use standard SATA, SCSI, SAS or IDE controllers, the RaidZ will handle the rest.

Most people with ZFS setups use hardware raid cards strictly as host bus adapters and normally will even reflash the firmware to a non-Raid firmware, some call this "IT-Mode". Popular choices are the IBM M1015 and the IBM BR10i because they can be found cheap and can be flashed with IT-Mode firmware. The non-Raid firmwares will present the drives directly to the OS. With Standard firmwares you would need to put each drive in its own array and the arrays themselves would be presented to the OS, both methods work but the IT-Mode is the simpler and preferred way.

Expanders will work too, just need to make sure the Expander would be compatible with whatever your HBA is.
 
However its not all plus points, zfs is very memory hungry, on a busy web server using zfs, we are saturating 18 gig of ram quite easily and I have begged for owners of the server to add more ram, zfs chews up ram on things like its ARC and metadata caches, if deduplication is used that uses a ton of ram as well. It also can be very slow in specific workloads, eg. listing large directories on zfs can be very slow, if prefetch is used reads are fast but can starve writes, if prefetch is off reads can struggle.
prefetch is also another ram gobbler.

This is not a bug but a Solaris feature.
Any Solaris type OS works well with 1-2 GB RAM and if you are satisfied with
pure disk performance, you do not need more.

The point is. Solaris use any unused RAM beside a small reservation dynamically as
Read-Cache. This can go up to Pool-Size to deliver all read request from RAM.
So be happy if you have 18 GB RAM and it is used and not only expensive and idle.

If you start other services, ZFS will reduce its memory use accordingly.
Realtime ZFS Dedup is a very special feature and only usefull in some very rare situations.
 
Last edited:
Thank you for this information. If "typical NTFS" is at one end of a range based on reliability and safety of storage, is ZFS on the other end? (I'm assuming that ZFS is also used in enterprise storage networks for "serious" storage.)

NTFS is not at one end, FAT is far worse, Microsoft switched home users to NTFS for a reason.

At least NTFS is journaled.

Usually ZFS is used on its own server and it has CIFS (windows network) built in so it can play in a windows network, still permissions are linux like so it needs a bit of fiddling.

Some people do all in ones with virtualization, in this case you would have the possibility of having a windows virtual machine on top of ZFS storage. Not that it would make much sense to actually store data on that virtual machine, since you would be back to NTFS and its limitations, just with ZFS "under it".
 
Usually ZFS is used on its own server and it has CIFS (windows network) built in so it can play in a windows network, still permissions are linux like so it needs a bit of fiddling.

That is true for SAMBA and Linux/BSD but not true for the OI/Solaris CIFS server
with Windows like NFS4 ACL and Windows SID user management/usage instead of Unix user and group ids.

(But this can add some problems with compatibility to other Unix fileservices like netatalk)
 
Last edited:
NTFS is not at one end, FAT is far worse, Microsoft switched home users to NTFS for a reason.

At least NTFS is journaled.

Usually ZFS is used on its own server and it has CIFS (windows network) built in so it can play in a windows network, still permissions are linux like so it needs a bit of fiddling.

I'm no UNIX guru, but I do remember chmod for chaning permissions.


Some people do all in ones with virtualization, in this case you would have the possibility of having a windows virtual machine on top of ZFS storage. Not that it would make much sense to actually store data on that virtual machine, since you would be back to NTFS and its limitations, just with ZFS "under it".

For me at least, I don't see why I would do that. If ZFS can play nicely with a Microsoft implementation of CIFS, that would be good enough. Better would be if I didn't have to learn how to admin a different OS, but at least the (software) price is right.
 
Back
Top