ZFS is the default
filesystem on Oracle Solaris. It is
very easy to use with the
two commands zpool and zfs.
Disk management
Expand existing LUNs or
add additional LUNs if you
need more space. Since
Solaris 11.4 you can remove LUNs if you
want to shrink your pool.
Features
No need for filesystem
checks, because of the copy-on-write
implementation. You can
create snapshots and clones,
use encryption and
compression. Transfer data to other
systems using send/receive
or sharing.
Move the pools using
export/import to other systems.
ZFS builds the base for
the Solaris BootEnvironment (beadm)
where you are able to
update to and boot from different Solaris 11
Updates.
ZFS is my preferred
filesystem and volume manager, but
is everything perfect? No.
You need to carefully configure
ZFS to avoid and work
around fragmentation.
Oracle Database
You can run Oracle
Database very well on ZFS and profit
from snapshots, cloning
and other features. Especially
for larger databases (many
TB) with lots of data changes
you should setup
carefully.
Following a few
Best Practices based on own experiences
and Recommendations by
Oracle:
- data pool with log
device / 8KB recordsize for data / logbias=latency
- redo pool with log
device / 1MB recordsize / logbias=latency
- archive pool
/ 1MB recordsize
Add multiple LUNs for
striping. Use SSDs for highest performance.
If you are using SAN
increase zfs:zfs_vdev_max_pending
and ssd:ssd_max_throttle to 20.
Limit the ZFS Cache
(zfs:zfs_arc_max)
Make sure there is around
20% free space on the zpools.
Use a Server with 'enough'
Memory.
After many years of using
ZFS it always hurts, if I have
to use other more
complicated filesystem ....
Links
Pool Creation Practices
for an Oracle Database (Solaris 11.4 ZFS Guide)
Configuring Oracle ZFS for
an Oracle Database Whitepaper (2014)
Oracle DB erfolgreich
betreiben auf SPARC/LDoms/Solaris/ZFS (German Presentation)