Wednesday, September 23, 2009

Oracle 11g Release 2 - ADVM (ASM Dynamic Volume Manager)

One of the new features in Oracle 11g Release 2 is Automatic Storage Management Cluster File System. This file system provides concurrent access from multiple (clustered) nodes.

ACFS is provided through the Automatic Storage Management Dynamic Volume Manager. In order to have a file system, one needs a volume (be it physical or logical) to put it on. Oracle has developed a Dynamic Volume Manager (ADVM) that can provide these volumes from ASM Diskgroups. You can use ADVM to create volumes that are replicated within the ASM diskgroup mechanism – by means of normal or high redundancy. Multiple volumes can reside on one diskgroup. The ADVM provides a device driver interface to the ACFS client.

Due to the mirroring features of ASM, it is possible to have a mirrored file system (even across a stretched cluster, when your storage infrastructure allows for such an architecture) that will leverage the features of ASM to provide consistency over hardware failure and ASM instance crashes.

You can use the file systems provided through ADVM not only for database files, but also for regular files such as executables and log files. During creation of the file system you have the choice to designate the file system for Oracle Home functionality. By choosing this option, the file system is registered in the Cluster Registry as a managed resource, giving Oracle the opportunity to layer dependencies on this file system for the use of Oracle Homes.

Because of the fact that Oracle ADVM Volumes are technically spoken ASM files located on ASM Disk groups, and the fact that the Dynamic Volumes do not use the traditional device partitioning, it enables Oracle to extend some of the ASM features to the ASM Clustered File Systems, which are created inside these ADVM Volumes, such as dynamic resizing or dynamically adding volumes. This makes ADVM and ACFS a far more flexible solution than traditional physical devices.

Important Note: Oracle ADVM supports all storage solutions supported for Oracle ASM with the exception of NFS and Exadata storage. That will have to wait for some time still…

The above picture shows the User Interface, provided through the ASM Configuration Assistant (asmca), to create file systems inside ASM using the ADVM.


  1. Arnoud,
    this is great stuff! Thanks so much for this post. This is what I should be doing now.
    Although 11gR2 RDBMS is not yet certified on R12 EBS on OEL, I want to do grid on a 3-node RAC. I was awfully confused earlier, so thanks for clearing me up on how I will need to use ASMlib instead of OCFS2 for ASM files, but I was still going to use OCFS2 for OCR and Voting.
    Now, I believe I can use ACFS for the OCR and Voting.
    I need help at the infrastructure: I have some /dev/emcpowerNN out there from the storage admin, and where I have done fdisk in the past, that's about all I know. Can you tell me the details of how I can ask the storage admin to present the allocated LUNs to each of the servers, then I can run fdisk, and ASM will see these for OCR, VotingDisk, ASM DiskGroups and FRA?
    Once I have that, I can get ASMlib in place, then go on to the next step.
    As always, OraClever is my first place to go and check out the details of how to do this fun stuff from the beginning. It's always much better than going back and trying to fix it later :)
    Thanks again!!!

  2. Good to see you back, my dear friend! and thank you so much for your kind feedback!
    What I would do in your case is set up a storage plan for my Oracle Grid Infrastructure, i.e. the number of LUNs for my OCR, Voting, Data and FRA disks, and ask my storage admin whether he can provide me with those accordingly. If you were to get a single LUN presented, you could use fdisk and create partitions accordingly, but that would create partitions in LUNs, which I'd rather not do.
    Once you have the LUNs and have them presented to all your machines in your cluster, run fdisk on each of the LUN on each of the nodes in the cluster, to make sure that all of your nodes know the partitions. Next use ASMlib to make these LUNs "known" to ASM. Once you have acomplished this, you can continue installing Grid Infrastructure, and set up the OCR and Voting disks within ASM (see my other postings on the subject).
    HTH ;-)
    Keep in touch!

  3. we have 4 nodes.

    2 nodes are used for application and 2 nodes are used for 11gR2 RAC Instances with Oracle ASM.

    the generally, application file will not be store in database node. so there will not be a necessity to use ACFS on database node.

    I would like to store the application node files in Oracle ASM Cluster File System (ACFS).

    how to achieve this?

    I have to install oracle grid infrastructure (OGI) on application node also to mount ACFS space. yes/no?

    if no, how to mount ACFS on application node with out installing OGI?

    so how to achieve this?

  4. Hi Ramkumar,
    Thanks for stopping by and leaving a comment.
    If you want to store Application Node files in ACFS, you would typically need OGI on the application tier as well.
    You could export the file system to the application nodes via NFS, but I would not prefer a solution like that.


  5. Thanks Arnoud, it helped understand the role of ADVM.