linux Direct NFS配置介紹

winston_DBA發表於2015-03-24

1.Direct NFS概念介紹
首先了解LINUX下的NFS網路檔案系統,它是一種將遠端主機上的分割槽(目錄)經網路掛載到本地系統的一種機制,透過對網路檔案系統的支援,使用者可以在本地系統上像操作本地分割槽一樣來對遠端主機的共享分割槽(目錄)進行操作。在類unix系統之間共享資源,不需要安裝軟體。埠不固定,需要portmap(埠對映)提供RPC(遠端過程呼叫)一種協議;NFS向RPC註冊埠。
但是,ORACLE資料庫為了加快和遠端機器之間的傳輸速度,採用了自己的驅動,繞過了將資料傳給作業系統,然後由作業系統把資料透過網路寫到遠端機器上的過程,直接透過網路寫到遠端機器上。

2.配置方法:
(1)由於NFS在實現的過程中需要呼叫RPC協議,所以共享檔案之間的兩臺機器之間需要保證倆服務必須啟著:
server端服務:portmap服務和nfs服務
client端服務:nfs服務
(2)在伺服器端設定某目錄為共享,相當於windows平臺將資料夾設定為共享:
第一步:編輯/etc/exports 
檔案格式:
共享目錄名稱  客戶端地址(許可權,另一個許可權) 另一個客戶端地址(許可權,另一個許可權)
許可權可以為:
1.no_root_squash: 表示不對root 的身份進行轉換
2.all_squash:  所有使用者身份都轉化
3.all_squash,anonuid=500,anongid=500: 所有新生成檔案的所有者、所屬組都轉換成為500
4. root_squash       表示對root的身份進行轉換,轉換成nfsnobody
5. ro                 只讀
6..rw                 讀寫
7.anonuid 可以自行設定這個UID的值,這個UID必需要存在於你的/etc/passwd當中
8.anongid 同anonuid,但是變成groupID就是了 
9.sync 資料同步寫入到記憶體與硬碟當中 
10.async 資料會先暫存於記憶體當中,而非直接寫入硬碟 
11.insecure 允許從這臺機器過來的非授權訪問
常見的配置為:/u01/dnfs  192.168.1.3(rw,no_root_squash,insecure)
第二步:exportfs命令,使共享生效
命令語法;exportfs [-aruv] 
a 全部掛載(或解除安裝)/etc/exports檔案內的設定 
r 重新掛載/etc/exports 裡面的設定,也同步的更新/etc/exports和/var/lib/nfs/xtab裡面的內容 
u 解除安裝某一目錄 
v 在export的時候,將分享的目錄顯示到熒屏上
常見命令為:exportfs -rv
(3)在客戶端掛載服務端共享目錄並設定開機自動掛載
掛載共享目錄:mount 192.168.1.2:/u01/dnfs_server  /u01/dnfs_client
設定開機自動重啟:
編輯/etc/fstab檔案新增內容:
192.168.1.2:/u01/dnfs_server        /u01/dnfs_client      nfs    ro     0 0
(4)開啟ORACLE Direct NFS功能
由於ORACLE在預設情況下是不開啟Direct NFS功能,所以需要手工開啟,在11G中比10G的執行指令碼更加方便,需要進入$ORACLE_HOME/rdbms/lib目錄,執行指令:
make -f ins_rdbms.mk dnfs_on
(5)切換到oracle使用者,編輯oranfstab檔案,使ORACLE在使用Direct NFS時,可以找到對映關係。
su - oracle
vi $ORACLE_HOME/dbs/oranfstab
server:prod
path:192.168.255.129
export:/vol/oradata mount:/oracle/nfs
(6)重啟資料庫,使oranfstab檔案修改生效。
(7)在資料庫建立表空間,驗證配置是否成功:
建立表空間:
create tablespace nfs datafile '/u01/dnfs_client/test.dbf' size 10m;

驗證:
select * from v$dnfs_servers;

select * from v$dnfs_filess;
select * from v$dnfs_stats;
select * from v$dnfs_channels;
如果在上述檢視中查詢出結果,則說明ORACLE是用的Direct NFS功能,上述配置成功。

注意:
一定要在上述四個檢視中查詢出結果,才能說明Direct NFS配置成功,否則,即使在NFS server端出現test.dbf檔案,只能說明是透過LINUX層面的NFS功能來實現的!




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30167136/viewspace-1472120/,如需轉載,請註明出處,否則將追究法律責任。

相關文章