This content has been marked as final. Show 20 replies
there is no ASMLIB kernel module for the RHEL6 kernels (hence it cannot be supported), as opposed to the OEL5 kernels.
However as the others have posted: You don't need ASMLIB to have ASM. So simply take the pure block devices as basis for the ASM diskgroups and set the permissions via. UDEV.
With Oracle own kernel (UEK) on OEL6, the ASMLIB kernel driver is included.
You can use ASMLIB on RHEL6 only with UEK installed and you need to download some additional packages but those packages are not available through the public yum repository. I didn't find any performance benefits by using ASMLibs. ASMlibs provide device persistence and it is easier to configure disks for ASM using ASMLib but it's an additional layer in the stack, and dependency on the kernel version. UDEV is another good alternative to ASMlib to achieve device persistency.
Please see the answer from Oracle at https://blogs.oracle.com/wim/. Scroll down to the discussion of ASMlib.
ASMlib was created as a template for 3rd party storage and file system vendors who might need to create their own interface. To date not one vendor has used the ASMlib template to create their own interface and they just use ASM directly (or an entirely non-ASM interface such as Veritas' replacement for libodm). ASMlib became popular among customers on RHEL 2.x through 3.x because those versions of Linux lacked good internal tools for dealing with the issues of persistence, ownership, permissions, etc. Starting with RHEL/OEL 4.4, in my opinion, all such issues were resolved and ASMlib became obsolete.
ASMlib needs to exist today to support those old and loyal Oracle customers who deployed it en-mass many years ago and for whatever reason cannot upgrade all systems to the point where ASMlib is no longer needed. (If I deployed 4000 Oracle servers with ASMlib and I have since upgraded 3900 of those servers but I still need it on 100 servers then I will keep it in my "standard architecture" and continue to use it on all 4000 servers). I almost never see any new systems using ASMlib, except the college kids playing around with Oracle for the first time and mistaking options for requirements.
I understand the last code change to ASMlib was 5 years ago. It just shows a new timestamp as it gets rebuilt on each new versions of Linux, but there's nothing new.
My previous reply points to the same article as your link, which, btw also states the advantages of ASMLib:
A good async IO interface for the database, the entire IO interface is based on an optimal ASYNC model for performance A single file descriptor per Oracle process, not one per device or datafile per process reducing # of open filehandles overhead. Device scanning and labeling built-in so you do not have to worry about messing with udev or devlabel, permissions or the likes which can be very complex and error prone.Do you consider the above irrelevant and obsolete?
I almost never see any new systems using ASMlib, except the college kids playing around with Oracle for the first time and mistaking options for requirements.Who said that ASMLib is a requirement? Saying that udev is for the pro and asmlib for the amateur to me sounds silly.
If I deployed 4000 Oracle servers with ASMlib and I have since upgraded 3900 of those servers...The size of an installation does not justify whether or not the decision about ASMLib was right or wrong.
I understand the last code change to ASMlib was 5 years ago.So what? Tells me the code is stable.
The reason I pointed out ASMlib has not been updated is you asked the question, "Can you then please explain why Oracle ASMLib exists for Linux only, and why Oracle does all the effort to support it?" I was simply showing your question has no basis, and that in fact Oracle is not exerting any effort to support it.
I also agree with you that the main selling points of ASMlib were overcoming the shortfalls of outdated versions of Linux, such as lackluster async I/O and device labeling. I posted the link to Oracle's own blog detailing this. However, my point is no currently available operating systems have these issues.
You turned around my statement regarding a large installation. I clearly used it as a reason for ASMlib, not a reason to avoid ASMlib as you stated.
I don't agree that ASMLib is for kids but I consider it as obsolete for RHEL6.
A good async IO interface for the database, the entire IO interface is based on an optimal ASYNC model for performance A single file descriptor per Oracle process, not one per device or datafile per process reducing # of open filehandles overhead. Device scanning and labeling built-in >so you do not have to worry about messing with udev or devlabel, permissions or the likes which can be very complex and error prone.ASMLib addressed deficiencies – including a lack of async and direct I/O — that existed in the 2.4 Linux kernel. Since the RHEL6′s kernel version is 2.6, the use of asmlib is no longer needed, in RHEL 6 is used UDEV and DirectIO instead. Using ASM without ASMLib provides the ability to use operating system's native I/O multipathing. ASMLib is not multipath aware and can silently choose to work through a single path, causing performance and reliability issues. ASMLib delivers no known performance benefits.
Edited by: ursusca on Feb 13, 2013 8:57 AM
Mexman wrote:MOS ID 1089399.1:
I'll install a Oracle Database 11gR2 with ASM on RHEL6 (standalone, not RAC).
Is ASMLIB supported by RHEL6?
For RHEL 6, Oracle will provide ASMLib software and updates only when configured withEdited by: ursusca on Feb 13, 2013 8:56 AM
a kernel distributed by Oracle. Oracle will not provide ASMLib packages for kernels
distributed by Red Hat as part of RHEL 6. ASMLib updates will be delivered via
Unbreakable Linux Network (ULN), which is available to customers with Oracle Linux
support. ULN works with both Oracle Linux or Red Hat Linux installations, but ASMLib
usage will require replacing any Red Hat kernel with a kernel provided by Oracle.