IBM Support

DB2 Support for zettatype file systems

Question & Answer


Question

Is DB2 LUW Supported on zettatype (ZFS) file systems?

Answer

DB2 V9.x for Linux, UNIX, and Windows is supported on Solaris zettatype file systems (zfs). However, DB2 does not support the NO FILE SYSTEM CACHING option when creating tablespaces on such file systems. You should take this into consideration during your planning stages or when evaluating performance for tablespaces created on ZFS file systems.


In case of using NO FILE SYSTEM CACHING option in ZFS filesystem the db2diag.log contains “Unsupported file system type %s for Direct I/O” warning messages:

2010-09-17-00.00.39.009046+120 E29517606A879 LEVEL: Warning
PID : 9762 TID : 13 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : TESTDB
EDUID : 13 EDUNAME: db2loggr (TESTDB) 0
FUNCTION: DB2 UDB, oper system services, sqlo_enable_dio_cio_using_ioctl, probe:30
MESSAGE : Unsupported file system type %s for Direct I/O.
DATA #1 : ZRC, PD_TYPE_ZRC, 4 bytes 0x870F00B7
DATA #2 : File handle, PD_TYPE_SQO_FILE_HDL, 8 bytes <preformatted>

This error occurs because of using ZFS filesystem for DB2 with Direct I/O enabled. As mentioned earlier, in DB2 V9.x NO FILE SYSTEM CACHING is not supported with ZFS filesystem. For more information about the Direct I/O (DIO) and Concurrent I/O (CIO) support for the different kind of filesystems in DB2 V9.x please refer to the DB2 9.7 information center:

http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.dbobj.doc/doc/c0051304.html

In order to fix the error stated in the db2diag.log, FILE SYSTEM CACHING needs to be enabled on the db2 tablespaces and the DB2_LOGGER_NON_BUFFERED_IO variable needs to be set to OFF, so that DIO is not attempted to be used.

Perform the following to remedy the error:

(i) Confirm that all the tablespaces have the FILE SYSTEM CACHING enabled:

db2 connect to <db_name>

db2 "SELECT substr(TBSP_NAME,1,40) as TBSP_NAME, TBSP_TYPE, TBSP_CONTENT_TYPE, FS_CACHING FROM TABLE(SNAP_GET_TBSP(CAST(NULL AS VARCHAR(1)),-1)) AS T"

The tablespaces which have a 1 in column FS_CACHING do not have FILE SYSTEM CACHING enabled. For such tablespaces run:

db2 ALTER TABLESPACE <table_space_name> FILE SYSTEM CACHING

(ii) Run db2set DB2_LOGGER_NON_BUFFERED_IO=OFF

This variable allows to control whether DIO will be used on the log file system. For more information please see:

http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.regvars.doc/doc/r0005665.html

Perform db2stop and then db2start in order to make the changes available

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Operating System \/ Hardware - Filesystems & I\/O","Platform":[{"code":"PF027","label":"Solaris"}],"Version":"9.7;9.5;9.1;10.1;10.5;11.1","Edition":"Enterprise Server;Express;Personal;Personal Developer's;Workgroup Server","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
23 June 2018

UID

swg21402822