ZFS Best Practices Guide

Sponsors / Advertising



To use ZFS, at least 1 GB of memory is recommended (for all architectures) but more is helpful as ZFS needs *lots* of memory. Depending on your workload, it may be possible to use ZFS on systems with less memory, but it requires careful tuning to avoid panics from memory exhaustion in the kernel.

A 64-bit system is preferred due to its larger address space and better performance on 64-bit variables, which are used extensively by ZFS. 32-bit systems are supported though, with sufficient tuning.

ZFS Administration Considerations

ZFS Storage Pools Recommendations

This section describes general recommendations for setting up ZFS storage pools.

System/Memory/Swap Space
  • Run ZFS on a system that runs a 64-bit kernel
  • One GB or more of memory is recommended.
  • Approximately 64 KB of memory is consumed per mounted ZFS file system. On systems with 1,000s of ZFS file systems, provision 1 GB of extra memory for every 10,000 mounted file systems including snapshots. Be prepared for longer boot times on these systems as well.
  • Size memory requirements to actual system workload:
    • With a *known* application memory footprint, such as database application, you might cap the ARC size so that the application will not need to reclaim its necessary memory from the ZFS cache.
    • Identify ZFS memory usage with memstat
    • Consider dedup memory requirements

    [Read more…]

ZFS Evil Tuning Guide

Sponsors / Advertising



To use ZFS, at least 1 GB of memory is recommended (for all architectures) but more is helpful as ZFS needs *lots* of memory. Depending on your workload, it may be possible to use ZFS on systems with less memory, but it requires careful tuning to avoid panics from memory exhaustion in the kernel.

A 64-bit system is preferred due to its larger address space and better performance on 64-bit variables, which are used extensively by ZFS. 32-bit systems are supported though, with sufficient tuning.


[Read more…]

Kickstart vs FAI vs Cobbler vs Spacewalk vs OpenQRM

Server provisioning is nothing but load the Linux or UNIX like operating systems automatically with actual operating systems, device drivers, data, and make a server ready for network operation without any user input. Typically you select a server from a pool of available servers, load the operating systems (such as RHEL, Fedora, FreeBSD, Debian), and finally customize storage, network (IP, gateway, bounding etc), drivers, applications, users etc. Using the following tools you can perform automated unattended operating system installation, configuration, set virtual machines and much more. These software can be used to install a lot (say thousands) of Linux and UNIX systems at the same time.
[Read more…]