4 Replies Latest reply: Jun 12, 2014 5:04 PM by user4784057 RSS

    Oracle Linux DIF DIX Support

    user4784057

      Has anyone tried using Oracle Linux with end-to-end Data integrity support? What protection type does the lun need to support (type 1 or 2 or 3)? Is there any documentation available for configuring this in Oracle Linux?

        • 1. Re: Oracle Linux DIF DIX Support
          Dude!

          From what I understand DIF/DIX is a hardware checksum feature that requires specific support by the storage controller and attached block devices. It's not a software option. It will not work reliably for any buffered I/O and should only be used with applications that support raw devices or use O_DIRECT I/O. The types you mention describe the level of protection and each require a low level format of the device. The controller indicates its DIF and DIX options when it registers with the SCSI layer and the kernel driver can exchange the integrity metadata with a DIF/DIX aware application.

           

          There is a lot of information at https://oss.oracle.com/projects/data-integrity/documentation/

           

          • 2. Re: Oracle Linux DIF DIX Support
            user4784057

            I understand the low level requirements but I wanted to know more w.r.t Oracle Database/Linux support. Does the database care what protection types (1, 2, 3) the SCSI device has? Or is there any special configuration required in Linux etc.? I could not find any documentation related to these. Else I would assume the configuration is seamless. Just have a formatted scsi device with type 1 protection and the database will auto-detect it and pass the checksum information to the kernel driver.

            • 3. Re: Oracle Linux DIF DIX Support
              mkpetersen-Oracle

              T10 PI Type 1 is the only officially supported protection format. Type 2 and Type 3 are for use inside disk arrays.

               

              For DIX to be enabled you need to run a UEK2 or UEK3 kernel. Use of ASMLib and oracleasm is required since that's the only interface that currently allows the protection information to be passed to and from userspace.

               

              There is no data integrity-specific documentation since there really isn't anything to configure. If the HBA is DIX capable and a DIF-capable storage device is found, protected transfers will automatically be enabled. You can verify whether an ASM disk supports data integrity via the oracleasm-discover command:

               

              # oracleasm-discover
              Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so 
              [ASM Library - Generic Linux, version 2.0.10 (KABI_V2)] 
              Discovered disk: ORCL:DIX00 [209715200 blocks (107374182400 bytes), maxio 256, integrity DIX1-512/512-IP]
              Discovered disk: ORCL:DIX01 [209715200 blocks (107374182400 bytes), maxio 256, integrity DIX1-512/512-IP]
              Discovered disk: ORCL:DIX10 [209715200 blocks (107374182400 bytes), maxio 256, integrity DIX1-512/512-IP]
              Discovered disk: ORCL:DIX11 [209715200 blocks (107374182400 bytes), maxio 256, integrity DIX1-512/512-IP]

               

              Martin K. Petersen

              • 4. Re: Oracle Linux DIF DIX Support
                user4784057

                Awesome. This is exactly what I was looking for. Thanks so much Martin.