SmartOS training from Joyent!

illumos ZFS Internals Training from Joyent

Format: Lecture 70%, Lab Work 30%

Duration: 3 days

Overview

This course covers the internal implementation of the ZFS file system. It uses a combination of source code and various tools available on illumos to examine the topics that are covered. Tools used include zdb, DTrace, and mdb. The course starts with a description of the ZFS on-disk format. It then moves to a description of how ZFS works in the kernel. This will include examination of mounted ZFS file systems, how reads and writes work, and how storage is managed while it is being used. The course concludes with a brief look at some problems that may arise when using ZFS, and possible ways of dealing with these problems.

Course Objectives

On completion of this course, students will be able to:

  • Explain the layout of ZFS file systems on disk.
  • Identify the metadata and data for a given file within a zpool.
  • Describe the mechanics of mounting a ZFS dataset.
  • Use zdb(1M) to examine the metadata for a ZFS dataset.
  • Explain how ARC works.
  • Explain the function of the DMU.
  • Describe ZFS transaction groups.
  • Describe the ZIO pipeline

Intended Audience

This course is designed for anyone who has a need to know how ZFS works. This could be a developer, system administrator, and support/maintenance personnel.

Prerequisites

Good knowledge of illumos internals (could be Solaris internals), or the illumos Internals course.

Course Outline

Module 1: Introduction

  • Terminology
  • Documentation/References
  • Overview of ZFS Components

Module 2: ZFS On-Disk Format

  • Labels
  • blkptrs
  • Object Sets
  • dnodes
  • Space Maps
  • Datasets
  • Snapshots and Clones
  • On disk layout
  • Deduplication

Module 3: ZFS in memory

  • Mounted ZFS file systems
  • ZFS Posix Layer
  • ZFS Volumes
  • SPA
  • ARC
  • DMU
  • Transaction Groups
  • Reading file data
  • Writing file data
  • ZIL
  • ZIO pipeline

Module 4: zdb

  • Example uses of zdb to examine ZFS on disk format

Share this post: