lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 05 Sep 2006 19:44:30 -0400
From:	Bill Davidsen <davidsen@....com>
To:	Michael Tokarev <mjt@....msk.ru>
CC:	linux-kernel@...r.kernel.org
Subject: Re: Raid 0 Swap?

Michael Tokarev wrote:
> Marc Perkel wrote:
>> If I have two drives and I want swap to be fast if I allocate swap spam
>> on both drives does it break up the load between them? Or would it run
>> faster if I did a Raid 0 swap?
> 
> Don't do that - swap on raid0.  Don't do that.  Unless you don't care
> about your data, ofcourse.  Seriously.

Please don't spread FUD. Particularly when there are valid technical 
arguments to be made. RAID0 does increase the chance of any error, but 
it is still a very small chance. With drive failures measured in years, 
it's misleading to make it sound as if going RAID0 will result in a 
rapid failure.
> 
> If something with swap space goes wrong, God only knows what will break.

The same thing that will go wrong if your one and only swap drive goes 
bad. You get a disk error, the kernel copes with it well or badly, the 
system grinds to a halt or crashes. Flames do not come out and your cat 
will NOT get pregnant (at least from swap failure).

> It is trivial to break userspace data this way, when an app is swapped
> out and there's an error reading it from swap, its data file very likely
> to be corrupt, especially when it is interrupted during file update.
> It is probably possible to corrupt the whole filesystem this way too,
> when some kernel memory has been swapped out and is needed to write some
> parts of filesystem, but it can't be read back.

More FUD.
> 
> Ie, your swap space must be reliable.  At least not worse than your memory.
> And with striping, you've much more chances of disk failure...

You roughly double your chance, which still leaves the chances of a 
failure in one every few years. But wait, there more! Unless you use the 
drive just for swapping, the chances are that an error will happen 
somewhere else on the disk.
> 
> Yes it sounds very promising at first, to let kernel stripe swap space,
> for faster operations.  But hell, first, try to avoid swappnig in the
> first place, by installing appropriate amount memory which is cheap
> nowadays, so there will be just no need for swapping.  And when it's
> done, it's not relevant anymore whenever your swap space is fast or
> not.  But make it *reliable*.

The truth is that striping may not make swap faster, because (a) the 
transfer rate may or may not be faster, but (b) the seek time will be 
the slowest seek on any drive used. There's a good technical reason, 
RAID0 may not help.

However, RAID1 will help, again not because it's more reliable, but 
because when you do a swap in (that's where you really feel swap delay), 
you increase the chance that there will be a copy of your data on a 
drive which isn't busy.

So the correct answer is not related to reliability problems, which are 
rare, but performance problems, which is why you did the RAID in the 
first place.

Final note: if you are building a really reliable system, PAID6 on all 
data, redundant power supplies (the highest point of total failure), 
then you should go to RAID0 for swap, on multiple controllers, 
preferably one drives in different enclosures. RAID6 for swap sucks 
rocks off the bottom of the ocean, three way RAID1 performs well even 
after a one drive failure.

-- 
Bill Davidsen <davidsen@....com>
   Obscure bug of 2004: BASH BUFFER OVERFLOW - if bash is being run by a
normal user and is setuid root, with the "vi" line edit mode selected,
and the character set is "big5," an off-by-one errors occurs during
wildcard (glob) expansion.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ