29
Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved. Thin Provisioning and Storage Reclamation Kirubakaran Kaliannan Principal Software Engineer Symantec Anirban Mukherjee Senior Software Engineer Symantec

Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thin Provisioning and

Storage Reclamation

Kirubakaran KaliannanPrincipal Software EngineerSymantec

Anirban MukherjeeSenior Software EngineerSymantec

Page 2: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Agenda

DefinitionsThin provisioningStorage reclamationSolution in Symantec’s Storage Foundation

Acronyms used in Storage FoundationSmartMove

Use cases

Thin ProvisioningStorage reclamation

Reclamation policies

Usability

Challenges faced in Storage FoundationAdvantage of Thin Provisioning in Storage FoundationReclaiming Challenges

2

Page 3: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Definitions

Thin ProvisioningStorage virtualization at the hardware layer. A feature of some disk arrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written.

Thin ArrayA storage array that supports thin provisioning

Thin LUNVirtual LUN with no backing physical storage exported to the host

Storage ReclamationThe process of removing unused storage from a LUN and returning it to the common pool

Thick LUNFully provisioned LUN exported by a disk array

3

Page 4: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thin Provisioning

4

Page 5: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thin Provisioning (Non-thin array)

3TB Regular storage array

1 TB thick LUNs (3)

FS/VM/MPSCSI/OS

Application

Host

100gb

500gb

800gb

Over -provisioned (unused) storage spaceUsed by file systems

1TB file system A

1TB file system B

1TB file system C

Page 6: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thin Provisioning

1 TB thin Array

No Physical Storage

No Physical Storage

No Physical Storage

1 TB thin LUNs (3)

FS/VM/MPSCSI/OS

Application

1 TB thin Storage

Host

100gb

400gb

500gb

No allocated physical storageUsed by FS/VM

Create thin LUNs (size 1TB each), with zero physically allocated storage

Attach the thin LUNs to the host

Hosts don’t see any functional difference between the thin and thick LUNs.

Create three 1TB volumes and file systems on the LUNs

Physical storage is only allocated to the LUNs upon writing data to the device.

After writing total of 1TB of data on all 3 FS, new writes receive no space error

1TB thin storage array

Extend the thin storage by 1TB

Provision large file system in advance, save storage cost, power etc

1TB file system A

1TB file system B

1TB file system C

Page 7: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Storage Reclamation

7

Page 8: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Storage Reclamation

1 TB thin Array

No Physical Storage

No Physical Storage

No Physical Storage

1 TB thin LUNs (3)

FS/VM/MPSCSI/OS

Application

Host

100gb

400gb

500gb

No allocated Physical StorageUsed by FS

3 1TB file system is created on 3 thin LUNs. 1TB of physical storage is shared across 3 1TB file system.

After 1TB storage space is consumed by 3 file systems, then we need to buy new storage to accommodate more data.

Say, there is no budget to buy new storage immediately.

Delete unwanted files in one of the file system

1TB thin storage array

1TB file system A

1TB file system B

1TB file system C

Page 9: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Storage Reclamation

1 TB thin Array

No Physical Storage

No Physical Storage

No Physical Storage

1 TB thin LUNs (3)

99g

10g

499gb

No allocated Physical StorageUsed by FS

1TB file system A

1TB file system B

1TB file system C

Reclaim the deleted storage space from file system using the array supported reclaim API.Reclaimed storage in the file system goes back to free storage pool.

The freed storage space is now available for other file systems created in this storage pool.

FS/VM/MPSCSI/OS

Application

Host

Page 10: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Storage Reclamation in general

Hardware supports, 2 different types of reclaimZero page reclaim (scrubbing zero filled pages)Instant reclaim

Storage array, provides API to reclaim the storage spaceReclamation is transparent to application. (no down time)Software solution is required to effectively reclaim the unused storage pages.Different policies can be built on reclamation

Immediate reclaim of storage space after deleting the filesAggressive reclaimDelayed reclaimManual reclaim

10

Page 11: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thin Provisioning and

Storage Reclamationin

Symantec’s Storage Foundation

11

Page 12: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Acronyms

SF – Symantec’s Storage Foundation, consisting of: VxVM – VERITAS Volume Manager (makes “volumes” from LUNs)VxFS – VERITAS File System

VxVM components DMP – VERITAS Dynamic Multi-PathingASL – Array Support Library (user-mode array specific modules)APM – Array Policy Module (Kernel-mode array specific modules)

SF feature SmartMove – intelligent data movement tool (to improve administeative I/O performance)

12

Page 13: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Overview of Thin Provisioningin Storage Foundation

Thin Array B

Thin Array C

Thin Array A

1. Storage array specific method to discover all the thin and thin_reclaim attributes of the LUN.

2. Reclaim the storage space from thin_reclaim LUN’s using the vendor specific API.3. Handling the storage reclaim errors in a array specific method.

Policy Daemon

Reporting CLI

Reclaim/Admin CLI

1. Reuse the deleted storage space2. Issue Reclaim on the unused storage space

1. Stay Thin (all SF operations is thin aware)2. Clean up unused storage space on the LUN3. Handle the file system reclaim request.

File system(VXFS)

Volume Manager (VxVM)

Multi-pathing(DMP)

Thin LUNs

User level CLI

Page 14: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

SmartMove

14

Page 15: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

SmartMove in Storage Foundation

Conventional copy/mirror

SmartMove copy/mirror

original

original

Copy

Data Empty Data Empty

Data Empty Data Empty

100G 100G 100G 100G

100G 100G 100G 100G

100G 100G 100G 100G

Copy100G 100G 100G 100G

Storage Mirror operation

Conventional: copies full file system block space VM creates duplicate volume and initiates the copyBlock-by-block of all 400G allocated to file system

SmartMove: copies only “live” dataVxFS file system on VxVM volume (volume may span multiple disks)File system metadata identifies used/unused blocksVM queries file system about each block and copies only “live” file system data. VM copies data to correct duplicate volume location

SmartMove example (right) copies only 200GB of data from a 400GB file system 50% performance improvement

400 GB

400 GB

Page 16: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Smart Move Use case 1 Performance

Thick to thin array migration

Volume inThick Array

Data Empty Data Empty

500G 500G 500G 500G

Volume inThin Array

500G 500G 500G 500G

The following are common storage management operations:

Mirroring a volumeVolume/disk backupSnapshotArray migrationReplacing the disk

All require copying data from one location to another

With SmartMove:All operations copy only actual data on the volumePerformance of all these SF operations are improved(Improvement is inversely proportional to the percentage of file system space occupied by data)

2 TB

Page 17: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Smart Move Use case 2Array Migration

Thick to thin array migration

Volume onThick Array

Data Empty Data Empty

500G 500G 500G 500G

Volume onThin Array

500G 500G 500G 500G

Thick Array (migration source) Contains thick LUNs (full capacity allocated) In most cases only 30%-50% of storage contains actual data

Thin Array (migration target)Contains LUNs with virtually allocated storage spaceTo migrate: create large LUNs with less pre-allocated storage space and provision large file systems

Thick to thin array migration with SmartMove From each source volume, SmartMove copies regions containing data

In the example; 2 TB volume migrationOnly 1 TB of data is copied Only 1 TB of storage is allocated in thin array Savings compared to conventional thick array: 1 TB

2 TB

Page 18: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thin Provision in Storage Foundation

Thin Array B

Thin Array C

Thin Array A Thin LUNs

1. Probe each LUN for its type (thin/reclaim/std)

2. Collect thin LUN-specific attributes1. Physically allocated LUN size2. Allocation unit size3. Maximum reclaim size4. Threshold information5. ….

DMP

1. We tag the LUNs with these thin attributes and use them when allocating storage and during reclaim.

2. Use SmartMove on all Admin I/O operations (like mirroring), on thin and thin_reclaim LUNs.

3. Volumes are always created thin on thin LUNs.4. All storage management operations are made thin

aware to protect the LUNs to stay thin.5. Use the file system specific interface to protect the

unallocated storage space in the LUN.

VxVM Module

VxFS Module

CLI to manage thin LUNs and volumes

Page 19: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Storage Reclamation in Storage Foundation

Thin Array B

Thin Array C

Thin Array A Thin LUNs

For each set of free contiguous free block , Issue reclaim I/O to the volume manager layer.

VxFS ModuleCLI to reclaim

storage

Policy based reclaim

1. On every reclaim I/O from file system.1. Map the offset to a block in the volume.2. Optimize the reclaim I/O’s by coalescing them.3. Convert the I/O call to reclaim ioctl and issue it down to DMP

2. Reclaim every unused free storage space in the lun. 3. Reclaim the volume space when the volume is deleted.

VxVM Module

1. DMP sends reclaim ioctl to the LUN.2. Manages reclaim_ioctl() failures and I/O

failures specific to thin storage arrayDMP

Page 20: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

File system reclaim

Thin Array B

Thin Array C

Thin Array A Thin LUNs

Extent-based file system and creates metadata only when needed.Thin friendly FS. (Reuses the deleted files storage space effectively)File system regions are well managed for reclaim code not to affect the regular

IO performance.Set exclusion zone over a range of blocks (or) regions.Generate a map of free blocks within the exclusion zone.For each set of contiguous free blocks, invoke VxVM API's to reclaim the

storage.Remove the exclusion zone.

Policies are built in for efficient storage reclamation.

Reclaim Request

VxFS

VxVM

Page 21: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

21

Thin Friendly File System

Metadata

Free

Data

vxfs File system

No Physical Storage

Data DataNo Physical

Storage

Free DataNo Physical

Storage

No physical storage

Free

DataNo Physical

Storage

Data

Create a VxFS file systemVxFS divides file system into regions called Allocation Units

(AUs)

Create new files in the file system.

Delete some files in the file system.

Again add new files to the file system. FS uses partially filled AU's before using free AUs New files are created on the deleted region of files (or) in other

words the physically allocated storage space is reused by the file system, instead of allocating storage.

The unallocated physical storage space is not used until required.

AU 1 AU 2

Page 22: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

File system aggressive reclaim

Problem: Poor reclaim efficiency due to file system fragmentation.Contiguous free space is smaller than array Allocation unit size (42MB for Hitachi, 16KB for 3PAR).

Not aligned properly to LUN allocation unit size

Reorganize files to enlarge contiguous free space.Proceed with normal reclamation.

To Be Reclaimed

Metadata

Free

Data

No physical storage

Reclaimed

Reorganize

Reclaim

Not aligned to AU size

Vxfs File system

Page 23: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

DMP’s role in storage reclamation

Thin Array B

Thin Array C

Thin Array A Thin LUNs

1. If the LUN supports T10 Standard reclaim request, then DMP send the write_same() reclaim request to the LUN.

2. If T10 standard is not supported by the storage, then the DMP redirects the reclaim request using the unique API provided by the storage vendor.

3. DMP handles following reclaim ioctl failures1. Path failure2. Array busy failures

4. DMP handles the following I/O failures which are unique to thin array1. No physical storage space I/O error.2. Handling the storage space reaching the

threshold limits.

ReclaimRequest

DMP

DMP - Array Specific Module

Reclaim storage

Request From FS/VM

Write_same()

Vendor specific API

Call Array specific reclaim

Device Path 1 Device Path 2

DMP Default

Failover Path

DMP non-Default

Page 24: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Usability

24

Command to report the Thin LUN usage

Command to reclaim the storage in the array

Page 25: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Challenges in Storage Reclamation

Coalesce Reclaim request on RAID-0

RAID-0 volume is striped across multiple LUNs.Default stripe size is 64KBA reclaim request for 1GB creates 1024 * 1024 / 64 = 16,384separate reclaim call for each 64KB block in the stripe.VxVM merges these 16,384 reclaim requests into 4 (one for each LUN)

… RA

ID-0 volum

e

TL 0

TL 2

TL 1

TL 3

64 KB

Page 26: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Challenges in Storage Reclamation

Align reclaim command offset and length to storage allocation unit sizeEach array has unique allocation unit sizeVolumes created using different array types add code complexityShift in LUN start offset

Interlocking reclaim and transaction codeTransaction and reclaim are mutually exclusive Interlocking them using locks is not possible

Deleted volume reclaimDeleted volumes are not reclaimed immediatelyProtects data and avoids overloading the system with reclaim requestsSolution: policy based reclaim and efficient space reuse

Page 27: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Advantages of Storage Foundation thin provisioning

Hardware independentDiscovers thin array attributesReclaim operationMaintains error and disk usage statistics

Any thin provision array can be supported using a array independent strategy:

ASL APM

VxFS file system is “thin friendly”

VxVM SmartMove complements thin provisioning

Page 28: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Remaining challenges

Pre-scan to report how much space can be reclaimed before reclaiming

Report physical storage used by file system on different LUN types

Optimize already reclaimed storage space

Prioritize reclaim I/Os among other I/Os

Threshold based policy for automatic reclamation

Reclamation on raw volumes with Oracle database

28

Page 29: Thin Provisioning and Storage Reclamationarrays in which an array allocates physical storage to a LUN from a common storage pool only when data is written. Thin Array A storage array

Storage Developer Conference 2009 © 2009 Insert Copyright information here. All rights reserved.

Thank you for your attention

29