I'm wondering about this. LVMs are so interesting and useful, but they are very complicated for my brain. I'm pretty sure this is due to lack of my preriquisites of computer science concepts. So, I want to learn what concepts should I learn first in order to grasp LVMs concepts effectively. Only computer science concepts. I can't afford to learn OS from start to finish, so do tell me the core concepts in order. I'll read them myself.
-
$\begingroup$ At its simplest implementation, I think of LVM as merging all available disk space, across many storage devices (the physical volumes). I can then slice up this large pool of storage (the volume group) into one or (logical) volumes to store what I want, in volumes of the size I need. I have created my LVMs using Webmin: doxfer.webmin.com/Webmin/Logical_Volume_Management , to avoid the details of command line. $\endgroup$– Clive LongCommented Oct 10, 2023 at 15:35
1 Answer
Start with an understanding of "disk system," that is, a single physical disk drive containing a single logical volume. You might start with the FAT (file allocation table) system of the original MS-DOS. It is long out of date and makes some faulty assumptions about how big disk drives can be, but it's easy to understand. Go from there to perhaps FAT32. Note that both Windows and Linux have more modern file systems than FAT32, but for learning concepts, start with simple file systems.
From there, study disk partitioning, that is two or more logical volumes on a single drive.
As Clive Long has said in the comment, an LVM allows multiple logical volumes spanning multiple physical devices. The Wikipedia article provides a good overview. From there, you can study the details of the particular LVM you're concerned with.
Although both magnetic disks and solid-state drives provide random access to data, they're different animals. Probably you should consider magnetic disks first, then learn about SSDs. The "main thing" about SSDs from an operating systems viewpoint is that seek time becomes negligible.