Πώς ενεργοποιούμε το Oracle Direct NFS για αυξημένο performance μεταξύ Oracle Database και NFS Shares

Πώς ενεργοποιούμε το Oracle Direct NFS για αυξημένο performance μεταξύ Oracle Database και NFS Shares
Πώς ενεργοποιούμε το Oracle Direct NFS για αυξημένο performance μεταξύ Oracle Database και NFS Shares

Σε αυτό το άρθρο θα δούμε πως ενεργοποιούμε το Direct NFS για την συνδεσιμότητα Oracle Database με NFS Servers. Όταν το ενεργοποιούμε η επικοινωνία μεταξύ της Oracle Database και NFS Servers γίνεται απευθείας, χωρίς να εμπλέκετε το kernel του λειτουργικού συστήματος, βελτιώνοντας την απόδοση σε επίπεδο I/O αλλά και των υπολοίπων resources (CPU, RAM). Υποστηρίζει parallel I/O, asynchronous I/O και πολλά security options.

Τις πληροφορίες για τα NFS Shares τις παίρνει από το /etc/fstab (mtab).

Τα βήματα

Φτιάχνουμε τους φακέλους με owner τον χρήστη oracle και τα παρακάτω δικαιώματα:

su root
mkdir -p /oracle/nfs
mkdir -p /oracle/oradata
mkdir -p /oracle/fra
chown -R oracle:oinstall /oracle/nfs
chown -R oracle:oinstall /oracle/oradata
chown -R oracle:oinstall /oracle/fra
chmod -R 775 /oracle/nfs
chmod -R 775 /oracle/oradata
chmod -R 775 /oracle/fra

Για να είμαστε σίγουροι ότι δεν θα μας κόβουν τα δικαιώματα προς τον NFS Server παμε στο αρχείο exports και προσθέτουμε μία εγγραφή για το κάθε NFS Share όπως παρακάτω:

vi /etc/exports
/oracle/nfs         *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/oracle/oradata         *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/oracle/fra         *(rw,sync,no_wdelay,insecure_locks,no_root_squash)

Έπειτα κάνουμε restart το NFS service:

chkconfig nfs on
service nfs restart

Προσθέτουμε στο αρχείο /etc/fstab μία εγγραφή για το κάθε NFS Share ώστε να γίνονται μόνοι τους mount με το που ξεκινήσει το κάθε μηχάνημα:

su root

vi /etc/fstab
win-nfs:/nfs /oracle/nfs  nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
win-nfs:/oradata /oracle/oradata  nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
win-nfs:/fra /oracle/fra  nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
Πώς ενεργοποιούμε το Oracle Direct NFS για αυξημένο performance μεταξύ Oracle Database και NFS Shares
01

Τώρα είμαστε έτοιμοι να τους κάνουμε mount:

mount /oracle/nfs
mount /oracle/oradata
mount /oracle/fra

Αν θέλουμε να δώσουμε συγκεκριμένα άλλα options (π.χ. Kerberos security option) πέρα από αυτα που έχει στο /etc/fstab τότε μπορούμε να δημιουργήσουμε το αρχείο $ORACLE_HOME/dbs/oranfstab το οποίο παρακάμπτει το /etc/fstab:

vi $ORACLE_HOME/dbs/oranfstab

Δηλώνουμε τον NFS Server με την IP του, το NFS protocol και τα NFS Shares:

server: win-nfs           # nfs server hostname
path: 172.25.94.95        # nfs server ip
nfs_version: nfsv3
export: /nfs mount: /oracle/nfs
export: /oradata mount: /oracle/oradata
export: /fra mount: /oracle/fra

Από την έκδοση Oracle Database 12c και έπειτα το Direct NFS ενεργοποιείται από default μόνο του. Αν δεν είναι ήδη ενεργοποιημένο και θέλουμε να το ενεργοποιήσουμε, τρέχουμε το παρακάτω:

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

Αντίστοιχα αν θέλουμε να το απενεργοποιήσουμε:

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

Πώς ελέγχουμε αν έχει ενεργοποιηθεί

Για να δούμε ότι έχει ενεργοποιηθεί όταν δημιουργήσουμε την βάση δεδομένων τρέχουμε το παρακάτω select, να δούμε αν θα φέρει εγγραφές:

select * from v$dnfs_servers;
Πώς ενεργοποιούμε το Oracle Direct NFS για αυξημένο performance μεταξύ Oracle Database και NFS Shares
02

Επίσης μπορούμε να δούμε τα αρχεία που το κάνουν χρήση το Direct NFS με το παρακάτω query:

select * from v$dnfs_files;
Πώς ενεργοποιούμε το Oracle Direct NFS για αυξημένο performance μεταξύ Oracle Database και NFS Shares
03

Ένας άλλος τρόπος για να δούμε αν έχει ενεργοποιηθεί το Direct NFS, είναι να δούμε το alert log της Oracle Database όταν ξεκινάει αν εμφανίζει το μήνυμα:

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

Αν όμως μας εμφανίσει το παρακάτω σφάλμα:

Direct NFS: please check that oradism is setuid

Θα πρέπει να αλλάξουμε τον owner σε root και τα δικαιώματα στο αρχείο oradism:

chown root:oinstall $ORACLE_HOME/bin/oradism

chmod 4750 $ORACLE_HOME/bin/oradism

Πηγές:

Μοιράσου το

Αφήστε μία απάντηση