Book description
Master the design and structure of Linux storage stack and explore its sophisticated architecture Purchase of the print or Kindle book includes a free PDF eBook
Key Features
- Explore the virtual file system (VFS) and how it serves as an abstraction layer for the actual file system
- Understand how the block layer acts as an intermediary between file systems and physical storage
- Discover the physical layout and protocols linked with storage media
Book Description
The Linux storage stack serves as a prime example of meticulously coordinated layers. Embark on a journey through the kernel code with Architecture and Design of the Linux Storage Stack, crafted for anyone seeking in-depth knowledge about the layered design of Linux storage and its landscape.
You’ll explore the Linux storage stack and its various concepts. You’ll unlock the secrets of the virtual filesystem and the actual filesystem and the differences in their implementation, the role of the block layer, the Multi-Queue and Device Mapper frameworks, I/O schedulers, physical storage layout, and how to analyze all the layers in the storage stack.
By the end of this book, you’ll be acquainted with how a simple I/O request from a process travels down through all the layers and ends up in physical storage.
What you will learn
- Understand the role of the virtual filesystem
- Explore the different flavors of Linux filesystems and their key concepts
- Manage I/O operations to and from block devices using the block layer
- Deep dive into the Small Computer System Interface (SCSI) subsystem and the layout of physical devices
- Gauge I/O performance at each layer of the storage stack
- Discover the best storage practices
Who this book is for
This book is for system and storage administrators, engineers, linux professionals, linux community in general, and anyone looking to expand their understanding of Linux and its storage landscape. Prior knowledge of Linux operating system is a must.
Table of contents
- Architecture and Design of the Linux Storage Stack
- Contributors
- About the author
- About the reviewer
- Preface
- Part 1: Diving into the Virtual Filesystem
- Chapter 1: Where It All Starts From – The Virtual Filesystem
- Chapter 2: Explaining the Data Structures in a VFS
- Chapter 3: Exploring the Actual Filesystems Under the VFS
- Part 2: Navigating Through the Block Layer
-
Chapter 4: Understanding the Block Layer, Block Devices, and Data Structures
- Technical requirements
- Explaining the role of the block layer
- Defining block devices
- The defining characteristics of a block device
- Looking at the representation of block devices
-
Looking at data structures in the block layer
- The register_blkdev function (block device registration)
- The block_device structure (representing block devices)
- The gendisk structure (representing physical disks)
- The buffer_head structure (representing blocks in memory)
- The bio structure (representing active block I/Os)
- The bio_vec structure (representing vector I/O)
- Requests and request queues (representing pending I/O requests)
- The journey of an I/O request in the block layer
- Summary
- Chapter 5: Understanding the Block Layer, Multi-Queue, and Device Mapper
- Chapter 6: Understanding I/O Handling and Scheduling in the Block Layer
- Part 3: Descending into the Physical Layer
- Chapter 7: The SCSI Subsystem
- Chapter 8: Illustrating the Layout of Physical Media
- Part 4: Analyzing and Troubleshooting Storage Performance
- Chapter 9: Analyzing Physical Storage Performance
- Chapter 10: Analyzing Filesystems and the Block Layer
- Chapter 11: Tuning the I/O Stack
- Index
- Other Books You May Enjoy
Product information
- Title: Architecture and Design of the Linux Storage Stack
- Author(s):
- Release date: July 2023
- Publisher(s): Packt Publishing
- ISBN: 9781837639960
You might also like
book
Linux Observability with BPF
Build your expertise in the BPF virtual machine in the Linux kernel with this practical guide …
book
Linux Kernel Debugging
Effectively debug kernel modules, device drivers, and the kernel itself by gaining a solid understanding of …
book
Linux Kernel Programming
Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand …
book
Linux Kernel Programming - Second Edition
Gain both a firm practical understanding and sufficient theoretical insight into the inner workings of Linux …