Monday, June 8, 2015

How to upgrade ZPOOL version on Solaris OS

Generally Information:
We need to upgrade Zpool version according to the vendor advice to get best support and best performance.

Also it dependence on the client environment whether they can improve the pool version since some client may run lower version and the pool need to be import some other system for several purpose, in this case the version should match always match so that it can be import to entire client environment.

Upgrading ZPOOLS: 
Zpool property to find the version details. In this case my zpool version is 25. To find out till what version this can support now, use "zpool upgrade -v" command.
TID{root}# zpool list pool_strip
NAME         SIZE  ALLOC   FREE    CAP  HEALTH  ALTROOT
pool_strip  1.98G    65K  1.98G     0%  ONLINE  -
TID{root}# zpool get all pool_strip | grep -i version
pool_strip  version        25          local
TID{root}#

TID{root}# zpool upgrade -v
This system is currently running ZFS pool version 29.

The following versions are supported:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS version
 2   Ditto blocks (replicated metadata)
 3   Hot spares and double parity RAID-Z
 4   zpool history
 5   Compression using the gzip algorithm
 6   bootfs pool property
 7   Separate intent log devices
 8   Delegated administration
 9   refquota and refreservation properties
 10  Cache devices
 11  Improved scrub performance
 12  Snapshot properties
 13  snapused property
 14  passthrough-x aclinherit
 15  user/group space accounting
 16  stmf property support
 17  Triple-parity RAID-Z
 18  Snapshot user holds
 19  Log device removal
 20  Compression using zle (zero-length encoding)
 21  Reserved
 22  Received properties
 23  Slim ZIL
 24  System attributes
 25  Improved scrub stats
 26  Improved snapshot deletion performance
 27  Improved snapshot creation performance
 28  Multiple vdev replacements
 29  RAID-Z/mirror hybrid allocator

For more information on a particular version, including supported releases,
see the ZFS Administration Guide.

TID{root}#
To upgrade pool to particulate version:
TID{root}# zpool upgrade -V 27 pool_strip
This system is currently running ZFS pool version 29.

Successfully upgraded 'pool_strip' from version 25 to version 27

TID{root}#

TID{root}# zpool get all pool_strip | grep -i version
pool_strip  version 27          local
TID{root}#
Upgrade pool to latest version which is currently support and available on servers:
TID{root}# zpool upgrade pool_strip
This system is currently running ZFS pool version 29.

Successfully upgraded 'pool_strip' from version 27 to version 29

TID{root}#
Upgrading all the pools which are there in systems, in this scenario we have three pools which are running lower version and it can be upgrade to latest version.
TID{root}# zpool list
NAME         SIZE  ALLOC   FREE    CAP  HEALTH  ALTROOT
apps_pool   1.98G    79K  1.98G     0%  ONLINE  -
db_pool     1.98G    69K  1.98G     0%  ONLINE  -
ora_pool    1.98G    82K  1.98G     0%  ONLINE  -
pool_strip  1.98G    85K  1.98G     0%  ONLINE  -
rpool       15.9G  6.33G  9.54G    39%  ONLINE  -
TID{root}#

TID{root}# zpool get version apps_pool
NAME       PROPERTY  VALUE    SOURCE
apps_pool  version   25       local
TID{root}# zpool get version db_pool
NAME     PROPERTY  VALUE    SOURCE
db_pool  version   20       local
TID{root}# zpool get version ora_pool
NAME      PROPERTY  VALUE    SOURCE
ora_pool  version   23       local
TID{root}# zpool get version pool_strip
NAME        PROPERTY  VALUE    SOURCE
pool_strip  version   29       default
TID{root}# zpool get version rpool
NAME   PROPERTY  VALUE    SOURCE
rpool  version   29       default
TID{root}#

TID{root}# zpool upgrade -a
This system is currently running ZFS pool version 29.
Successfully upgraded 'apps_pool'
Successfully upgraded 'db_pool'
Successfully upgraded 'ora_pool'
TID{root}# zpool get version apps_pool
NAME       PROPERTY  VALUE    SOURCE
apps_pool  version   29       default
TID{root}# zpool get version db_pool
NAME     PROPERTY  VALUE    SOURCE
db_pool  version   29       default
TID{root}# zpool get version ora_pool
NAME      PROPERTY  VALUE    SOURCE
ora_pool  version   29       default
TID{root}#
Note : This pool can not be imported on any system which is running a zpool version less than 29.

1 comment: