Preface
The major benefit of open source operating systems such as Linux is that anyone can dig deep and uncover how they work under the hood. Even with the astronomical advances in software development, the Linux kernel remains one of the most complex pieces of code. Developers, programmers, and would-be kernel hackers are constantly diving into the kernel code and are pushing for new features. Hobbyists and enthusiasts like me are trying to understand and unravel mysteries.
As one of those enthusiasts, I have spent quite some time exploring the intricacies of the Linux storage stack. From simple hard drives to complex networked storage systems, Linux is at the heart of many of the world’s most complex storage technologies. Over the last few years, I’ve had a chance to work on Linux and several storage technologies, which piqued my interest in this area. This book is the result of that exploration. I’ve tried peeling off all the layers of the Linux storage stack to show how they all work in unison. My goal is to share what I have learned with others who share my fascination with this topic.
This book provides an in-depth and conceptual overview of the Linux storage stack. It covers all of the major components of the stack and includes an in-depth and detailed analysis of the storage subsystem and its architecture, the virtual filesystem layer, different filesystems and the differences in their implementations, the block layer, multi-queue and device mapper frameworks, scheduling, and physical layers. It also covers a variety of topics relating to storage performance analysis, tuning, and troubleshooting.
I’m sure anyone who wants to widen their understanding of Linux and its storage landscape will find this book informative and useful.