|
|
|
RE: How to grow RAID1 mirror on top of LVM? | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
-----Original Message-----
From: Lars Täuber [mailto:taeuber@xxxxxxx]
Sent: Tuesday, April 29, 2008 2:56 AM
To: David Lethe
Cc: Neil Brown; Anton Altaparmakov; linux-raid@xxxxxxxxxxxxxxx
Subject: Re: How to grow RAID1 mirror on top of LVM?
Hallo David!
"David Lethe" <david@xxxxxxxxxxxx> schrieb:
> Lars:
> Even if you *could* do this, then your design would still be an awful idea. You'd effectively have a random I/O filesystem. Any write on a RAID1 disk would generate writes on all of the other disks. Even with a small number of RAID1 targets and default journaling, I wouldn't be surprised if a single application write translated into at least a dozen physical disk writes.
>
> What if (when) both the RAID1 & RAID6 became corrupted? How would you proceed? How would you propose the md engine deal with this? What if you lose a disk on the RAID6 while expanding the LVM and have a bad sector on remaining disks, or fsck shows filesytem corruption while you are expanding a md volume.
>
> Maybe you are starting to get the point.
No, sorry. I really don't understand. But maybe because I didn't tell detailed enough what our systems looks like.
We have here two huge RAID6 systems, that are connected through a 10G Ethernet switch. They are equally in size.
On these RAID6 we create LVs euqally in size and want them to be parts of a RAID1:
RAID6 RAID6
monosan duosan
LV LV (multiple of)
\ / 10GE
RAID1
| 10GE
aoe
| 1GE
server (multiple of)
> What is preventing the md layer from doing what you want is that a heck of a lot of code would have to be written,
But could you tell me what in the current »design« prevents us to resize the LVs and the RAID1 on top?
When I understand it correctly the RAID information are written at the end of each accessible partition/LV.
What is different on an extended LV from a partition that is replaced with a bigger one?
[...]
Thanks
Lars
==================================
The drawing was helpful, as I interpreted your architecture differently. I thought you had something like
RAID6
/ \
/ \
RAID1 RAID1
Still, you could get into a great deal of inefficiency. What are the block/chunk sizes in RAID6, RAID1, and your file system, and how is the journaling set up?
How many disks are in the RAID1, and what is the average I/O size that your application generates.
Lets' say you do a 4KB WRITE in the file system. Factor in all of the above and see how many I/Os get generated on each disk. If you are write-intensive, then consider how much less I/O will be generated if you reduced the sizes of the 2 RAID6 by 2 disks each, and added a RAID1 on each system, and used the RAID1 for the journal. The Journal is write-intensive, and RAID1 is best architecture for a journal. Also you can set correct and matching block sizes for the Journaling. RAID6 has a huge penalty on writes, so the more writes you can move from the RAID6 md, the better.
As for the question about resizing, I was under impression you built it differently, so forget that response. There is nothing in your architecture that will prevent you from resizing.
David
��.n��������+%������w��{.n�����{����w��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f
[Home] [ATA RAID] [Linux SCSI Target Infrastructure] [Linux] [Managing RAID on Linux] [Linux IDE] [Linux SCSI] [Linux Hams] [Device-Mapper] [Kernel] [Linux Books] [Linux Admin] [Linux Net] [GFS] [RPM] [Photos] [Yosemite Photos] [Yosemite News] [AMD 64] [Linux Nework]
![]() |
![]() |