Oracle Direct NFS (dNFS)

7 Kas by Ahmet Duruöz

Oracle Direct NFS (dNFS)

Oracle Direct NFS (dNFS), NAS depolama cihazlarında bulunan NFS depolama alanına daha hızlı ve daha ölçeklenebilir bir erişim sağlayan optimize edilmiş bir NFS istemcisidir.

Direct NFS veritabanı çekirdeğinin bir parçası olarak sağlanır ve böylece desteklenen tüm veritabanı platformlarında kullanılabilir. İşletim sisteminin NFS sürücüsünü bypass ederek , gereksinim duyduğu tüm istekleri kendisi sağlaması nedeniyle işletim sisteminin NFS sürücüsü tarafından sağlanandan daha hızlı performans sağlar.

Direct NFS etkinleştirilmesi :

Aşağıdaki komutlar ile dNFS etkinleştirilebilir.

cd $ORACLE_HOME/lib
mv libodm11.so libodm11.so_stub
ln -s libnfsodm11.so libodm11.so

11g R2 ile birlikte aşağıdaki gibi de etkinleştirilebiliriz.

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk dnfs_on

Direct NFS’i devre dışı bırakmak:

Aşağıdaki komutlar ile dNFS devre dışı bırakılabilir.

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk dnfs_off

Direct NFS , hangi mount dizinlerinin kullanılabilir olduğunu bulmak için , içeriği aşağıdaki gibi olan oranfstab isimli bir konfigürasyon dosyasını kullanır. Bu dosya /etc ya da $ORACLE_HOME/dbs dizinlerinde olabilir. Bu dosya yoksa , /etc/mtab dosyasındaki mount dizinlerine bakar.

oranstab:

server: NFSserver
local: 192.168.10.10 path: 192.168.10.163
local: 192.168.10.10 path: 192.168.10.164
export: /export/ORCL mount: /zfssa/ORCL

Bu dosyadaki ;

server ile isteğe bağlı bir isim (genelde nfs sunucusunun ismi),
local ile istemcinin nfs sunucusuna ulaştığı arayüzün ip’si ,
path ile nfs sunucusunun hizmet verdiği arayüzün ip’si ,
export ile nfs sunucusundaki paylaşımın yolu,
mount ile istemcinin lokaldeki yolu ,

belirtilir. Yukarıdaki gibi path’ler birden fazla olduğunda yük dengeleme yapacaktır. Path’ler , nfs sunucusunun hizmet verdiği arayüzler birden fazla ise , çoğaltılabilir. En fazla 4 adet path girilebilir.

İlgili dizin mount edildikten sonra , 12c öncesi versiyona sahip veritabanınızın Direct NFS kullanması için yeniden başlatılması gerekmektedir. 12c olan veritabanlarında varsayılan olarak dNFS kullanmaktadır. Yeniden başlattığınızda alert log dosyasında aşağıdaki satırları gördüğünüzde , veritabanınız artık dNFS kullanıyor demektir.

Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 4.0

Aktif kullanımı görmek için aşağıdaki sorguyu kullanabilirsiniz.

SQL> column ID format 99
SQL> column SVRNAME format a15
SQL> column DIRNAME format a15
SQL> select * from v$dnfs_servers;

 ID SVRNAME	    DIRNAME	       MNTPORT	  NFSPORT      WTMAX	  RTMAX
--- --------------- --------------- ---------- ---------- ---------- ----------
  1 192.168.10.155  /export/ORCL	 35047	     2049    1048576	1048576

Direct NFS ile ilgili kullanılabilecek görüntüler aşağıdaki gibidir.

v$dnfs_servers

Direct NFS kullanarak erişen sunucuları gösterir.

v$dnfs_channels

Direct NFS’in dosya sağladığı sunuculara açık ağ yollarını (veya kanallarını) gösterir

v$dnfs_files

Direct NFS ile anlık kullanımda olan dosyaları gösterir.

v$dnfs_stats

Direct NFS performans istatistikleri ile bilgileri gösterir.

İlgili nfs paylaşımını mount etmek için , mount edilecek bir dizin oluşturup, /etc/fstab dosyasında aşağıdaki gibi bir satır ekleyip , mount komutu ile mount edebilirsiniz.

192.168.10.163:/export/ORCL /zfssa/ORCL nfs rw,bg,hard,nointr,rsize=1048576,wsize=1048576,tcp,nfsvers=3,timeo=600,addr=192.168.10.163 0 0

 

mkdir /zfssa/ORCL
mount /zfssa/ORCL

 

Mount opsiyonları , işletim sistemlerine göre farklılık göstermektedir. İşletim sisteminizde hangi opsiyonlarla mount edilmesi gerektiğini aşağıdaki tablodan öğrenebilirsiniz. Tablodaki 32768 olan rsize ve wsize değeri için 1048576 kullanılması önerilmektedir.

 

 

Operating System

Mount options for Binaries

Mount options for Oracle Datafiles Mount options for CRS Voting Disk and OCR (12.1 and lower)
Sun Solaris *

rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,noac,

vers=3,suid

rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,noac,
forcedirectio, vers=3
rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,vers=3,
noac,forcedirectio
AIX (5L) **

rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,

vers=3,timeo=600

cio,rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,noac,
vers=3,timeo=600

cio,rw,bg,hard,intr,rsize=32768,
wsize=32768,tcp,noac,
vers=3,timeo=600

HPUX 11.23 ***  — rw,bg,vers=3,proto=tcp,noac,
hard,nointr,timeo=600,
rsize=32768,wsize=32768,suid
rw,bg,vers=3,proto=tcp,noac,
forcedirectio,hard,nointr,timeo=600,
rsize=32768,wsize=32768
rw,bg,vers=3,proto=tcp,noac,
forcedirectio,hard,nointr,timeo=600
,rsize=32768,wsize=32768
Windows
(Use dNFS if needed.
Refer to 
Document 1468114.1
Not Supported Not Supported Not Supported
Linux x86
#
****

rw,bg,hard,nointr,rsize=32768,
wsize=32768,tcp, vers=3,
timeo=600, actimeo=0

rw,bg,hard,nointr,rsize=32768,
wsize=32768,tcp,actimeo=0,
vers=3,timeo=600

rw,bg,hard,nointr,rsize=32768,
wsize=32768,tcp,noac,actimeo=0,
vers=3,timeo=600

Linux x86-64 #
****
rw,bg,hard,nointr,rsize=32768,
 wsize=32768,tcp,vers=3,
timeo=600, actimeo=0
rw,bg,hard,nointr,rsize=32768, 
wsize=32768,tcp,actimeo=0, 
vers=3,timeo=600
rw,bg,hard,nointr,rsize=32768, 
wsize=32768,tcp,noac,vers=3,
timeo=600,actimeo=0
Linux – Itanium rw,bg,hard,nointr,rsize=32768, 
wsize=32768,tcp,vers=3,
timeo=600, actimeo=0
rw,bg,hard,nointr,rsize=32768, 
wsize=32768,tcp,actimeo=0, 
vers=3,timeo=600
rw,bg,hard,nointr,rsize=32768, 
wsize=32768,tcp,noac,vers=3,
timeo=600,actimeo=0

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir