An Oracle Technical White Paper September Detecting and Resolving Oracle Solaris LUN Alignment Problems

Similar documents
Installation Instructions: Oracle XML DB XFILES Demonstration. An Oracle White Paper: November 2011

Configuring Oracle Business Intelligence Enterprise Edition to Support Teradata Database Query Banding

An Oracle White Paper November Primavera Unifier Integration Overview: A Web Services Integration Approach

Handling Memory Ordering in Multithreaded Applications with Oracle Solaris Studio 12 Update 2: Part 2, Memory Barriers and Memory Fences

Overview. Implementing Fibre Channel SAN Boot with the Oracle ZFS Storage Appliance. January 2014 By Tom Hanvey; update by Peter Brouwer Version: 2.

Creating Custom Project Administrator Role to Review Project Performance and Analyze KPI Categories

StorageTek ACSLS Manager Software Overview and Frequently Asked Questions

Best Practice Guide for Implementing VMware vcenter Site Recovery Manager 4.x with Oracle ZFS Storage Appliance

Generate Invoice and Revenue for Labor Transactions Based on Rates Defined for Project and Task

Oracle DIVArchive Storage Plan Manager

Veritas NetBackup and Oracle Cloud Infrastructure Object Storage ORACLE HOW TO GUIDE FEBRUARY 2018

Correction Documents for Poland

Sun Fire X4170 M2 Server Frequently Asked Questions

Oracle Cloud Applications. Oracle Transactional Business Intelligence BI Catalog Folder Management. Release 11+

An Oracle White Paper October Minimizing Planned Downtime of SAP Systems with the Virtualization Technologies in Oracle Solaris 10

Load Project Organizations Using HCM Data Loader O R A C L E P P M C L O U D S E R V I C E S S O L U T I O N O V E R V I E W A U G U S T 2018

An Oracle White Paper September Security and the Oracle Database Cloud Service

An Oracle White Paper December, 3 rd Oracle Metadata Management v New Features Overview

Handling Memory Ordering in Multithreaded Applications with Oracle Solaris Studio 12 Update 2: Part 1, Compiler Barriers

Working with Time Zones in Oracle Business Intelligence Publisher ORACLE WHITE PAPER JULY 2014

Oracle NoSQL Database For Time Series Data O R A C L E W H I T E P A P E R D E C E M B E R

Tutorial on How to Publish an OCI Image Listing

An Oracle White Paper December Oracle Exadata Database Machine Warehouse Architectural Comparisons

Loading User Update Requests Using HCM Data Loader

Oracle Data Provider for.net Microsoft.NET Core and Entity Framework Core O R A C L E S T A T E M E N T O F D I R E C T I O N F E B R U A R Y

An Oracle White Paper June StorageTek In-Drive Reclaim Accelerator for the StorageTek T10000B Tape Drive and StorageTek Virtual Storage Manager

Automatic Receipts Reversal Processing

Technical White Paper August Recovering from Catastrophic Failures Using Data Replicator Software for Data Replication

STORAGE CONSOLIDATION AND THE SUN ZFS STORAGE APPLIANCE

An Oracle White Paper July Methods for Downgrading from Oracle Database 11g Release 2

Using the Oracle Business Intelligence Publisher Memory Guard Features. August 2013

Hard Partitioning with Oracle VM Server for SPARC O R A C L E W H I T E P A P E R J U L Y

An Oracle White Paper June Enterprise Database Cloud Deployment with Oracle SuperCluster T5-8

Oracle CIoud Infrastructure Load Balancing Connectivity with Ravello O R A C L E W H I T E P A P E R M A R C H

Oracle Flash Storage System QoS Plus Operation and Best Practices ORACLE WHITE PAPER OCTOBER 2016

An Oracle White Paper October The New Oracle Enterprise Manager Database Control 11g Release 2 Now Managing Oracle Clusterware

An Oracle White Paper June Exadata Hybrid Columnar Compression (EHCC)

Configuring a Single Oracle ZFS Storage Appliance into an InfiniBand Fabric with Multiple Oracle Exadata Machines

An Oracle White Paper Oct Hard Partitioning With Oracle Solaris Zones

An Oracle White Paper September, Oracle Real User Experience Insight Server Requirements

Integrating Oracle SuperCluster Engineered Systems with a Data Center s 1 GbE and 10 GbE Networks Using Oracle Switch ES1-24

An Oracle White Paper July Oracle WebCenter Portal: Copying a Runtime-Created Skin to a Portlet Producer

An Oracle Technical Article March Certification with Oracle Linux 4

April Understanding Federated Single Sign-On (SSO) Process

An Oracle White Paper September Upgrade Methods for Upgrading to Oracle Database 11g Release 2

E-BUSINESS SUITE APPLICATIONS R12 (R12.2.5) ORDER MANAGEMENT (OLTP) BENCHMARK - USING ORACLE11g

JD Edwards EnterpriseOne Licensing

Benefits of an Exclusive Multimaster Deployment of Oracle Directory Server Enterprise Edition

Oracle Fusion Configurator

Oracle Database 12c: JMS Sharded Queues

Oracle Event Processing Extreme Performance on Sparc T5

Oracle Service Registry - Oracle Enterprise Gateway Integration Guide

VIRTUALIZATION WITH THE SUN ZFS STORAGE APPLIANCE

Oracle Financial Services Regulatory Reporting for US Federal Reserve Lombard Risk Integration Pack

Siebel CRM Applications on Oracle Ravello Cloud Service ORACLE WHITE PAPER AUGUST 2017

October Oracle Application Express Statement of Direction

Oracle Spatial and Graph: Benchmarking a Trillion Edges RDF Graph ORACLE WHITE PAPER NOVEMBER 2016

Oracle Secure Backup. Getting Started. with Cloud Storage Devices O R A C L E W H I T E P A P E R F E B R U A R Y

An Oracle White Paper October Deploying and Developing Oracle Application Express with Oracle Database 12c

An Oracle White Paper April How to Use Tape Tiering Accelerator (Automatically Linked Partition)

An Oracle Technical White Paper October Sizing Guide for Single Click Configurations of Oracle s MySQL on Sun Fire x86 Servers

An Oracle White Paper September Methods for Upgrading to Oracle Database 11g Release 2

Oracle Data Masking and Subsetting

An Oracle White Paper February Optimizing Storage for Oracle PeopleSoft Applications

Deploying Custom Operating System Images on Oracle Cloud Infrastructure O R A C L E W H I T E P A P E R M A Y

An Oracle Technical Article August Certification with Oracle Linux 7

ORACLE S PEOPLESOFT GENERAL LEDGER 9.2 (WITH COMBO EDITING) USING ORACLE DATABASE 11g FOR ORACLE SOLARIS (UNICODE) ON AN ORACLE S SPARC T7-2 Server

Improve Data Integration with Changed Data Capture. An Oracle Data Integrator Technical Brief Updated December 2006

Migrating VMs from VMware vsphere to Oracle Private Cloud Appliance O R A C L E W H I T E P A P E R O C T O B E R

An Oracle White Paper September Oracle Utilities Meter Data Management Demonstrates Extreme Performance on Oracle Exadata/Exalogic

Data Capture Recommended Operating Environments

E-BUSINESS SUITE APPLICATIONS R12 (R12.2.5) HR (OLTP) BENCHMARK - USING ORACLE11g ON ORACLE S CLOUD INFRASTRUCTURE

Oracle Utilities CC&B V2.3.1 and MDM V2.0.1 Integrations. Utility Reference Model Synchronize Master Data

Automatic Data Optimization with Oracle Database 12c O R A C L E W H I T E P A P E R S E P T E M B E R

Oracle FLEXCUBE Direct Banking Release Dashboard Widgets Transfer Payments User Manual. Part No. E

Oracle Enterprise Performance Reporting Cloud. What s New in September 2016 Release (16.09)

Oracle Learn Cloud. Taleo Release 16B.1. Release Content Document

An Oracle White Paper December Accelerating Deployment of Virtualized Infrastructures with the Oracle VM Blade Cluster Reference Configuration

Oracle WebLogic Portal O R A C L E S T A T EM EN T O F D I R E C T IO N F E B R U A R Y 2016

Repairing the Broken State of Data Protection

Oracle JD Edwards EnterpriseOne Object Usage Tracking Performance Characterization Using JD Edwards EnterpriseOne Object Usage Tracking

An Oracle Technical Article November Certification with Oracle Linux 7

E-BUSINESS SUITE APPLICATIONS R12 (R12.1.3) iprocurement (OLTP) BENCHMARK - USING ORACLE DATABASE 11g ON FUJITSU S M10-4S SERVER RUNNING SOLARIS 11

An Oracle White Paper September Oracle Integrated Stack Complete, Trusted Enterprise Solutions

RAC Database on Oracle Ravello Cloud Service O R A C L E W H I T E P A P E R A U G U S T 2017

Oracle Enterprise Data Quality New Features Overview

Oracle FLEXCUBE Direct Banking Release Corporate Cash Management User Manual. Part No. E

Extreme Performance Platform for Real-Time Streaming Analytics

Technical Upgrade Guidance SEA->SIA migration

Oracle Grid Infrastructure 12c Release 2 Cluster Domains O R A C L E W H I T E P A P E R N O V E M B E R

An Oracle White Paper October Oracle Social Cloud Platform Text Analytics

VISUAL APPLICATION CREATION AND PUBLISHING FOR ANYONE

Oracle VM 3: IMPLEMENTING ORACLE VM DR USING SITE GUARD O R A C L E W H I T E P A P E R S E P T E M B E R S N

Oracle Fusion Middleware

An Oracle White Paper August Building Highly Scalable Web Applications with XStream

A Distinctive View across the Continuum of Care with Oracle Healthcare Master Person Index ORACLE WHITE PAPER NOVEMBER 2015

An Oracle White Paper October Advanced Compression with Oracle Database 11g

Oracle Database Appliance characterization with JD Edwards EnterpriseOne

Oracle Clusterware 18c Technical Overview O R A C L E W H I T E P A P E R F E B R U A R Y

Oracle Utilities Customer Care and Billing Release Utility Reference Model a Load Meter Reads

Transcription:

An Oracle Technical White Paper September 2012 Detecting and Resolving Oracle Solaris LUN Alignment Problems

Overview... 1 LUN Alignment Challenges with Advanced Storage Devices... 2 Detecting and Resolving LUN Alignment Problems... 4 Summary... 8 Appendix... 9 DTrace Analytics Code to Detect LUN Alignment Problems... 9 References... 11

Overview The Sun ZFS Storage Appliance offers block type volume access (LUNs) to client systems. These volumes can be configured using a block size that is optimized for a client's application I/O profile. It is critical that the start of the client partitions aligns with the blocks on the ZFSSA volumes. Often clients' partitioning configuration and formatting tools are still based on the old SCSI 512 bytes sector addressing model, which may cause partition misalignment, resulting in increased I/O response times and reduced I/O throughput. This paper describes how to use the Oracle Solaris format utility to correctly set up partitions for a Oracle Solaris EFI-based partitioning schema for Sun ZFS Storage Appliance volumes using an 8K block size. Oracle Solaris provides system administrators with advanced DTrace Analytics monitoring to detect LUN alignment problems that can be alleviated with the Oracle Solaris VTOC or EFI format disk label utility. This paper shows how to use DTrace Analytics on an active system and resolve those LUN alignment problems by tuning the EFI disk label. 1

LUN Alignment Challenges with Advanced Storage Devices Legacy disk drives accessed with the SCSI protocol present a logical block architecture (LBA) to the operating system that has historically relied on a 512B sector size for data storage, and the default behavior of operating system tools for formatting and accessing disk drives uses 512B aligned records to store metadata about the drive geometry as well as end-user data. Although this process works well for simple disk drives, it can produce suboptimal results for integrated storage systems that internally process data in larger allocation units. For example, as shown in Figure 1, the default Oracle Solaris EFI disk label creates a slice that starts at sector 34. So if the OS does an 8kB access on the start of the file system, this translates to an access to the virtual sectors 34 through sector 49 and requires the storage system to read two 8kB allocation units, virtual sectors 32-47 and sectors 48-63, to process the requested data. Figure 1. Default Oracle Solaris EFI disk label structure Such misaligned I/O conditions reduce the efficiency with which the storage system can process I/O and consequently may increase response time at a fixed throughput or reduce throughput at a fixed response time. Figures 2 and 3 show examples of the I/O response time and throughput characteristics associated with misaligned and aligned I/O on the same storage system. Resolving I/O alignment challenges presented by storage devices with allocation unit sizes greater than 512B requires that the system administrator begin storing user data on the first storage device allocation unit available after the disk label or volume table of contents (VTOC). Configuring the operating system to leave enough empty space between the end of the disk label and the first byte of user data ensures that the first byte of user data is written to the first byte of an allocation unit on the storage device. For example, the Oracle Solaris EFI disk label is stored on the first 33 sectors of the LUN presented by the storage device, and the default partition table layout stores user data starting at sector 34 or 17kB into the LUN. To align I/O on an 8kB allocation unit, the starting sector of the data partition may be advanced to sector 48 (24kB), sector 64 (32kB), or any multiple of 16 sectors beyond sector 48. To accommodate larger allocation unit sizes, choose an appropriately larger starting sector: 128 for 2

64kB or 256 for 128kB. Figure 3 shows an example of how to use the Oracle Solaris format -e command to perform this alignment. 3

Detecting and Resolving LUN Alignment Problems Detecting LUN alignment problems challenges the system administrator because of the complexity of the I/O processing stack between the application executing the I/O system call and the LUN processing the I/O. Complications include the presence of file systems and volume managers that may change the physical characteristics of the application-initiated I/O as well as knowledge of the partition table on the LUN. To simplify detection of LUN alignment problems in these complex environments, Oracle Solaris DTrace Analytics provides the function boundary testing (fbt) provider to track I/O operations at the SCSI driver layer (sd). The code listed in the Appendix shows an example of how to monitor a running system to verify 8kB alignment of I/O at the LUN level. To illustrate the benefit of maintaining I/O alignment between the host-side data access and the allocation unit size of the storage device, this section shows a real example of client-reported I/O performance measurements and correlated DTrace Analytics output from misaligned and aligned cases, and an example of how to control data alignment using the Oracle Solaris format utility to tune an EFI disk label. Figure 2 shows storage system performance for 8kB random read operations using a default EFI disk label that leads to client-side I/O being executed on 9kB boundaries. The workload shown in the test case is 64 outstanding 8kB read requests, and performance is quantified by a 3.9 ms I/O response time at a throughput of 15,900 IOPS. In practice, there is no obvious indication from this report that an I/O alignment problem is occurring except that I/O response time is longer and I/O throughput is lower than expected for the given workload running on the specific storage system. Figure 2. I/O using misaligned EFI label 4

Figure 3 shows the output of the supplied DTrace Analytics script that lists the root-cause of the performance problem. The example shows that, although the host is performing 8kB I/O operations consistent with the known allocation unit size of the LUN, the operations are executed on 9kB boundaries. Consequently, for each host-initiated I/O against the LUN, the storage target needs to access two adjacent 8kB blocks: the first block for the first 7kB of the I/O and a second block for the remaining 1kB. This leads to inefficient processing of data, increases in response time, and degradation in throughput. Figure 3. DTrace Analytics output using misaligned EFI label Proper configuration of the starting location for data storage on the LUN can resolve the I/O alignment issue. On the Oracle Solaris operating system, the format command tool displays, creates and modifies partitions and labels disks. Figure 4 shows that the format output of the first available sector of an EFI disk label in Oracle Solaris is at 34, which is two blocks beyond 32kb being used for this example. Figure 4 also shows the steps to correct the 32kb block offset of the EFI label using format in expert mode with the -e option. 5

Figure 4. Using the format -e command The DTrace Analytics ouptut shown in Figure 5 verifies that correct I/O alignment is preserved between the application and the storage device. In this example, all 8kB read I/O operations are conducted on multiples of 8kB on the LUN presented by the storage system. 6

Figure 5. DTrace Analytics output using aligned EFI label As a result of maintaining I/O alignment, system performance improves, as shown in Figure 6. In this example, I/O response time drops to 3.3 ms and throughput increases to 20,200 IOPS. This shows a 20% gain in system performance for the tested workload. In practice, performance gains may be greater or less, depending on the specific workload and the hardware configuration supporting the workload. Figure 6. Verifying with the iostat command 7

Summary Detecting LUN alignment issues with advanced storage devices like the Sun ZFS Storage Appliance can be achieved fairly quickly and easily using the built-in Oracle Solaris-tools to monitor I/O with iostat and DTrace Analytics, and once detected can quickly be corrected by calculating the correct beginning block sector based on the I/O block size and using the format command to write a proper EFI label. The result of this tuning is more efficient data processing by the underlying storage system, a reduction in I/O response time, and an increase in I/O throughput compared to untuned systems. Administrators seeking the most efficient use of storage resources should follow this best practice. 8

Appendix DTrace Analytics Code to Detect LUN Alignment Problems #!/sbin/dtrace qs # Script to detect IO misalignment for 8K based LUN volumes BEGIN { start = timestamp; } int issued; int misaligned; int misalignedby; int nonmult; int tot_issued; int tot_misaligned; int tot_misalignedby; int tot_nonmult; int tot_elapsed; struct buf *bp; struct sd_xbuf *xp; fbt:sd:sd_core_iostart:entry { issued++; bp = (struct buf *) arg2; xp = (struct sd_xbuf *)((bp)->b_private); misaligned += (xp->xb_blkno % 8)? 1 : 0; misalignedby += (xp->xb_blkno % 8 ); @misalignedbyhist = quantize(xp->xb_blkno % 8 ); nonmult += (bp->b_bcount % 8192)? 1 : 0; @a[bp->b_bcount] = count(); } END { elapsed = timestamp - start; tot_elapsed += elapsed; tot_issued += issued; tot_misaligned += misaligned; tot_nonmult += nonmult; tot_misalignedby += misalignedby; printf( "========================================\n"); printf( "Totals\n"); printf( "========================================\n"); printf( "\n IO size Count\n" ); printa( @a); printf( "\n IO misalignment Count\n" ); printa( @misalignedbyhist); printf( "%d.%09d seconds elapsed\n\n", tot_elapsed / 1000000000, tot_elapsed % 1000000000); 9

printf( "%8d IOs issued\n%8d IOs misaligned, %8d block offset %8d byte offset\n", tot_issued, tot_misaligned, (tot_issued==0? 0 : tot_misalignedby / tot_issued), (tot_issued==0? 0 : 512 * tot_misalignedby / tot_issued) ); printf( "%8d IOs non-multiple of 8KB\n", tot_nonmult ); printf( "%8d Percent non-8k IOs\n", (tot_issued==0? 0 : (tot_nonmult * 100 / tot_issued)) ); } tick-5sec { elapsed = timestamp - start; printf( "%d.%09d seconds elapsed\n\n", elapsed/1000000000, elapsed%1000000000 ); printf( "%8d IOs issued\n%8d IOs misaligned, %8d block offset %8d byte offset\n", issued, misaligned, (issued==0? 0: misalignedby / issued), (issued==0? 0: 512 * misalignedby / issued) ); printf( "%8d IOs non-multiple of 8KB\n", nonmult ); printf( "%8d Percent non-8k IOs\n\n", (issued==0? 0 :( nonmult * 100 / issued )) ); printa( @misalignedbyhist ); tot_elapsed += elapsed; tot_issued += issued; tot_misaligned += misaligned; tot_nonmult += nonmult; tot_misalignedby += misalignedby; start = timestamp; issued = 0; misaligned = 0; misalignedby = 0; nonmult = 0; } 10

References For further information on the following topics, see the following resources: LUN-Partition Alignment Partition Alignment Guidelines for Unified Storage blog, by David Lutz: https://blogs.oracle.com/dlutz/entry/partition_alignment_guidelines_for_unified Oracle Solaris Product Information Oracle Solaris 11 http://www.oracle.com/uk/products/servers-storage/solaris/solaris11/overview/index.html How to obtain a copy of Oracle Solaris http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html Oracle Solaris 11 Documentation http://www.oracle.com/technetwork/documentation/solaris-11-192991.html Oracle Solaris Disk Management http://docs.oracle.com/cd/e23824_01/html/821-1459/disksconcepts-29477.html#scrolltoc Sun ZFS Appliances Product Information Sun ZFS Storage Appliances http://www.oracle.com/us/products/servers-storage/storage/nas/overview/index.html Sun ZFS Storage Appliance Documentation https://wikis.oracle.com/display/fishworks/documentation Oracle Unified Storage Systems Documentation http://www.oracle.com/technetwork/documentation/oracle-unified-ss-193371.html 11

Detecting and Resolving Oracle Solaris LUN Alignment Problems April 2010, v1.0; September 2012, v2.0 Author: Art Larkin, Application Integration Engineering Contributing Authors: Jeff Wright, Peter Brouwer, Application Integration Engineering Copyright 2010, 2012, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.like Fax: +1.650.506.7200 oracle.com Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. UNIX is a registered trademark licensed through X/Open Company, Ltd. 0110