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.