Page 1 of 1

zpool upgrade and zfs upgrade

Posted: Thu Oct 24, 2013 6:39 pm
by cah
When I was working on orazone01 today for the zpool error, I found other issues too.

Code: Select all

%zpool status -xv
  pool: oracledatapool
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scan: none requested
config:

        NAME                                     STATE     READ WRITE CKSUM
        oracledatapool                           ONLINE       0     0    12
          c9t600A0B800075F94F000002D94DBEC363d0  ONLINE       0     0    24
          c9t600A0B800075F93600000342503B498Cd0  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        oracledatapool/orautil01_oracle_backup:<0x18cf>
        oracledatapool/orautil01_oracle_backup:<0x18d2>
        oracledatapool/orautil01_oracle_backup:<0x1957>
        oracledatapool/orautil01_oracle_backup:<0x1958>
        oracledatapool/orautil01_oracle_backup:<0x19d8>
        oracledatapool/orautil01_oracle_backup:<0x1a3c>
        oracledatapool/orautil01_oracle_backup:<0x1a3d>
        /zonepool/zones/orautil01/root/oracle/backup/rman/iprodm/level0_IPRODM_v0on5h6o_1_1
        oracledatapool/orautil01_oracle_oradata:<0xa65>
        oracledatapool/oradev05_oracle_backup:<0xd81>
        oracledatapool/oraint03_oracle_backup:<0x5b>
        oracledatapool/oraint03_oracle_backup:<0x10e>
        oracledatapool/oraint03_oracle_backup:<0xe8f>
        oracledatapool/oraint03_oracle_backup:<0xed8>
        oracledatapool/oraint03_oracle_backup:<0xefd>
        oracledatapool/oraint03_oracle_backup:<0xfdb>
        oracledatapool/oratest02_oracle_backup:<0xfcb>
        oracledatapool/oratest02_oracle_backup:<0xfe6>
        /zonepool/zones/orautil01/root/oracle/app/oracle/oradata/cldm/undotbs01.dbf

  pool: rpool
 state: ONLINE
status: The pool is formatted using an older on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on older software versions.
 scan: scrub repaired 0 in 0h9m with 0 errors on Sun Oct 20 03:09:41 2013
config:

        NAME                       STATE     READ WRITE CKSUM
        rpool                      ONLINE       0     0     0
          c3t3718410C46D7BFE8d0s0  ONLINE       0     0     0

errors: No known data errors

  pool: zonepool
 state: ONLINE
status: The pool is formatted using an older on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on older software versions.
 scan: scrub repaired 0 in 0h6m with 0 errors on Sun Oct 20 03:06:16 2013
config:

        NAME                     STATE     READ WRITE CKSUM
        zonepool                 ONLINE       0     0     0
          c3t3EDC40EB4E13BFC7d0  ONLINE       0     0     0

errors: No known data errors
oracledatapool has some checksum issue and I ran 'zpool clear oracledatapool' and 'zpool scrub oracledatapool' trying to get it back to healthy state.

However, both rpool and zonepool showed interesting status and suggested action:

Code: Select all

status: The pool is formatted using an older on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on older software versions.
I ran 'zpool upgrade' and saw:

Code: Select all

%zpool upgrade
This system is currently running ZFS pool version 32.

The following pools are out of date, and can be upgraded.  After being
upgraded, these pools will no longer be accessible by older software versions.

VER  POOL
---  ------------
22   oracledatapool
22   rpool
22   zonepool

Use 'zpool upgrade -v' for a list of available versions and their associated features.
I then ran 'zpool uprgade -v' and I saw:

Code: Select all

%zpool upgrade -v
This system is currently running ZFS pool version 32.

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
 30  Reserved
 31  Improved 'zfs list' performance
 32  One MB blocksize

For more information on a particular version, including supported releases,
see the ZFS Administration Guide.
I then checked with 'zfs upgrade' and I saw:

Code: Select all

%zfs upgrade
This system is currently running ZFS filesystem version 5.

The following filesystems are out of date, and can be upgraded.  After being
upgraded, these filesystems (and any 'zfs send' streams generated from
subsequent snapshots) will no longer be accessible by older software versions.


VER  FILESYSTEM
---  ------------
 4   oracledatapool
 4   oracledatapool/oradev05_oracle_agent
 4   oracledatapool/oradev05_oracle_app
 4   oracledatapool/oradev05_oracle_backup
 4   oracledatapool/oradev05_oracle_misc
 4   oracledatapool/oradev05_oracle_oradata
 4   oracledatapool/oraint03_oracle_agent
 4   oracledatapool/oraint03_oracle_app
 4   oracledatapool/oraint03_oracle_backup
 4   oracledatapool/oraint03_oracle_misc
 4   oracledatapool/oraint03_oracle_oradata
 4   oracledatapool/oratest02_oracle_agent
 4   oracledatapool/oratest02_oracle_app
 4   oracledatapool/oratest02_oracle_backup
 4   oracledatapool/oratest02_oracle_misc
 4   oracledatapool/oratest02_oracle_oradata
 4   oracledatapool/orautil01_cldm
 4   oracledatapool/orautil01_oracle_agent
 4   oracledatapool/orautil01_oracle_app
 4   oracledatapool/orautil01_oracle_backup
 4   oracledatapool/orautil01_oracle_misc
 4   oracledatapool/orautil01_oracle_oradata
 4   rpool
 4   rpool/ROOT
 4   rpool/ROOT/root_ds
 4   rpool/ROOT/root_ds/var
 4   rpool/export
 4   rpool/export/home
 4   zonepool
To compare, I ran 'zfs upgrade -v' and saw:

Code: Select all

%zfs upgrade -v
The following filesystem versions are supported:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS filesystem version
 2   Enhanced directory entries
 3   Case insensitive and File system unique identifier (FUID)
 4   userquota, groupquota properties
 5   System attributes

For more information on a particular version, including supported releases,
see the ZFS Administration Guide.
I also checked with appzone01 and appzone02. They are consistent.

Code: Select all

appzone01%zpool upgrade
This system is currently running ZFS pool version 22.

All pools are formatted using this version.

appzone01%zfs upgrade
This system is currently running ZFS filesystem version 4.

All filesystems are formatted with the current version.

Code: Select all

appzone02:/export/home/hsiaoc1%zpool upgrade
This system is currently running ZFS pool version 32.

All pools are formatted using this version.

appzone02%zfs upgrade
This system is currently running ZFS filesystem version 5.

All filesystems are formatted with the current version.
I think the reason why orazone01 got discrepancy is because I applied patch(es) to it when I was working on it before getting the /SYS/MB replaced. The patch(es) probably upgraded the binary but not the versions on zfs and pools.

I think the upgrade should be straightforward. However, the warning is scary:
`zpool upgrade` wrote: The following pools are out of date, and can be upgraded. After being
upgraded, these pools will no longer be accessible by older software versions
.

Code: Select all

VER  POOL
---  ------------
22   oracledatapool
22   rpool
22   zonepoo
`zfs upgrade` wrote: The following filesystems are out of date, and can be upgraded. After being
upgraded, these filesystems (and any 'zfs send' streams generated from
subsequent snapshots) will no longer be accessible by older software versions.


Code: Select all

VER  FILESYSTEM
---  ------------
 4   oracledatapool
 4   oracledatapool/oradev05_oracle_agent
 4   oracledatapool/oradev05_oracle_app
 4   oracledatapool/oradev05_oracle_backup
 4   oracledatapool/oradev05_oracle_misc
 4   oracledatapool/oradev05_oracle_oradata
 4   oracledatapool/oraint03_oracle_agent
 4   oracledatapool/oraint03_oracle_app
 4   oracledatapool/oraint03_oracle_backup
 4   oracledatapool/oraint03_oracle_misc
 4   oracledatapool/oraint03_oracle_oradata
 4   oracledatapool/oratest02_oracle_agent
 4   oracledatapool/oratest02_oracle_app
 4   oracledatapool/oratest02_oracle_backup
 4   oracledatapool/oratest02_oracle_misc
 4   oracledatapool/oratest02_oracle_oradata
 4   oracledatapool/orautil01_cldm
 4   oracledatapool/orautil01_oracle_agent
 4   oracledatapool/orautil01_oracle_app
 4   oracledatapool/orautil01_oracle_backup
 4   oracledatapool/orautil01_oracle_misc
 4   oracledatapool/orautil01_oracle_oradata
 4   rpool
 4   rpool/ROOT
 4   rpool/ROOT/root_ds
 4   rpool/ROOT/root_ds/var
 4   rpool/export
 4   rpool/export/home
 4   zonepool
I don't really know what the impact "older software versions" would be. Therefore, I dare not move forward.