This content has been marked as final. Show 3 replies
Please read "Considerations for Oracle ASM Storage" in http://download.oracle.com/docs/cd/E11882_01/server.112/e16102/asmprepare.htm#OSTMG11000.
DBA2008 wrote:You are confusing raw (raw devices) with "+raw+" (block devices for raw character devices)...
looking for best practices note on this topic for different OS like linux, Solaris & windows? & how to configure them?
All devices are "raw" - even your traditional "C:" drive.. until it is mounted by a driver that provides "cooked file system" access to it.
Oracle ASM works directly using such raw devices - these must NOT be mounted by a file system driver (ASM cannot use it as the device is locked/used by that other driver). And the raw device must NOT contain a file system (ASM will open that device and destroy it).
So what about the issue that "raw is deprecated"? This refers to a very specific device driver on Unix/Linux that enabled a (raw) character device to be used as a (raw) block device. Why?
Because on older kernels you could not use direct I/O on (raw) character devices and only on (raw) block devices. This raw device driver bound a block device to a character device, allowing direct I/O to be used. And direct I/O is what s/w like RDBMS's and ASM want when dealing with raw devices as oppose to cooked file systems.
So there is no such concept as "+raw devices versus AsmLib+". It is nonsensical.
AsmLib is a kernel driver that provides a logical device management layer for raw devices. The same type of s/w ships by default on Linux and is called Multipath.
EMC has their own proprietary kernel driver called Powerpath that basically covers the same feature set.
So using raw devices is standard and the norm with ASM. The storage array or server's LUNs will be seen by the database server's kernel as raw scsi devices. These devices need to be made available to ASM. There are issues such as multiple I/O paths to the SAN to address. Issues such as device name consistency. Issues such as device ownership and permissions. Etc.
AsmLib can be used to address this. Is it recommended? Not really as on Linux Multipath is designed to do this job. And it does it very well on 1000+ node clusters hooked up to seriously large SANs. It does what AsmLib does and better - with the exception for being able to format an ASM device with an ASM header label (done by ASM itself anyway on a new disk allocated to a disk group).
So yes, there are Metalink/MoS notes that proclaim the "+goodness+" of AsmLib. But it is not a prerequisite. It is not recommended by Oracle to use as a replacement for Multipath (none of the best practice Oracle docs I have says that).
Keep in mind that AsmLib is an extra layer of kernel drivers that need to be loaded and configured. I do not see the use of that myself and we do not use AsmLib on any of our RAC clusters. Multipath is used and it does the job, and does it well.
I appreciate if you can give me explanations for raw devices and asm devices.
Also appreciate if you can let me know if ASM is good for single instance database.