ablog

不器用で落着きのない技術者のメモ

Oracle Database の Direct NFS について

Direct NFS とは

Oracle Database 独自の NFS クライアント。11gR1 以降で使用できる。

Oracle Database 11g リリース2(11.2)では、オペレーティング・システムのカーネルNFSクライアントを使用するかわりに、Oracle内部のDirect NFSクライアントを使用してNFS V3サーバーに直接アクセスするようにOracle Databaseを構成できます。

クラスタ用Oracle Grid InfrastructureとOracle RACの記憶域の構成

Direct NFSは、Oracle社によって開発されたNFSクライアントであり、Oracle 11gに付属しています(2007年7月発表)。OracleのDirect NFSクライアントは、オペレーティングシステムに依存することなく、NFS要求をデータベースから直接発信します。
NetAppの創業者であるDave Hitzは、最近のブログへの投稿で、OracleNFSを使用した自社の経験に基づいて、NFS専用にコードを最適化したこと(英語)に触れています。これにより、数万台のLinuxサーバでアプリケーションを実行し、数ペタバイトものNetAppストレージにアクセスが可能になりました。NetAppはDirect NFSの開発に関してOracle社と緊密に連携し、技術的なアドバイスや機能およびパフォーマンステストのリソースを提供しました。

http://www.netapp.com/jp/communities/tech-ontap/tot-Oracle_P1-0710-ja.html

Direct NFS のメリット

  • Oracleでは動作するプラットフォームにかかわらず、同じNFSクライアントを使用できるため、パフォーマンスの安定性と予測可能性が高まります。
  • クライアントは複数のプラットフォームで利用されるため、バグの特定と修正を迅速に行うことができます。
  • WindowsでのOracleの運用に関し、初めての認定NFSクライアントとなることが確実視されています。
  • マウントオプションのチューニングが不要です。既存のクライアントでは、Oracleのパフォーマンスを最適化するために、特定のマウントオプションを必要とします。このオプションは、オペレーティングシステムごとに異なります。
  • 簡単な操作で、NFSワークロードを最大16のネットワークリンクに分散できます。これは、従来のNFSクライアントでは困難とされてきました。
http://www.netapp.com/jp/communities/tech-ontap/tot-Oracle_P1-0710-ja.html

It’s simpler because you don’t have to worry about how to configure NFS. What timeouts should you use? What caching options? It doesn’t matter. Oracle looks at how you have NFS configured to figure out where the data lives, but aside from that, your settings don’t matter. Oracle takes control.
It even works with Windows. Just mount the data that Oracle needs using a CIFS share, and Oracle figures out the location of the data and accesses it via NFS. (CIFS is great for home directory sharing, but it isn’t designed for database workloads.)
Performance is better because Oracle bypasses the operating system and generates exactly the requests it needs. Data is cached just once, in user space, which saves memory  no second copy in kernel space. Oracle also improves performance by load balancing across multiple network interfaces, if they are available.

http://blogs.netapp.com/dave/2007/08/oracle-optimize.html

The Oracle11g Direct NFS feature is another classic example Oracle implementing features that offer choices in the Enterprise data center. Storage technologies, such as Tiered and Clustered storage (e.g., NetApp OnTAP GX, HP Clustered Gateway), give customers choices yet Oracle is the only commercial database vendor that has done the heavy lifting to make their product work extremely well with NFS. With Direct NFS we get a single, unified connectivity model for both storage and networking and save the cost associated with Fibre Channel. With built-in multi-path I/O for both performance and availability, we have no worries about I/O bottlenecks. Moreover, Oracle Direct NFS supports running Oracle on Windows servers accessing databases stored in NAS devices even though Windows has no native support for NFS! Finally, simple, inexpensive storage connectivity and provisioning for all platforms that matter in the Grid Computing era!

Manly Men Only Deploy Oracle with Fibre Channel – Part VI. Introducing Oracle11g Direct NFS! | Kevin Closson's Blog: Platforms, Databases and Storage

Direct NFS の使用方法

  • 前提条件
  • 以下のいずれかのファイルからNFSマウント・ポイントを検索できること。
    • $ORACLE_HOME/dbs/oranfstab
    • /etc/oranfstab
    • /etc/mtab
      • /etc/fstab で設定すれば、自動的に /etc/mtab に設定される。
      • /etc/fstab にNFSマウントの設定をしていれば、他に設定しなくても Direct NFS を使用できる。
  • 標準のODMライブラリ libodm11.so をODM NFSライブラリ libnfsodm11.so に置き換える
$ cd $ORACLE_HOME/lib
$ mv libodm11.so libodm11.so_stub
$ ln -s libnfsodm11.so libodm11.so
$ sqlplus / as sysdba
SQL> shutdown immediate
SQL> startup

関連情報

  • Note 811306.1
  • Note 359515.1