Toward High-Performance Shadow Migration

Similar documents
Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

File Systems Management and Examples

VNX HYBRID FLASH BEST PRACTICES FOR PERFORMANCE

AIX NFS Client Performance Improvements for Databases on NAS

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

E) Modeling Insights: Patterns and Anti-patterns

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Enterprise Backup and Restore technology and solutions

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

COS 318: Operating Systems. Virtual Machine Monitors

short introduction to linux high availability description of problem and solution possibilities linux tools

Application Brief: Using Titan for MS SQL

<Insert Picture Here> Oracle Cloud Storage. Morana Kobal Butković Principal Sales Consultant Oracle Hrvatska

OPTIMIZING EXCHANGE SERVER IN A TIERED STORAGE ENVIRONMENT WHITE PAPER NOVEMBER 2006

Oracle Aware Flash: Maximizing Performance and Availability for your Database

AIX 5L NFS Client Performance Improvements for Databases on NAS

CrashPlan PRO Enterprise Backup

The Use of Flash in Large-Scale Storage Systems.

Chapter 1 - Web Server Management and Cluster Topology

How To Virtualize A Storage Area Network (San) With Virtualization

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

Choosing the Right Database

<Insert Picture Here> Best Practices for Extreme Performance with Data Warehousing on Oracle Database

Installing The SysAidTM Server Locally

Virtuoso and Database Scalability

Enterprise Architectures for Large Tiled Basemap Projects. Tommy Fauvell

napp-it ZFS Storage principles for Video Performance Dual Xeon, 40 GB RAM Intel X540, mtu 9000 (JumboFrames) Server OS: Oracle Solaris 11.3 SMB 2.

CS 153 Design of Operating Systems Spring 2015

Best Practices for Deploying Citrix XenDesktop on NexentaStor Open Storage

Rackspace Cloud Databases and Container-based Virtualization

SnapManager 5.0 for Microsoft Exchange Best Practices Guide

EqualLogic PS Series Architecture: Hybrid Array Load Balancer

Scaling Analysis Services in the Cloud

Outline. Failure Types

DELL RAID PRIMER DELL PERC RAID CONTROLLERS. Joe H. Trickey III. Dell Storage RAID Product Marketing. John Seward. Dell Storage RAID Engineering

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Tier Architectures. Kathleen Durant CS 3200

Oracle Weblogic. Setup, Configuration, Tuning, and Considerations. Presented by: Michael Hogan Sr. Technical Consultant at Enkitec

Tuning Your GlassFish Performance Tips. Deep Singh Enterprise Java Performance Team Sun Microsystems, Inc.

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer

KillTest. 半 年 免 费 更 新 服 务

Oracle TimesTen In-Memory Database on Oracle Exalogic Elastic Cloud

Sun Storage Perspective & Lustre Architecture. Dr. Peter Braam VP Sun Microsystems

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

One Solution for Real-Time Data protection, Disaster Recovery & Migration

Benchmarking Hadoop & HBase on Violin

Backup Exec System Recovery 7.0 Best Practices

Overview: X5 Generation Database Machines

A High Performance, High Reliability Perforce Server

EMC VPLEX FAMILY. Continuous Availability and Data Mobility Within and Across Data Centers

VMware vsphere Replication Administration

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

MySQL Cluster New Features. Johan Andersson MySQL Cluster Consulting johan.andersson@sun.com

Integrating Flash-based SSDs into the Storage Stack

Wes J. Lloyd July 9, Colorado State University, Fort Collins, Colorado USA 2014 ESIP Summer Mee/ng

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

Why Choose VMware vsphere for Desktop Virtualization? WHITE PAPER

COS 318: Operating Systems

VMware vcenter Server 5.5 Deployment Guide TECHNICAL MARKETING DOCUMENTATION V 1.0/NOVEMBER 2013/JUSTIN KING

Hyper-V backup implementation guide

LISTSERV in a High-Availability Environment DRAFT Revised

VMware Cloud Environment

SQL Server Virtualization

Oracle Solaris: Aktueller Stand und Ausblick

Web Server Software Architectures

Understanding Disk Storage in Tivoli Storage Manager

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Veeam Cloud Connect. Version 8.0. Administrator Guide

Express5800 Scalable Enterprise Server Reference Architecture. For NEC PCIe SSD Appliance for Microsoft SQL Server

Introducing the Microsoft IIS deployment guide

Quantum StorNext. Product Brief: Distributed LAN Client

Microsoft SMB Running Over RDMA in Windows Server 8

Scale and Availability Considerations for Cluster File Systems. David Noy, Symantec Corporation

COS 318: Operating Systems. Virtual Machine Monitors

VERITAS Database Edition for Oracle on HP-UX 11i. Performance Report

Library Recovery Center

HighPoint Technologies, Inc. Web RAID Management Software (WebGUI)

Open Text Archive Server and Microsoft Windows Azure Storage

Web Server Architectures

Inge Os Sales Consulting Manager Oracle Norway

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

SAM-FS - Advanced Storage Management Solutions for High Performance Computing Environments

What is RAID? data reliability with performance

Performance measurements of syslog-ng Premium Edition 4 F1

Leveraging EMC Fully Automated Storage Tiering (FAST) and FAST Cache for SQL Server Enterprise Deployments

Caché Data Integrity Guide

3 Setting up Databases on a Microsoft SQL 7.0 Server

OS Thread Monitoring for DB2 Server

Oracle Exadata: The World s Fastest Database Machine Exadata Database Machine Architecture

Stingray Traffic Manager Sizing Guide

Features of AnyShare

CA ARCserve r Data Deduplication Frequently Asked Questions

Simplifying Storage Operations By David Strom (published 3.15 by VMware) Introduction

Desktop Virtualization and Storage Infrastructure Optimization

Benchmarking FreeBSD. Ivan Voras

Oracle Change Management Pack Installation

EMC VPLEX FAMILY. Continuous Availability and data Mobility Within and Across Data Centers

Maximum Availability Architecture

RAID Performance Analysis

Herve Roggero 3/3/2015

Transcription:

Toward High-Performance Shadow Migration Youngjin Nam, Aaron Dailey

Talk Outline Learning Objectives Use cases of shadow migration in ZFSSA Shadow migration at a high level Optimization issues for higher performance Summary 2

Need of Data (File System) Migration Oracle ZFS Storage Appliance (ZFSSA) Application-engineered storage system designed to provide unique Oracle software integration with storage performance and efficiency How do users migrate their data (file systems) easily to their new storage? 3

Different Approaches for Data Migration Synchronization Interposition 4

Synchronization Approach (thru rsync) Copy data from old fs ( old ) to new fs ( new ) while data is still being accessed by clients through old If diff old & new gets smaller, copy the last diff & new is in service New file server / Old file server / usr New file system home (/) d1 bin synch ing last usr Current file system home (/) d1 bin f1 f2 (takes time..) f1 f2 5

Synchronization Approach (thru rsync) No additional I/O delay Substantial downtime if a large amount of change is committed immediately before the scheduled downtime During migration, the new server is idle Coordinating across multiple file systems is burdensome, where each migration will take a different amount of time 6

Interposition Approach Device is placed in between old/new & client Interposing device performs background migration from old to new, transparently to the clients When data is not in new, it s migrated from old (ondemand migration) 7

Interposition Approach Drastically reduced downtime New physical machine with additional costs & management overhead New point of failure within the system I/O latency when accessing not-yet-migrated data; the migration appliance interposes on already migrated data, incurring extra latency 8

Shadow Migration is Software-based Interposing Device No special hardware; embedded in VFS (ZFSSA/Solaris) A means of migrating legacy to ZFSSA (or Solaris server) Instant switchover Mitigated I/O latency 9

Use Cases of Data (File Systems) Migration Data migration from legacy platform Migration between different storage pools 10

Data Migration from Legacy System Access data immediately thru ZFSSA (Instant switchover) New data will be stored in ZFSSA Standard network file system protocol (NFS); no special device required 11

Data Migration between Different Storage Pools To perform storage capacity planning, I/O workload balancing, using encrypted file system Different storage characteristics (device layout, data redundancy, etc) for storage pool 12

Talk Outline Use cases of shadow migration in ZFSSA Shadow migration at a high level Optimization issues for higher performance Summary 13

Shadow Migration New file system is shadow of old file system Instant switchover: Data would be all accessible & modifiable thru the new one once created usr New file system New file server f1 / home (/) d1 f2 bin Instant switchover migrating background on-demand Old file system Old file server usr f1 / home (/) d1 f2 bin 14

Migrating Directory (Read Dir) Shadow directory has SUNWshadow attribute Block while stub (no content) of all entries under the directory is migrated New New file server usr SUNWshadow SUNWshadow f1 / home (/) d1 read.dir d1 f2 bin dir info (f1, f2) migrating stub info (f1) (f2) (perm,acl, size) Old Old file server usr f1 / home (/) d1 f2 bin 15

Migrating Regular File (Read File) Shadow file additionally has SUNWShadow.map Block while some or all of data is transferred Migration completes when map gets empty New New file server usr / home (/) read bin f1 f2 Old Old file server usr / home (/) bin d1 migrating d1 SUNWshadow content (f1) (f2) f1 f1 f2 range[0..77] range[0..9] SUNWshadow.map [0....99] [10...99] SUNWshadow.map [0. 77] f1 f2 16

Migrating Regular File (Write File) Full replace or truncate means nothing to migrate Partial write requires blocking to read unmodified part write f1 f2 New file server / Old file server / New usr home (/) bin Old usr home (/) bin d1 f1 f1 f2 f2 migrating unmodified part f1 d1 f2 SUNWshadow SUNWshadow.map [32 77] 17

Connecting Old FS to New FS Original (old) file system is mounted at the same time we create or mount our shadow (new) of it Shadow source (old) is established in a URI descriptor property of the target dataset at creation zfs create o shadow=nfs://old-server/export/old-fs tank/new-fs zfs create o shadow=file://export/old-fs tank/new-fs 18

Shadowd Background Migration Reading all the entries from top (root) to bottom in background efficiently & reliably while hoping to migrate entry prior to its access Multiple worker threads (up to 64) to migrate data Trying to migrate more recently accessed one first Resumable from the point where interrupted I/O timed out when nfs source gets irresponsive Ensure migrating everything & cleaning up when finished 19

Talk Outline Use cases of shadow migration in ZFSSA Shadow migration at a high level Optimization issues for higher performance Summary 20

In General, Shadow Migration Performance Depends on Performance of the legacy device File size & # of files Access pattern of existing data during migration Network contention & configuration Destination storage pool configuration Log & cache configuration 21

Current Performance-aware Design Multiple worker threads for background migration Skipping holes (zeros) when migrating a file (becoming a sparse file at a new fs) Prioritized background migration (more recently accessed files/directories first) Conversely, for higher reliability, migrated data & attributes are written to disk synchronously 22

Toward Higher Performance Low Hanging Fruit More worker threads (64+) For synchronous writes, Use log disks (write-back cache) in storage pool Collapse multiple synchronous writes into one Network performance optimization Use dedicated network Tune TCP parameters & use different MTU size 23

Toward Higher Performance High Hanging Fruit Speed up big directory migration (1M small entries) Faster big file migration (one huge entry) Single-threaded no improvement with more threads Smarter prioritized background migration Pre-staged data migration (hybrid approach) 24

Multi-threaded Big Directory & File Migration Since threads are shared resource: When to use multiple threads? Multiple threads might not be needed if file size or # of entries is less than threshold How many threads are used? Using more threads does not help if the performance has been already saturated (due to serialization) 25

How Many Threads are Used? Big File Migration Reading data from source runs in parallel The remaining part is mostly serialized Writing migrated data to a file (synchronous write) Updating SUNWshadow.map (synchronous write) New file server [0..49] Thread 1 Old file server SUNWshadow SUNWshadow.map f1 f1 f1 [0....99] [50..99] [empty] [50.99] Thread 2 26

Big File Migration Performance Improvement No substantial gain observed from 3 threads Max. 2 threads per migration (1.8x gain) Threshold ( ) # of threads Two ZFSSA s (ZS3-2) connected thru 10GbE Storage pool (DE2-24P) with log disks 27

Big File Migration Performance Improvement Two threads per migration (1.8x) Larger buffer for data read from source (KB MB) 3.6x 2.5x 4.1x 8 threads in shared pool by default 28

How Many Threads are Used? Big Directory Migration Reading dir entries (VOP_READDIR) from the source is currently serialized The remaining part mostly runs in parallel Each directory entry can be migrated concurrently Creating the entry itself & creating SUNWshadow New file server Thread 2 SUNWshadow d1 f1 f2 Thread 1 SUNWshadow f1 f2 SUNWshadow stub info (f1) (perm,acl, size) Readdir stub info (f2) (perm,acl, size) Old file server d1 f1 f2 29

Big Directory Migration Performance Improvement Scales better than big file migration (~6x gain) Using 6-7 threads is a sweet-spot Threshold ( ) # of threads 30

Another Approach (Verification) Determining # of Threads to be Used Given each file or directory migration function consisting of [s,p], where s : the time that should be serialized p : the remaining time that can be parallelized Minimum # of threads n min = max{n G (n) > } to assure a given performance gain slope ( ), where G(n) : expected performance gain with n threads is computed from [1+d]/[1+d/n], where d=p/s G (n) : first order derivative (slope) of G(n) 31

Toward Higher Performance High Hanging Fruit Speed up big directory migration (1M small entries) Faster big file migration (one big-sized entry) Smarter prioritized background migration Presently, more recently accessed files/directories first Pre-staged data migration Synchronization + Interposition approaches Almost zero additional I/O delay 32

Talk Outline Use cases of shadow migration in ZFSSA Shadow migration at a high level Optimization issues for higher performance Summary 33

Shadow Migration Software-based interposing device (built-in feature in ZFSSA) with instant switchover for data migration Also available in Solaris Has been evolving with new features & higher performance Pre-staged data migration in research 34

Thank you! Toward High-Performance Shadow Migration Youngjin Nam, Aaron Dailey (Special Thanks to Tim Haley)