Re: SSD + RAID - Mailing list pgsql-performance

From Ron Mayer
Subject Re: SSD + RAID
Date
Msg-id 4B13E950.1060001@cheapcomplexdevices.com
Whole thread Raw
In response to Re: SSD + RAID  (Bruce Momjian <bruce@momjian.us>)
List pgsql-performance
Bruce Momjian wrote:
>> For example, ext3 fsync() will issue write barrier commands
>> if the inode was modified; but not if the inode wasn't.
>>
>> See test program here:
>> http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg272253.html
>> and read two paragraphs further to see how touching
>> the inode makes ext3 fsync behave differently.
>
> I thought our only problem was testing the I/O subsystem --- I never
> suspected the file system might lie too.  That email indicates that a
> large percentage of our install base is running on unreliable file
> systems --- why have I not heard about this before?

It came up a on these lists a few times in the past.  Here's one example.
http://archives.postgresql.org/pgsql-performance/2008-08/msg00159.php

As far as I can tell, most of the threads ended with people still
suspecting lying hard drives.  But to the best of my ability I can't
find any drives that actually lie when sent the commands to flush
their caches.  But various combinations of ext3 & linux MD that
decide not to send IDE FLUSH_CACHE_EXT (nor the similiar
SCSI SYNCHRONIZE CACHE command) under various situations.

I wonder if there are enough ext3 users out there that postgres should
touch the inodes before doing a fsync.

> Do the write barriers allow data loss but prevent data inconsistency?

If I understand right, data inconsistency could occur too.  One
aspect of the write barriers is flushing a hard drive's caches.

> It sound like they are effectively running with synchronous_commit = off.

And with the (mythical?) hard drive with lying caches.



pgsql-performance by date:

Previous
From: Robert Haas
Date:
Subject: Re: query optimization
Next
From: Ron Mayer
Date:
Subject: Re: SSD + RAID