Discussion:
[linux-lvm] Extending a LVM2 strip set
l***@emc.com
2004-09-23 17:25:12 UTC
Permalink
Hi



http://www.tldp.org/HOWTO/LVM-HOWTO/mapmode.html
<http://www.tldp.org/HOWTO/LVM-HOWTO/mapmode.html> states:



"In LVM 2, striped LVs can be extended by concatenating another set of
devices onto the end of the first set. So you can get into a situation where
your LV is a 2 stripe set concatenated with a linear set concatenated with a
4 stripe set. Are you confused yet?"



As a matter of fact, I am!



I need to start with a 2 disk (therefore, 2 stripe) logical volume, that I
later extend with 2 more disks. How is this done?



Thanks

tl



Terry Lemons

CLARiiON Applications Integration Engineering

EMC²

where information lives



4400 Computer Drive, MS D239

Westboro MA 01580

Phone: 508 898 7312

Email: ***@emc.com <mailto:***@emc.com>
AJ Lewis
2004-09-23 18:45:52 UTC
Permalink
Post by l***@emc.com
http://www.tldp.org/HOWTO/LVM-HOWTO/mapmode.html
"In LVM 2, striped LVs can be extended by concatenating another set of
devices onto the end of the first set. So you can get into a situation where
your LV is a 2 stripe set concatenated with a linear set concatenated with a
4 stripe set. Are you confused yet?"
As a matter of fact, I am!
I need to start with a 2 disk (therefore, 2 stripe) logical volume, that I
later extend with 2 more disks. How is this done?
In lvm2 you simply create the lv with a stripe size of 2, then later
when you want to extend it, you lvextend it with a stripe size of 2.
The reason this is explained in so much detail is that in LVM1, you
could not extend a striped set past its original PVs. In LVM2, the
original striped set can be extended to the end of the original PVs,
and any additional PVs become a striped set that is tacked on to the
end (concatenated).

Maybe an ACSII picture can help ;)

Original striped volumes:
___ ___
| 1 | | 2 |
| 3 | | 4 |
|_5_| |_6_|

After adding two more disks and lvextending:
___ ___ ___ ___
| 1 | | 2 | | 7 | | 8 |
| 3 | | 4 | | 9 | | 10|
|_5_| |_6_| |_11| |_12|


So you have 2 sets of striped segments (with 2 stripes each),
concatenated together. It does *not* remap all the striping so you
have 1 set of striped segments (with 4 stripes each).

Is that any clearer?
--
AJ Lewis Voice: 612-638-0500 Red Hat Inc. E-Mail: ***@redhat.com
720 Washington Ave. SE, Suite 200 Minneapolis, MN 55414

Current GPG fingerprint = D9F8 EDCE 4242 855F A03D 9B63 F50C 54A8 578C 8715
Grab the key at: http://people.redhat.com/alewis/gpg.html or one of the
many keyservers out there...
l***@emc.com
2004-09-24 04:23:58 UTC
Permalink
MUCH clearer. Thanks very much for the reply! If you have The Power,
please consider adding this to the HOWTO document.

Thanks again
tl

-----Original Message-----
From: linux-lvm-***@redhat.com [mailto:linux-lvm-***@redhat.com] On
Behalf Of AJ Lewis
Sent: Thursday, September 23, 2004 2:46 PM
To: LVM general discussion and development
Subject: Re: [linux-lvm] Extending a LVM2 strip set
Post by l***@emc.com
http://www.tldp.org/HOWTO/LVM-HOWTO/mapmode.html
"In LVM 2, striped LVs can be extended by concatenating another set of
devices onto the end of the first set. So you can get into a situation
where
Post by l***@emc.com
your LV is a 2 stripe set concatenated with a linear set concatenated with
a
Post by l***@emc.com
4 stripe set. Are you confused yet?"
As a matter of fact, I am!
I need to start with a 2 disk (therefore, 2 stripe) logical volume, that I
later extend with 2 more disks. How is this done?
In lvm2 you simply create the lv with a stripe size of 2, then later
when you want to extend it, you lvextend it with a stripe size of 2.
The reason this is explained in so much detail is that in LVM1, you
could not extend a striped set past its original PVs. In LVM2, the
original striped set can be extended to the end of the original PVs,
and any additional PVs become a striped set that is tacked on to the
end (concatenated).

Maybe an ACSII picture can help ;)

Original striped volumes:
___ ___
| 1 | | 2 |
| 3 | | 4 |
|_5_| |_6_|

After adding two more disks and lvextending:
___ ___ ___ ___
| 1 | | 2 | | 7 | | 8 |
| 3 | | 4 | | 9 | | 10|
|_5_| |_6_| |_11| |_12|


So you have 2 sets of striped segments (with 2 stripes each),
concatenated together. It does *not* remap all the striping so you
have 1 set of striped segments (with 4 stripes each).

Is that any clearer?
--
AJ Lewis Voice: 612-638-0500 Red Hat Inc. E-Mail: ***@redhat.com
720 Washington Ave. SE, Suite 200 Minneapolis, MN 55414

Current GPG fingerprint = D9F8 EDCE 4242 855F A03D 9B63 F50C 54A8 578C 8715
Grab the key at: http://people.redhat.com/alewis/gpg.html or one of the
many keyservers out there...
l***@emc.com
2004-09-24 17:10:44 UTC
Permalink
So, when I add the two additional disks, which I want to be striped, I would
do:

lvextend --stripes 2 -- extents {nnnnn}{volumegroup} /dev/system/lvol0

And I'll end up with two 2-stripe sets, concatendated together?

So, when data is written to these extending LV, will the data fill the first
two striped disks before writing to the second two striped disks, or will
writes be sent across all four disks?

Thanks
tl

-----Original Message-----
From: linux-lvm-***@redhat.com [mailto:linux-lvm-***@redhat.com] On
Behalf Of AJ Lewis
Sent: Thursday, September 23, 2004 2:46 PM
To: LVM general discussion and development
Subject: Re: [linux-lvm] Extending a LVM2 strip set
Post by l***@emc.com
http://www.tldp.org/HOWTO/LVM-HOWTO/mapmode.html
"In LVM 2, striped LVs can be extended by concatenating another set of
devices onto the end of the first set. So you can get into a situation
where
Post by l***@emc.com
your LV is a 2 stripe set concatenated with a linear set concatenated with
a
Post by l***@emc.com
4 stripe set. Are you confused yet?"
As a matter of fact, I am!
I need to start with a 2 disk (therefore, 2 stripe) logical volume, that I
later extend with 2 more disks. How is this done?
In lvm2 you simply create the lv with a stripe size of 2, then later
when you want to extend it, you lvextend it with a stripe size of 2.
The reason this is explained in so much detail is that in LVM1, you
could not extend a striped set past its original PVs. In LVM2, the
original striped set can be extended to the end of the original PVs,
and any additional PVs become a striped set that is tacked on to the
end (concatenated).

Maybe an ACSII picture can help ;)

Original striped volumes:
___ ___
| 1 | | 2 |
| 3 | | 4 |
|_5_| |_6_|

After adding two more disks and lvextending:
___ ___ ___ ___
| 1 | | 2 | | 7 | | 8 |
| 3 | | 4 | | 9 | | 10|
|_5_| |_6_| |_11| |_12|


So you have 2 sets of striped segments (with 2 stripes each),
concatenated together. It does *not* remap all the striping so you
have 1 set of striped segments (with 4 stripes each).

Is that any clearer?
--
AJ Lewis Voice: 612-638-0500 Red Hat Inc. E-Mail: ***@redhat.com
720 Washington Ave. SE, Suite 200 Minneapolis, MN 55414

Current GPG fingerprint = D9F8 EDCE 4242 855F A03D 9B63 F50C 54A8 578C 8715
Grab the key at: http://people.redhat.com/alewis/gpg.html or one of the
many keyservers out there...
Loading...