Christian,
Linux raw partitions are of course supported. Peter Duffy
already got them working with 3.23.40. In .41 I have removed
data file size checks if you put the keyword 'newraw' or 'raw'
after the file size. Look in the manual!
The idea in using raw partitions is that then the i/o bypasses
the operating system file cache. Thus InnoDB reads will not
push away web content that you have in the operating system
file cache.
Also the efficiency problems in Linux fsync should be
avoidable this way. Another good thing is that bugs in
the Linux file system cannot lose whole raw partitions :).
But to make sure that this works as expected in Linux,
I need reports from users, for example you Christian :).
I do not know about software RAID on raw partitions.
An option is that I implement software RAID inside
InnoDB, since I have the impression that current
sofware RAID is not reliable in Linux.
Regards,
Heikki
http://www.innodb.com
Peter Duffy's message from the mailing list, July 17:
........................................................
Hi,
In the InnoDB section of the MySQL manual, it mentions that InnoDB can
be used with raw disks, rather than data files. I've been trying to get
this to work under Linux (RedHat 6.2), but so far without success.
I installed a new slave disk on the second IDE bus, brought up the
system and verified that the disk was available and partitionable at
/dev/hdd. Then, in /etc/my.cnf, I pointed innodb_data_home_dir and
innodb_data_file_path at /dev/hdd, with a size calculated from the
autodetected values as reported in /var/log/messages. I then started
mysql: it reported that the given size was not the same as the actual
file size for /dev/hdd, and ended. I delved into the code and ran a few
experiments: the problem appears to be that the code uses the lseek
system call to determine the file size, and this reports 0 for the
/dev/hdd device special file.
I tried using a raw device grafted onto the /dev/hdd device, but sameresult.
Has anyone else tried this under Linux and, if so, have they got it to
work? (If not, do we have a route towards getting it to work?)
..................
Copied message:
........................
Hello
I read in
http://www.mysql.com/doc/I/n/InnoDB_Disk_i_o.html
that Innodb supports raw partitions on "some unixes". We look forward to use
innodb
on debian (intel): are linux raw partitions supported?
Is it wise to try to use linux2.4 raw partitions with innodb on a production
system?
I haven't found linux documentation about raw partitions. Has anyone a
pointer?
One question I have: is it possible to mirror (software RAID 1) raw
partitions on
linux? (If not then I guess they are pretty useless without a hardware
raid).
Some thoughts about possible loss of memory due to using buffered (non-raw)
partitions:
We will use mysql-innodb on the same machine as apache. Apache will serve
static
files (about 200 MB or so, growing; most hits go to a small subset of this,
however)
which are generated from innodb content. Most items are requested from
static files
much more often (i.e. 1000's of times more) than from innodb. Some
(personalized
stuff) are requested as often from innodb than from cache. I guess because
of these
usage patterns linux will use most disk buffer for apache's files, not for
the innodb
partition, so there won't be much loss of memory? If I make an infrequent
mysql
query that has to read most of the tables content (i.e. 200MB out of the
800MB used
table space), is linux throwing away all disk buffers used by apache in
favour of
the innodb partition, or is it recognizing that apache will request it's
buffers
soon again? (Ideally innodb partition reads would buffer only for a short p!
eriod (since innodb has it's own buffer anyway) and thus only take little
memory.)
(I've been planning to use 512MB ram on this machine.)
christian.
----------------------------------------------------------------------------
----
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php