LVM, MDADM, and MD RAID
-
@obsolesce said in LVM, MDADM, and MD RAID:
Just found this:
https://mangolassi.it/topic/493/linux-lvm-and-mdadm-merging-md-raid-handling-codeBut is old. So is LVM still actually using MD behind the scenes? I really can't find anything official on this anywhere.
Might feel old, but that's not very old and nothing has changed. And why would it change? Doesn't make sense. Merged makes sense.
-
@obsolesce said in LVM, MDADM, and MD RAID:
I think the confusion is this:
You can use LVM on MD, or straight LVM. It seems LVM only was buggy in the past, but is good now.
LVM was buggy in what way?
-
@obsolesce said in LVM, MDADM, and MD RAID:
@black3dynamite said in Miscellaneous Tech News:
@obsolesce said in Miscellaneous Tech News:
@scottalanmiller said in Miscellaneous Tech News:
@obsolesce said in Miscellaneous Tech News:
@black3dynamite said in Miscellaneous Tech News:
@dustinb3403 said in Miscellaneous Tech News:
It appears the XCP-ng team is working on better software raid integration.
That's cool. We can have LVM on top of software raid.
LVM does Raid.
LVM only provides an interface to the RAID, it doesn't do the RAID. Just like MDADM is an interface to MD, LVM is an interface to MD. But it is MD in both cases.
So
lvcreate --type raid5 ...etc
just runs some mdadm commands behind the scenes?So it creates the raid using mdadm and then the logical volume?
I'm asking, I didn't think that was the case, but @scottalanmiller says it is. I'm trying to find this info. I'm reading more about LVM now to see exactly what it does, but I haven't found anything relating to MDADM at all.
https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/lv_overview.html
Two reasons for this...
- It's related to MD, not MDADM.
- Your docs are for version 5 which predates the merger around 6.2.
-
Here is another article. Of course they mistakenly call MD MDADM as so many people do. BUt the ideas are what matter.
https://unix.stackexchange.com/questions/150644/raiding-with-lvm-vs-mdraid-pros-and-cons#182503
-
Just putting this here cause I like it and stole it from:
https://serverfault.com/questions/217666/what-is-better-lvm-on-raid-or-raid-on-lvm
and helped me recently| / | /var | /usr | /home | -------------------------- | LVM Volume | -------------------------- | RAID Volume | -------------------------- | Disk 1 | Disk 2 | Disk 3 |
-
I see...
So MD is the multiple device driver / RAID implementation built into the Linux kernel. Both LVM and MDADM can interface to MD, LVM being more featurefull than MDADM?
-
@emad-r said in LVM, MDADM, and MD RAID:
Just putting this here cause I like it and stole it from:
https://serverfault.com/questions/217666/what-is-better-lvm-on-raid-or-raid-on-lvm
and helped me recently| / | /var | /usr | /home | -------------------------- | LVM Volume | -------------------------- | RAID Volume | -------------------------- | Disk 1 | Disk 2 | Disk 3 |
I don't like them calling it
LVM Volume
as that's something very specific within LVM. Can't tell you how long this sort of wording confused the heck out of me. -
@obsolesce mdadm predates lvm. Mdadm was about raid, lvm about thick/thin provisioned volumes which were like on-the-fly resizeable partitions. Usually you see mdadm -more battle tested- for raid management and lvm for flexible partitioning on top of mdadm.
Later they added raid capabilities to lvm. But honestly I ignored this! -
@obsolesce said in LVM, MDADM, and MD RAID:
I see...
So MD is the multiple device driver / RAID implementation built into the Linux kernel. Both LVM and MDADM can interface to MD, LVM being more featurefull than MDADM?
Correct. LVM is more generally featureful, MDADM is slightly more featureful just within the set of RAID features.
-
@travisdh1 said in LVM, MDADM, and MD RAID:
| / | /var | /usr | /home |
| LVM Volume |
| RAID Volume |
| Disk 1 | Disk 2 | Disk 3 |
Right, it's really LVM and RAID, not volumes. Volumes exists within the RAID stack and within the LVM stack. In this diagram, that's the whole stack, not just the volumes.
-
@matteo-nunziati said in LVM, MDADM, and MD RAID:
@obsolesce mdadm predates lvm. Mdadm was about raid, lvm about thick/thin provisioned volumes which were like on-the-fly resizeable partitions. Usually you see mdadm -more battle tested- for raid management and lvm for flexible partitioning on top of mdadm.
Later they added raid capabilities to lvm. But honestly I ignored this!MD (pre-MDADM) was 2001. LVM on Linux was 1998. So LVM has a 3+ year lead on MD. We were using LVM heavily when MD came around.
My time on Linux predates both.
-
@scottalanmiller woa! I was sure it was the opposite! I really don't know where I learned it... Anyway my time w/ linux begins in 2004/2005 and I've always been more on the coding side of things. Interesting discovery!
-
LVM was basically a copy of the LVM on HP-UX.
-
@scottalanmiller said in LVM, MDADM, and MD RAID:
LVM was basically a copy of the LVM on HP-UX.
SGI people claimed that MD was a copy of their software based RAID back in the late 90s. How true that was, I really don't know.
-
@travisdh1 said in LVM, MDADM, and MD RAID:
@scottalanmiller said in LVM, MDADM, and MD RAID:
LVM was basically a copy of the LVM on HP-UX.
SGI people claimed that MD was a copy of their software based RAID back in the late 90s. How true that was, I really don't know.
All early software RAID is pretty similar.
-
MD is a device driver so it assembles several devices into one.
For instance /dev/sda and /dev/sdb into /dev/md0.
It has no clue about what kind of file system or anything like that it's running. It works on the block level, just like hardware raid.
You would not get a volume until you have a partition somewhere that you format with a file system.
-
@pete-s said in LVM, MDADM, and MD RAID:
MD is a device driver so it assembles several devices into one.
For instance /dev/sda and /dev/sdb into /dev/md0.
It has no clue about what kind of file system or anything like that it's running. It works on the block level, just like hardware raid.
You would not get a volume until you have a partition somewhere that you format with a file system.
The concept of Drive Appearance is what is at play in both RAID and volume managers.
-
@scottalanmiller said in LVM, MDADM, and MD RAID:
@pete-s said in LVM, MDADM, and MD RAID:
MD is a device driver so it assembles several devices into one.
For instance /dev/sda and /dev/sdb into /dev/md0.
It has no clue about what kind of file system or anything like that it's running. It works on the block level, just like hardware raid.
You would not get a volume until you have a partition somewhere that you format with a file system.
The concept of Drive Appearance is what is at play in both RAID and volume managers.
I always thought that RAID and LVM were two different concepts... RAID for Data protection (ignoring RAID 0) and LVM for data presentation... ?
Am I close in that way of thinking or way off base?
-
@dafyre said in LVM, MDADM, and MD RAID:
@scottalanmiller said in LVM, MDADM, and MD RAID:
@pete-s said in LVM, MDADM, and MD RAID:
MD is a device driver so it assembles several devices into one.
For instance /dev/sda and /dev/sdb into /dev/md0.
It has no clue about what kind of file system or anything like that it's running. It works on the block level, just like hardware raid.
You would not get a volume until you have a partition somewhere that you format with a file system.
The concept of Drive Appearance is what is at play in both RAID and volume managers.
I always thought that RAID and LVM were two different concepts... RAID for Data protection (ignoring RAID 0) and LVM for data presentation... ?
Am I close in that way of thinking or way off base?
You are correct. Logical volume management (lower case) is a general concept around storage abstraction. RAID is a specific storage virtualization technology that combines multiple drive (appearances) into one in specific ways. Both are storage abstraction and virtualization, but they are different in what they do with that.
Now Linux' LVM (upper case, product name not product category) does some non logical volume management features, like talking to the MD RAID system to configure it for you. That's a feature of that specific LVM product, not an LVM concept.
-
The comments here insightful, especially about the lvm mirroring.
https://serverfault.com/questions/126851/linux-lvm-mirror-vs-md-mirror