Re: Raw LVM devices on Linux
Posted in 2006
Topics: Performance & Tuning, Platform-Specific Issues
Michael Segel wrote: > Davorin Kremenjas wrote: > >> The main concern about raw devices vs cooked files is supposed to be >> performance, or precisely - KAIO. Actually, I'm less concerned with small differences in performance than I am with whether or not the OS is buffering disk writes. So, to simplify the question at hand: Is access via /dev/volgroup/volname buffered or unbuffered? -- Jeff jlar310 at yahoo
Jeff wrote: > Actually, I'm less concerned with small differences in performance than > I am with whether or not the OS is buffering disk writes. > > So, to simplify the question at hand: > > Is access via /dev/volgroup/volname buffered or unbuffered? I think I've answered the question. See the following links: http://www.linux-tutorial.info/modules.php?name=Glossary&term=block%20device http://www.linux-tutorial.info/modules.php?name=Glossary&term=character%20device They state unequivocally that block devices are buffered and character devices are unbuffered. Assuming they are correct, for true raw devices with Informix, /dev/raw must be used. Or does IBM know something the Linux Tutorial doesn't know? The IBM document (referenced by my original post) demonstrates setting up an Informix "raw" disk using a block device. Will we ever really know for sure? In the meantime, I'm going to be using /dev/raw. -- Jeff jlar310 at yahoo
Jeff wrote: [snip] > for true raw devices with Informix, /dev/raw must be used. I am certain the above is the case. Please refer to my other post - you should use the raw utility to create character devices which gives entries in '/proc/partitions'. If you don't you can't be using the raw device code in the Linux kernel. I would say the IBM tutorial referenced in your original post is wrong in directly linking to a block device and I've done a little reading around which suggests that linking to a block device would involve buffering. See http://www.linux.com/howtos/SCSI-2.4-HOWTO/rawdev.shtml You might also be interested in how IBM think you should use raw devices with DB2: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/t0004971.htm Ben.
Jeff ??????: > Michael Segel wrote: > >> Davorin Kremenjas wrote: >> >> >>> The main concern about raw devices vs cooked files is supposed to be >>> performance, or precisely - KAIO. >>> > > Actually, I'm less concerned with small differences in performance than I am > with whether or not the OS is buffering disk writes. > > So, to simplify the question at hand: > > Is access via /dev/volgroup/volname buffered or unbuffered? > > -- > Jeff > jlar310 at yahoo > _______________________________________________ > Informix-list mailing list > Informix-list@iiug.org > http://www.iiug.org/mailman/listinfo/informix-list > > > Hi, You may use direct access to /dev/volgroup/volname if kenel and IDS support "to open the block device with the *O_DIRECT* flag." IDS 10 and RHEL4 support this feathure, but IDS 9.4 don't. Dimitar Bachvarov
Dimitar Bachvarov wrote: > You may use direct access to /dev/volgroup/volname if kenel and IDS > support "to open the block device with the *O_DIRECT* flag." > IDS 10 and RHEL4 support this feathure, but IDS 9.4 don't. Many thanks for this. I was unaware of this feature. Hence the IBM tutorial is correct then, there is more than one way to use raw with IDS 10. http://www.redhat.com/docs/manuals/csgfs/admin-guide/s1-manage-direct-io.html I was interested to read in the same tutorial that IDS 10 offers processor affinity on the Linux platform. I didn't know this was now available. Ben.