* [linux-lvm] LVM snapshot?
@ 2008-12-21 14:33 Tom Diehl
2008-12-21 18:34 ` Tim Post
0 siblings, 1 reply; 7+ messages in thread
From: Tom Diehl @ 2008-12-21 14:33 UTC (permalink / raw)
To: linux-lvm
Hi,
I have a machine that is running EL5 with xen. One of the DOMU's has an LV
from DOM0 mounted on it to allow access to the data. Is it safe to do
a snapshot of the LV from DOM0 while it is still mounted rw on the DOMU?
What I would like to do is snapshot the LV, fsck the snapshot and if it comes
up clean, continue on. If it shows errors, then I will schedule downtime
for a real fsck.
Does this sound safe or am I going to get into trouble if I do that?
Regards,
--
Tom Diehl tdiehl@rogueind.com Spamtrap address mtd123@rogueind.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-lvm] LVM snapshot?
2008-12-21 14:33 [linux-lvm] LVM snapshot? Tom Diehl
@ 2008-12-21 18:34 ` Tim Post
2008-12-23 0:15 ` [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces? Steve Costaras
0 siblings, 1 reply; 7+ messages in thread
From: Tim Post @ 2008-12-21 18:34 UTC (permalink / raw)
To: LVM general discussion and development
On Sun, 2008-12-21 at 09:33 -0500, Tom Diehl wrote:
> Hi,
>
> I have a machine that is running EL5 with xen. One of the DOMU's has an LV
> from DOM0 mounted on it to allow access to the data. Is it safe to do
> a snapshot of the LV from DOM0 while it is still mounted rw on the DOMU?
Yes, provided:
1 - You send a sysrq 's' to the guest to sync anything dirty
2 - You pause the guest prior to taking the snapshot
After taking the snapshot, of course unpause the guest. I have a tool
that I wrote using libxenctrl / liblvm2cmd which does this very quickly,
if you'd like it I'll send you the source code when I get back to my
office next week. Its also rather easy to export mount stats (how much
is used on any given mount) via xenbus, which helps automatically size
the snapshots from dom-0.
A fsck -n /dev/xvda(x) within the running guest itself should tell you
(more reliably) if any problems exist, depending on the file system and
journal mode. It need not run completely, ~15 seconds in you'll be able
to tell and just ctrl-c. Moreover, this gives you a general indication
of how big the downtime window should be. Plus, the i/o of the test is
in the dom-u, which is better.
A "All Clean" message will look like the normal "clean" message, plus a
warning that journal recovery is not possible since fsck is not going to
make any changes to the FS.
HTH
Cheers,
--Tim
^ permalink raw reply [flat|nested] 7+ messages in thread
* [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
2008-12-21 18:34 ` Tim Post
@ 2008-12-23 0:15 ` Steve Costaras
2008-12-23 1:24 ` Alasdair G Kergon
2008-12-23 10:27 ` Marek Podmaka
0 siblings, 2 replies; 7+ messages in thread
From: Steve Costaras @ 2008-12-23 0:15 UTC (permalink / raw)
To: 'LVM general discussion and development'
[-- Attachment #1: Type: text/plain, Size: 1279 bytes --]
I have not seen much commentary in my searches concerning LVM under linux
with very large name spaces (single file systems), and figured I would pose
the question out to the forum as I am in the planning stages here to rebuild
and consolidate systems.
Initially I have a couple questions regarding the underlying LVM structure
and what it supports:
- Are PV sizes >=16TB possible? (I am looking to add external RAID chassis
which will present to the system as large (~13TB (16-drive, raid-6, + hot
spare)) drive. The subsystem drive will be replaced w/ 2TB or greater
models when they are available in 2010-2011 and am trying to avoid a
forklift upgrade of subsystem components.
- What are the limits on PE/LE's per logical volume (>200,000,000? A
problem?) (I will be attaching multiple external chassis like above to
several HBA's and will be using LVM striping to increase performance. So a
small PE size (4MB-8MB) would be best to aid in the distribution of requests
across the physical subsystems.)
- Are there any references or examples of users who have created/run large
(100TB - 1PB) LVM installations that are functional in the real-world? (I
don't see why this would not work on paper, but theory and practice are two
different things).
Thanks,
Steve
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3916 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
2008-12-23 0:15 ` [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces? Steve Costaras
@ 2008-12-23 1:24 ` Alasdair G Kergon
2008-12-23 1:33 ` Steve Costaras
2008-12-23 10:27 ` Marek Podmaka
1 sibling, 1 reply; 7+ messages in thread
From: Alasdair G Kergon @ 2008-12-23 1:24 UTC (permalink / raw)
To: LVM general discussion and development
From the LVM2 point of view, extents (PEs/LEs) are counted using 32-bit
numbers so that's where the limit comes from.
(You can change extent size later, shuffling extent boundaries with pvmove
first as necessary.)
The stripe size is controlled by a separate parameter essentially independent
of the PE size.
When creating the PVs, use a larger-than-default size for the metadata area:
it is awkward to change later if you fill it up.
Alasdair
--
agk@redhat.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
2008-12-23 1:24 ` Alasdair G Kergon
@ 2008-12-23 1:33 ` Steve Costaras
0 siblings, 0 replies; 7+ messages in thread
From: Steve Costaras @ 2008-12-23 1:33 UTC (permalink / raw)
To: 'LVM general discussion and development'
[-- Attachment #1: Type: text/plain, Size: 1472 bytes --]
Thanks, I was planning on using a larger metadata area anyway, just to play
it safe as I'm expecting a 3-4x growth for the life of the array before next
hard rebuild and all the comments I've seen on the Inet are talking about
much smaller array sizes than what I'm building. Is there any rule of
thumb or sizing guidelines or is it a black art?
With PE/LE's being 32bit (or is it a signed 32bit so 31 bits?) Either way,
that's more than enough even w/ 4MiB sizes for the expected end-state of the
name space.
-----Original Message-----
From: linux-lvm-bounces@redhat.com [mailto:linux-lvm-bounces@redhat.com] On
Behalf Of Alasdair G Kergon
Sent: Monday, December 22, 2008 19:25
To: LVM general discussion and development
Subject: Re: [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
From the LVM2 point of view, extents (PEs/LEs) are counted using 32-bit
numbers so that's where the limit comes from.
(You can change extent size later, shuffling extent boundaries with pvmove
first as necessary.)
The stripe size is controlled by a separate parameter essentially
independent of the PE size.
When creating the PVs, use a larger-than-default size for the metadata area:
it is awkward to change later if you fill it up.
Alasdair
--
agk@redhat.com
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3916 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
2008-12-23 0:15 ` [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces? Steve Costaras
2008-12-23 1:24 ` Alasdair G Kergon
@ 2008-12-23 10:27 ` Marek Podmaka
2008-12-29 3:06 ` Steve Costaras
1 sibling, 1 reply; 7+ messages in thread
From: Marek Podmaka @ 2008-12-23 10:27 UTC (permalink / raw)
To: LVM general discussion and development
Hello,
Tuesday, December 23, 2008, 1:15:28, Steve Costaras wrote:
> - What are the limits on PE/LE's per logical volume (>200,000,000? A
> problem?) (I will be attaching multiple external chassis like above to
> several HBA's and will be using LVM striping to increase performance. So a
> small PE size (4MB-8MB) would be best to aid in the distribution of requests
> across the physical subsystems.)
I think 4-8 MB for PE size is too small when you will be using such
big (and probably advanced arrays).
LVM stripping (strip size in hundreds of kB) would kill any array,
because when you request for example 512 kB from one array and next
512 kB from another array, they can't handle it efficiently. You won't
see the benefit of reading from all 16 spindles - everytime it will
just load 512 kB from one physical disk. Also detection of sequential
read might not work well in array in this case.
In HP-UX LVM with enterprise arrays like HP EVA or HP XP we use 32-64 MB
PE and enable distribution - that means "stripe" size = PE size.
LE1 = PV1_1
LE2 = PV2_1
LE3 = PV1_2
LE4 = PV2_2 and so on.
Using this you request for example 32 MB from one array. Given the
cache sizes of arrays and readahead, so should get much better
performance, because those 32 MB will be fetched partially from all 16
drives.
Also we don't use ditribution among 2 arrays, just using different
paths to one array (different HBA, different SAN switch and different
array FC controller). We use 2 arrays only for mirroring data to other
datacentre for clusters.
The main reason for us for that PE distribution is that HP-UX does not
have loadbalancing multipath built-in. But even when you will have it,
using more PVs is better because of the architectural limits of arrays
(no. of outstanding request for single virtual drive, scsi queue depth
on server and on array, cache memory limits per virtual drive, etc.)
--
bYE, Marki
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
2008-12-23 10:27 ` Marek Podmaka
@ 2008-12-29 3:06 ` Steve Costaras
0 siblings, 0 replies; 7+ messages in thread
From: Steve Costaras @ 2008-12-29 3:06 UTC (permalink / raw)
To: 'Marek Podmaka',
'LVM general discussion and development'
[-- Attachment #1: Type: text/plain, Size: 3724 bytes --]
Thanks, yes the workload that this system will do is a lot of small I/O
requests. From the system that I have logs from (I am trying to gather
logs from all systems to fine tune the sizes) the requests are in the
~64-128KiB range to the drive subsystem and very random in nature. So a
4MiB PE or even 8MiB PE shouldn't be much of a problem (assuming the
workloads on the other boxes is similar).
This is why I am planning on adding as many spindles as I can to grow that
way more so than streaming I/O. I understand the limits of outstanding
commands IOPS (read/write) and scsi command queue depth, which the later
(command queue depth) is the biggest item that I see what would push me to
create more/smaller (instead of raid6 (13+2+1) for each PV something like a
raid-6 of (5+2+1) which would lower storage efficiency but increase the
number of PV's and command queue depth aggregate (as well as increasing
write iops but this is mainly a read-request array not many writes).
I am more looking for examples of builds that have real-world broached the
100+TB range under linux and what kinds of gotcha's I'm in for. My current
arrays that are going to be merged into this are on average ~20-30TiB in
size each, since all serve similar (and somewhat overlapping functions)
merging them is in order.
Steve
-----Original Message-----
From: linux-lvm-bounces@redhat.com [mailto:linux-lvm-bounces@redhat.com] On
Behalf Of Marek Podmaka
Sent: Tuesday, December 23, 2008 04:28
To: LVM general discussion and development
Subject: Re: [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces?
Hello,
Tuesday, December 23, 2008, 1:15:28, Steve Costaras wrote:
> - What are the limits on PE/LE's per logical volume (>200,000,000? A
> problem?) (I will be attaching multiple external chassis like above to
> several HBA's and will be using LVM striping to increase performance. So
a
> small PE size (4MB-8MB) would be best to aid in the distribution of
> requests across the physical subsystems.)
I think 4-8 MB for PE size is too small when you will be using such big (and
probably advanced arrays).
LVM stripping (strip size in hundreds of kB) would kill any array, because
when you request for example 512 kB from one array and next
512 kB from another array, they can't handle it efficiently. You won't see
the benefit of reading from all 16 spindles - everytime it will just load
512 kB from one physical disk. Also detection of sequential read might not
work well in array in this case.
In HP-UX LVM with enterprise arrays like HP EVA or HP XP we use 32-64 MB PE
and enable distribution - that means "stripe" size = PE size.
LE1 = PV1_1
LE2 = PV2_1
LE3 = PV1_2
LE4 = PV2_2 and so on.
Using this you request for example 32 MB from one array. Given the cache
sizes of arrays and readahead, so should get much better performance,
because those 32 MB will be fetched partially from all 16 drives.
Also we don't use ditribution among 2 arrays, just using different paths to
one array (different HBA, different SAN switch and different array FC
controller). We use 2 arrays only for mirroring data to other datacentre for
clusters.
The main reason for us for that PE distribution is that HP-UX does not have
loadbalancing multipath built-in. But even when you will have it, using more
PVs is better because of the architectural limits of arrays (no. of
outstanding request for single virtual drive, scsi queue depth on server and
on array, cache memory limits per virtual drive, etc.)
--
bYE, Marki
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3916 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-12-29 3:06 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-21 14:33 [linux-lvm] LVM snapshot? Tom Diehl
2008-12-21 18:34 ` Tim Post
2008-12-23 0:15 ` [linux-lvm] LVM2 robustness w/ large (>100TB) name spaces? Steve Costaras
2008-12-23 1:24 ` Alasdair G Kergon
2008-12-23 1:33 ` Steve Costaras
2008-12-23 10:27 ` Marek Podmaka
2008-12-29 3:06 ` Steve Costaras
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox