Skip to main content
Pure1 Support Portal

Using ZFS on Solaris

ZFS is a combined file system and logical volume manager by Sun Microsystems.  Pure Storage will support the usage of ZFS, but we do recommend that some tuning is done so as not to conflict with processes already handled by the Pure Storage FlashArray.  This document will highlight our best practice recommendations for optimal performance with ZFS. 

Reference

Topic Knowledge Base Link
Multipath Policy / HBA Config Pure Storage Solaris Best Practice
Space Reclamation Reclaiming Space on Various OS's
RAID Managed by Purity, do not enable on ZFS
Compression Managed by Purity, do not enable on ZFS
Dedup Managed by Purity, do not enable on ZFS
Snapshots Managed by ZFS, do not use Purity

ZFS ZPool Configuration

Identify the Multipath Devices

Using the 'format' command, identify the multipath devices
Make sure the path starts with /scsi_vhci

# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c4t624A9370A71D594A700C03C400014D1Fd0 <PURE-FlashArray-4015-100.00GB>
          /scsi_vhci/ssd@g624a9370a71d594a700c03c400014d1f
       1. c4t5000C50031BFBACFd0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>  solaris
          /scsi_vhci/disk@g5000c50031bfbacf
       2. c4t5000C50031C0642Bd0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>  solaris
          /scsi_vhci/disk@g5000c50031c0642b
Specify disk (enter its number):

Create the ZPool

Use the device identified in Step 1 to create your ZPool. Create non-raid zpools, and let the RAID in

Purity take care of redundancy.

# zpool create bucket c4t624A9370A71D594A700C03C400014D1Fd0

Verify the existing ZPool: 

root@t5140.ct.purestorage.com # zpool list
NAME     SIZE  ALLOC   FREE  CAP  HEALTH  ALTROOT
bucket  99.5G  8.96G  90.5G   9%  ONLINE  -

Check the status of "autoexpand"

root@t5140.ct.purestorage.com # zpool get autoexpand bucket
NAME    PROPERTY    VALUE   SOURCE
bucket  autoexpand  off     default

If the status is "off" we recommend you turn it on

root@t5140.ct.purestorage.com # zpool set autoexpand=on bucket
root@t5140.ct.purestorage.com # zpool get autoexpand bucket
NAME    PROPERTY    VALUE   SOURCE
bucket  autoexpand  on      local

NOTE: for zfs autoexpand feature to correctly work on Solaris 10U8, apply patch 147147-26

Creating the ZFS FileSystem

Solaris 10:

zfs create -o compression=off bucket/files

Solaris 11: 

zfs create -o compression=off dedup=off bucket/files

NOTE: Please make sure you have compression and dedup set to off.  The Pure Storage FlashArray will already provide back-end compression and dedup.  Running this on the software layer will greatly impact performance.

Confirm that compression & dedup are off:

root@t5140.ct.purestorage.com # zfs get -r  compression bucket/files
NAME          PROPERTY     VALUE     SOURCE
bucket/files  compression  off       local

root@t5140.ct.purestorage.com # zfs get -r  dedup bucket/files
NAME          PROPERTY     VALUE     SOURCE
bucket/files  dedup        off       local

List your ZFS properties: 

root@t5140.ct.purestorage.com # zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
bucket        5.00G  92.9G  5.00G  /bucket
bucket/files    31K  92.9G    31K  /bucket/files

Snapshots

If you are making use of snapshots, You are not able to mount a snapshot created using Purity, due to it having a duplicate GUID.  It is recommened that if you need to use snapshots of ZFS volumes, then use ZFS internal snapshot feature.