You are on page 1of 20

WAFL Internals

Appendix A Data ONTAP 8.0 7-Mode Administration

Module Objectives
By the end of this module, you should be able to: Describe how data is structure within a WAFL file system on a traditional volume Describe how data is structure within a WAFL file system in a flexible on a 32-bit aggregate Describe how data is structure within a WAFL file system in a flexible on a 64-bit aggregate

2009 NetApp. All rights reserved.

WAFL Structure

2009 NetApp. All rights reserved.

WAFL
WAFL
Is the file system in Data ONTAP Stores metadata in files and uses a buffer tree structure Allows it to write metadata files and blocks anywhere on disk
Write Anywhere File Layout

More flexible than traditional file systems because metadata not at fixed locations on disk
One exception is the root inode

2009 NetApp. All rights reserved.

WAFL Block Structure


WAFL organizes data into blocks Use vol status -b to verify block size
system> vol status -b Volume Block Size (bytes) Vol Size (blocks) FS Size (blocks) ------ ------------------ ----------------- ---------------vol0 4096 7058256 7058256

2009 NetApp. All rights reserved.

WAFL Structure
WAFL is structured into volumes

Aggregate
vol1

vol1
2009 NetApp. All rights reserved.

WAFL and Inodes


WAFL organizes some metadata into inodes An inode is:
A collection of information about a file or directory Holds information including: time/date stamp, size, UNIX permissions, Windows ACL, and so on 192 bytes of data Placed within a file called the inode file (inofile)

2009 NetApp. All rights reserved.

WAFL Structure
Every volume has a root inode
The starting point of the inode tree
root inode
volinfo block 1 volinfo block 2

Aggregate
vol1

fsinfo block 0

...
vol1

fsinfo block 255

Active file system


2009 NetApp. All rights reserved.

Snapshot definitions

WAFL Structure (Cont.)


Inode information is held in the inode file (inofile), a hidden system file
root inode
192 Byte inode ...

2021 Inode file

4096 Bytes blocks

Aggregate
vol1

vol1
2009 NetApp. All rights reserved.

Level 0
For files that are < 65 B, the data is stored within the inode file
root inode
Small file inode ...

20

Inode file

Aggregate
vol1

4-KB Block

Small file data inside the 192 Byte inode

vol1
2009 NetApp. All rights reserved.

Level 1 In Traditional Volumes


For files that are > 64 B but <= 64 KB, a level 1 inode structure is used
root inode file inode
32-bit pointers

0
0 1

...

20
...

Inode file
15

4 Bytes

vol1
Direct Data Block Direct Data Block Direct Data Block

vol1
2009 NetApp. All rights reserved.

4-KB Block

Traditional Volumes Data Structure

Disk Physical Block Number 500 block number

Volume Block Number 500 block number

Traditional Volume

2009 NetApp. All rights reserved.

Level 1 In 32-Bit Aggregates


For files that are > 64 B but <= 32 KB, a level 1 inode structure is used
root inode file inode
32-bit pointers

0
0

...

20
...

Inode file
7

2x4 bytes

32-bit Aggregate
vol1
NOTE: 2 x 4 bytes because of separation of physical and virtual VBN
2009 NetApp. All rights reserved.

Direct Data Block

Direct Data Block

Direct Data Block

vol1

4-KB Block

Flexible Volumes Data Structure

Aggregate Disk vol1 vol2 Disk

PvBN 456 block number

vVBN 500 block number

vVBN 500 block number

PvBN 123 block number

Physical Virtual Block Number (PvBN) and Virtual Volume Block Number (vVBN)

2009 NetApp. All rights reserved.

Level 1 In 64-Bit Aggregates


For files that are > 64 B but <= 16 KB, a level 1 inode structure is used
root inode file inode
64-bit pointers

0
0

...

20
...
3

Inode file
2x8 bytes

64-bit Aggregate
vol1
Direct Data Block Direct Data Block

vol1
2009 NetApp. All rights reserved.

4-KB Block

Level 2 In Traditional Volumes


For files that are > 64 KB but <= 64 MB, a level 2 inode structure is used
root inode file inode
32-bit pointers

0
0 1

...

20
...

Inode file
15

Up to 16 indirect blocks ...

vol1

...

1023

1023

Direct Data Block

Direct Data Block

Direct Data Block

vol1
2009 NetApp. All rights reserved.

Level 2 In 32-Bit Aggregates


For files that are > 32 KB but <= 16 MB, a level 2 inode structure is used
root inode file inode
32-bit pointers

0
0

...

20
...

Inode file
7

Up to 8 indirect blocks ...

32-bit Aggregate
vol1

...

511

511

Direct Data Block

Direct Data Block

Direct Data Block

vol1
2009 NetApp. All rights reserved.

Level 2 In 64-Bit Aggregates


For files that are > 16 KB but <= 4 MB, a level 2 inode structure is used
root inode file inode
64-bit pointers

0
0

...

20
...
3

Inode file
Up to 4 indirect blocks ...

64-bit Aggregate
vol1

...

255

255

Direct Data Block

Direct Data Block

Direct Data Block

vol1
2009 NetApp. All rights reserved.

Directories
Each directory inode points to at least one 4-KB block that holds the metadata for the block
root inode Inode file
Directory inode

4-KB Block

Entries Chunks

Aggregate
vol1

An array of entries containing 128 rows of 12 bytes An array of 160 sixteenbyte name chunks

vol1
2009 NetApp. All rights reserved.

Module Summary
In this module, you should have learned to: Describe how data is structure within a WAFL file system on a traditional volume Describe how data is structure within a WAFL file system in a flexible on a 32-bit aggregate Describe how data is structure within a WAFL file system in a flexible on a 64-bit aggregate

2009 NetApp. All rights reserved.