Gentoo Archives: gentoo-performance

From: Florian Philipp <f.philipp@××××××.de>
To: gentoo-performance@l.g.o
Subject: Re: [gentoo-performance] LVM2 stripes and mirrors
Date: Fri, 13 Jul 2007 16:15:53
Message-Id: 200707131813.50125.f.philipp@addcom.de
In Reply to: Re: [gentoo-performance] LVM2 stripes and mirrors by "M. Edward (Ed) Borasky"
Am Donnerstag 12 Juli 2007 16:14 schrieb M. Edward (Ed) Borasky:
> Florian Philipp wrote: > > Hi! > > > > I've got two questions concerning LVM2. > > > > Number one: What stripesize parameter would you use? The manual of my > > mainboard advises to use 64k for a RAID-0. Would that be useful for my > > portage tree or a more conventional partition like /usr and /var? > > > > Number two is not really a performance issue but it's LVM2-related: > > LVM2-mirrors need an extra log device but the man pages don't tell > > anything about how large it has to be or if it can be a partition or loop > > device on the same hdd as one of the mirrors. > > > > Thanks in advance! > > > > Florian Philipp > > Sizing I/O subsystems is highly workload and filesystem dependent, and > there's really no such thing as a one-size-fits-all quick answer. There > are models and there are some really good I/O subsystem benchmarks you > can use once you know what your workload characteristics are. > > I highly recommend the book "Storage Network Performance Analysis" > http://www.amazon.com/Storage-Network-Performance-Analysis-Huseyin/dp/07645 >1685X/ for the tools to do this. But one thing you can do first is to run > your workload on a system and capture data with "iostat". If you don't have > "iostat", you'll need to emerge "sysstat". The "iozone" benchmark is in > Portage, as is bonnie++. The I/O benchmark I like most is IOMeter, but that > requires a Windows system to run the control console and > downloading a Linux agent from their web site.
Thanks for the tips! Just for the record: I've solved problem number two: The log is not bigger than a few MB for 20GB of storage space. To create it you have to use two commands: At first, you create the mirror without log device: lvcreate -n $Name -L $Size -m $Number_of_mirrors --corelog $Volume_group Then you use lvconvert to attach a log and to create it anywhere: lvconvert $Volume_group/$Logical_volume -m $Number_of_mirrors --alloc anywhere Using "--alloc anywhere" with lvcreate is not wise because lvcreate tries to create all volumes on one device, then. Regards, Florian Philipp